Retrieve All Subscribers on a List

This page contains information about retrieving all subscribers on a list.

Why Retrieve All Subscribers on a List

You can use this call to get information on the subscribers on a list, including their subscription status.

How To Retrieve All Subscribers on a List

Use the sample code below as an example to build your own API calls.

Sample .NET Code

// Filter by ListID
SimpleFilterPart sfp = new SimpleFilterPart();
sfp.Property = "ListID";
sfp.SimpleOperator = SimpleOperators.equals;
sfp.Value = new string[] {"503" };
// Create the RetrieveRequest ListSubscriber objects
RetrieveRequest rr = new RetrieveRequest();
rr.ObjectType = "ListSubscriber";
rr.Properties = new string[] { "ListID", "SubscriberKey", "Status" };
rr.Filter = sfp;
string status = integrationFramework.Retrieve(rr, out requestID, out results);
// Iterate over the results
Console.WriteLine("List Subscriber Details:\tList ID\tSubscriberKey\tStatus");
for (int i = 0; i < results.Length; i++)
{
       ListSubscriber ls = (ListSubscriber)results[i];
       Console.WriteLine("List Subscriber Details:\t{0}\t{1}\t{2}", ls.ListID, ls.SubscriberKey, ls.Status);
}

Output

List Subscriber Details:      List ID   SubscriberKey         Status
List Subscriber Details:      503       test1@example.com     Active
List Subscriber Details:      503       test2@example.com     Active
List Subscriber Details:      503       hello@example.com     Active
List Subscriber Details:      503       hello22@example.com   Unsubscribed

Sample PHP Code

<?php
    echo '<pre>';
$path = $_SERVER[DOCUMENT_ROOT].'/00 Includes/';
require($path . 'exacttarget_soap_client.php');
$wsdl = 'https://YOUR_SUBDOMAIN.soap.marketingcloudapis.com/etframework.wsdl';
try{
/* Create the Soap Client */
$client = new Marketing CloudSoapClient($wsdl, array('trace'=>1));
/* Set username and password here */
$client->username = 'XXXXX';
$client->password = 'XXXXX';
$rr = new Marketing Cloud_RetrieveRequest();
$rr->ObjectType = 'ListSubscriber';
//Set the properties to return
$props = array("ListID", "SubscriberKey", "Status");
$rr->Properties = $props;
//Setup account filtering, to look for a given account MID
$filterPart = new Marketing Cloud_SimpleFilterPart();
$filterPart->Property = 'ListID';
$values = array('12345');
$filterPart->Value = $values;
$filterPart->SimpleOperator = Marketing Cloud_SimpleOperators::equals;
//Encode the SOAP package
$filterPart = new SoapVar($filterPart, SOAP_ENC_OBJECT,'SimpleFilterPart', "http://exacttarget.com/wsdl/partnerAPI");
//Set the filter to NULL to return all MIDs, otherwise set to filter object
//$rr->Filter = NULL;
$rr->Filter = $filterPart;
//Setup and execute request
$rrm = new Marketing Cloud_RetrieveRequestMsg();
$rrm->RetrieveRequest = $rr;
$results = $client->Retrieve($rrm);
    print_r($results);
} catch (SoapFault $e) {
    /* output the resulting SoapFault upon an error */
    var_dump($e);
}
    echo '</pre>';
?>

Sample SOAP Envelope

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <Header>
      <fueloauth>YOUR_ACCESS_TOKEN</fueloauth>
   </Header>
   <Body>
      <RetrieveRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
         <RetrieveRequest>
            <ObjectType>ListSubscriber</ObjectType>
            <Properties>ObjectID</Properties>
            <Properties>SubscriberKey</Properties>
            <Properties>CreatedDate</Properties>
            <Properties>ModifiedDate</Properties>
            <Properties>Client.ID</Properties>
            <Properties>Client.PartnerClientKey</Properties>
            <Properties>ListID</Properties>
            <Properties>Status</Properties>
            <Filter xmlns:ns1="http://exacttarget.com/wsdl/partnerAPI" xsi:type="ns1:SimpleFilterPart">
               <Property>ListID</Property>
               <SimpleOperator>equals</SimpleOperator>
               <Value>503</Value>
            </Filter>
         </RetrieveRequest>
      </RetrieveRequestMsg>
   </Body>
</Envelope>