Retrieve Subscribers Using ListID

This page contains information about using the SOAP API to retrieve subscriber information based on the ListID object.

Why Retrieve Subscribers using ListID 

Using the Retrieve method to get subscriber information allows you to review information about those subscribers subscribed to a specific list. You can also use this information to further segment or target specific users with more meaningful information or offers.

How to Retrieve Subscribers using ListID 

Use the sample code below as a model to construct your own API calls.

Sample .NET Code 

1try
2        {
3            //Retrieve Subscriber
4            //Local variables
5            APIObject[] Results;
6            String requestID;
7            String status;
8            ListSubscriber listSub = new ListSubscriber();
9            int totalResults = 0;
10            // Instantiate the retrieve request
11            RetrieveRequest rr = new RetrieveRequest();
12            rr.ObjectType = "ListSubscriber";
13            // Setting up a simple listid filter
14            SimpleFilterPart sf = new SimpleFilterPart();
15            sf.SimpleOperator = SimpleOperators.equals;
16            sf.Property = "ListID";
17            sf.Value = new String[] { "1753489" };
18            //Add Filter and properties
19            rr.Filter = sf;
20            rr.Properties = new string[] { "SubscriberKey", "Status" };
21
22            do
23            {
24                //Retrieve Results
25                status = client.Retrieve(rr, out requestID, out Results);
26
27                //Display Results
28                for (int i = 0; i < Results.Length; i++)
29                {
30                    listSub = (ListSubscriber)Results[i];
31                    totalResults += 1;
32                    lblMessage.Text += "<br/>Subscriber Key: " + listSub.SubscriberKey + ", Status: " + listSub.Status;
33                }
34            }
35            while (status.Equals("MoreDataAvailable"));//This means there are more than 2500 records
36        }
37        catch (Exception ex)
38        {
39            lblMessage.Text += ex.Message;
40            lblMessage.Text += "<br/>";
41        }

Sample Java Code (Axis 1.4) 

1/**
2     * Return List of subscribers from given List ID
3     */
4    public void testGetSubscribersForList() {
5        try {
6            Soap stub = init();
7            String OBJECT_LIST_SUBSCRIBERS = "ListSubscriber";
8            java.util.List list = new ArrayList();
9            list.add("SubscriberKey");
10            list.add("ListID");
11            list.add("Status");
12            String listID = "12345";
13            RetrieveRequest retrieveRequest = new RetrieveRequest();
14
15            retrieveRequest.setObjectType(OBJECT_LIST_SUBSCRIBERS);
16            String[] stringArray = (String[]) list.toArray(new String[list.size()]);
17            retrieveRequest.setProperties(stringArray);
18            SimpleFilterPart filter = new SimpleFilterPart();
19            filter.setProperty("ListID");
20            filter.setSimpleOperator(SimpleOperators.equals);
21            java.util.List filterValues = new ArrayList();
22            filterValues.add(listID);
23            String[] filerValuesArray = (String[])filterValues.toArray(new String[filterValues.size()]);
24            filter.setValue(filerValuesArray);
25            retrieveRequest.setFilter(filter);
26            RetrieveRequestMsg retrieveRequestMsg = new RetrieveRequestMsg();
27            retrieveRequestMsg.setRetrieveRequest(retrieveRequest);
28            RetrieveResponseMsg retrieveResponseMsg = stub.retrieve(retrieveRequestMsg);
29            System.out.println("[overall status message] " + retrieveResponseMsg.getOverallStatus());
30            APIObject[] apiObjectList = retrieveResponseMsg.getResults();
31            for (APIObject dumpStepThrough : apiObjectList) {
32                ListSubscriber listSubscriber = (ListSubscriber) dumpStepThrough;
33                System.out.print("  [List ID ::: ] " + listSubscriber.getListID());
34                System.out.print("  [Subscriber Key ::: ] " + listSubscriber.getSubscriberKey());
35                System.out.println("  [Subscriber Status ::: ] " + listSubscriber.getStatus());
36            }
37        } catch (Exception e) {
38            e.printStackTrace();
39        }
40    }

Sample SOAP Envelope 

1<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2   <soapenv:header>
3      <wsse:security soapenv:mustunderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
4         <wsse:usernametoken wsu:id="UsernameToken-24440876" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
5            <wsse:username>XXXXX</wsse:username>
6            <wsse:password type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXX</wsse:password>
7         </wsse:usernametoken>
8      </wsse:security>
9   </soapenv:header>
10   <soapenv:body>
11      <retrieverequestmsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
12         <retrieverequest>
13            <objecttype>SubscriberList</objecttype>
14            <properties>ID</properties>
15            <properties>PartnerKey</properties>
16            <properties>CreatedDate</properties>
17            <properties>Client.ID</properties>
18            <properties>Status</properties>
19            <properties>List.ID</properties>
20            <properties>List.ListName</properties>
21            <properties>Subscriber.Status</properties>
22            <properties>Subscriber.CreatedDate</properties>
23            <properties>Subscriber.ID</properties>
24            <properties>Subscriber.EmailAddress</properties>
25            <properties>Subscriber.SubscriberKey</properties>
26            <filter xsi:type="par:ComplexFilterPart" xmlns:par="http://exacttarget.com/wsdl/partnerAPI">
27               <leftoperand xsi:type="par:SimpleFilterPart">
28                  <property>List.ID</property>
29                  <simpleoperator>equals</simpleoperator>
30                  <value>1718921</value>
31               </leftoperand>
32               <logicaloperator>AND</logicaloperator>
33               <rightoperand xsi:type="par:SimpleFilterPart">
34                  <property>CreatedDate</property>
35                  <simpleoperator>between</simpleoperator>
36                  <datevalue>2013-03-01T08:42:00</datevalue>
37                  <datevalue>2013-03-18T08:42:00</datevalue>
38               </rightoperand>
39            </filter>
40            <queryallaccounts>false</queryallaccounts>
41         </retrieverequest>
42      </retrieverequestmsg>
43   </soapenv:body>
44</soapenv:envelope>

Related Items 

Retrieve Method