---
schema_version: "1"
id: 22aba4b54ef4849d05d865d0c638e1ff87cf19eaab524799067424f266eead7b
title: Retrieve Subscribers Using ListID
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/guides/mc-apis/retrieving_subscribers_using_listid.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieving_subscribers_using_listid.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: f0aa7bb3e2432194bc808c1f19f724999637b7c94110b1bc3038132ad4962449
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
# 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

```
try
        {
            //Retrieve Subscriber
            //Local variables
            APIObject[] Results;
            String requestID;
            String status;
            ListSubscriber listSub = new ListSubscriber();
            int totalResults = 0;
            // Instantiate the retrieve request
            RetrieveRequest rr = new RetrieveRequest();
            rr.ObjectType = "ListSubscriber";
            // Setting up a simple listid filter
            SimpleFilterPart sf = new SimpleFilterPart();
            sf.SimpleOperator = SimpleOperators.equals;
            sf.Property = "ListID";
            sf.Value = new String[] { "1753489" };
            //Add Filter and properties
            rr.Filter = sf;
            rr.Properties = new string[] { "SubscriberKey", "Status" };

            do
            {
                //Retrieve Results
                status = client.Retrieve(rr, out requestID, out Results);

                //Display Results
                for (int i = 0; i < Results.Length; i++)
                {
                    listSub = (ListSubscriber)Results[i];
                    totalResults += 1;
                    lblMessage.Text += "<br/>Subscriber Key: " + listSub.SubscriberKey + ", Status: " + listSub.Status;
                }
            }
            while (status.Equals("MoreDataAvailable"));//This means there are more than 2500 records
        }
        catch (Exception ex)
        {
            lblMessage.Text += ex.Message;
            lblMessage.Text += "<br/>";
        }
```

### Sample Java Code (Axis 1.4)

```
/**
     * Return List of subscribers from given List ID
     */
    public void testGetSubscribersForList() {
        try {
            Soap stub = init();
            String OBJECT_LIST_SUBSCRIBERS = "ListSubscriber";
            java.util.List list = new ArrayList();
            list.add("SubscriberKey");
            list.add("ListID");
            list.add("Status");
            String listID = "12345";
            RetrieveRequest retrieveRequest = new RetrieveRequest();

            retrieveRequest.setObjectType(OBJECT_LIST_SUBSCRIBERS);
            String[] stringArray = (String[]) list.toArray(new String[list.size()]);
            retrieveRequest.setProperties(stringArray);
            SimpleFilterPart filter = new SimpleFilterPart();
            filter.setProperty("ListID");
            filter.setSimpleOperator(SimpleOperators.equals);
            java.util.List filterValues = new ArrayList();
            filterValues.add(listID);
            String[] filerValuesArray = (String[])filterValues.toArray(new String[filterValues.size()]);
            filter.setValue(filerValuesArray);
            retrieveRequest.setFilter(filter);
            RetrieveRequestMsg retrieveRequestMsg = new RetrieveRequestMsg();
            retrieveRequestMsg.setRetrieveRequest(retrieveRequest);
            RetrieveResponseMsg retrieveResponseMsg = stub.retrieve(retrieveRequestMsg);
            System.out.println("[overall status message] " + retrieveResponseMsg.getOverallStatus());
            APIObject[] apiObjectList = retrieveResponseMsg.getResults();
            for (APIObject dumpStepThrough : apiObjectList) {
                ListSubscriber listSubscriber = (ListSubscriber) dumpStepThrough;
                System.out.print("  [List ID ::: ] " + listSubscriber.getListID());
                System.out.print("  [Subscriber Key ::: ] " + listSubscriber.getSubscriberKey());
                System.out.println("  [Subscriber Status ::: ] " + listSubscriber.getStatus());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
```

## Sample SOAP Envelope

```
<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">
   <soapenv:header>
      <wsse:security soapenv:mustunderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:usernametoken wsu:id="UsernameToken-24440876" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:username>XXXXX</wsse:username>
            <wsse:password type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXX</wsse:password>
         </wsse:usernametoken>
      </wsse:security>
   </soapenv:header>
   <soapenv:body>
      <retrieverequestmsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
         <retrieverequest>
            <objecttype>SubscriberList</objecttype>
            <properties>ID</properties>
            <properties>PartnerKey</properties>
            <properties>CreatedDate</properties>
            <properties>Client.ID</properties>
            <properties>Status</properties>
            <properties>List.ID</properties>
            <properties>List.ListName</properties>
            <properties>Subscriber.Status</properties>
            <properties>Subscriber.CreatedDate</properties>
            <properties>Subscriber.ID</properties>
            <properties>Subscriber.EmailAddress</properties>
            <properties>Subscriber.SubscriberKey</properties>
            <filter xsi:type="par:ComplexFilterPart" xmlns:par="http://exacttarget.com/wsdl/partnerAPI">
               <leftoperand xsi:type="par:SimpleFilterPart">
                  <property>List.ID</property>
                  <simpleoperator>equals</simpleoperator>
                  <value>1718921</value>
               </leftoperand>
               <logicaloperator>AND</logicaloperator>
               <rightoperand xsi:type="par:SimpleFilterPart">
                  <property>CreatedDate</property>
                  <simpleoperator>between</simpleoperator>
                  <datevalue>2013-03-01T08:42:00</datevalue>
                  <datevalue>2013-03-18T08:42:00</datevalue>
               </rightoperand>
            </filter>
            <queryallaccounts>false</queryallaccounts>
         </retrieverequest>
      </retrieverequestmsg>
   </soapenv:body>
</soapenv:envelope>
```

## Related Items

[Retrieve Method](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieve.md)
