LeadSquared Developer Centre

ON THIS PAGE

Get Leads in a List

This downloads our complete API collection, including all endpoints—not just this specific endpoint.
Run in Postman

Retrieves leads in a specified list. Returns either specified lead fields or all lead fields.

Note: Can retrieve large lists using paging to iterate over all leads in a list.

 

API URL

URL
Icon
POST https://{host}/v2/LeadManagement.svc/Leads/Retrieve/BySearchParameter?accessKey=AccessKey&secretKey=SecretKey

Request

Content-Type: application/json
JSON Body/Payload Icon
{
    "SearchParameters": {
        "ListId": "42e2bc7f-7b96-11e9-ae3d-020714094d7e",
        "RetrieveBehaviour": "0"
    },
    "Columns": {
        "Include_CSV": "ProspectAutoId,EmailAddress,Score"
    },
    "Sorting": {
        "ColumnName": "CreatedOn",
        "Direction": "1"
    },
    "Paging": {
        "PageIndex": 1,
        "PageSize": 100
    }
}

Request Parameters

Parameter Description
SearchParameters

Pass the list Id here.

To retrieve the list Id, refer to Get All Lists and Get a List by Lead Id.

You can also get the List Id from the List Details page.

You also have the option to specify the RetrieveBehavior as ‘0’, ‘1’, or ‘2’.

  • 0: Skips any new lead count calculation in the list that hasn’t been synced, resulting in faster results and avoiding timeouts. This is ideal for users whose lists aren’t frequently modified.
  • 1: Updates the lead count and retrieves it in the API response, but doesn’t update the database.
  • 2: Updates the lead count and retrieves it in the API response, and also updates the database.

If RetrieveBehavior is not passed, the default value will be assumed as ‘1’.

Columns

In the Include_CSV, add the lead fields you want to retrieve in the response.

Sorting

Pass the ColumnName by which you want to sort the results.

For direction, passing ‘1’ will sort the data by the most recent first. Passing ‘0’ will sort the data by the oldest first.

Paging
The results matching your criteria may be large. You can fetch the result in blocks of “PageSize” and make multiple calls to the API with increasing values of “PageIndex”.  For example, you can specify “PageIndex”: 1, “PageSize”: 100 for the first call and specify “PageIndex”: 2, “PageSize”: 100 for second call.

Response

200 OK
Content-Type: application/json
{
   "RecordCount":2,
   "Leads":[
      {
         "LeadPropertyList":[
            {
               "Attribute":"ProspectAutoId",
               "Value":"1112",
               "Fields":null
            },
            {
               "Attribute":"EmailAddress",
               "Value":"jeff.smith@corporatio.com",
               "Fields":null
            },
            {
               "Attribute":"Score",
               "Value":"0",
               "Fields":null
            },
            {
               "Attribute":"CanUpdate",
               "Value":"true",
               "Fields":null
            }
         ]
      },
      {
         "LeadPropertyList":[
            {
               "Attribute":"ProspectAutoId",
               "Value":"1113",
               "Fields":null
            },
            {
               "Attribute":"EmailAddress",
               "Value":"sally.smith@corporation.com",
               "Fields":null
            },
            {
               "Attribute":"Score",
               "Value":"0",
               "Fields":null
            },
            {
               "Attribute":"CanUpdate",
               "Value":"true",
               "Fields":null
            }
         ]
      }
   ]
}

HTTP Response Codes

Code Description
200 OK

This is the status code for successful API call.

401 Unauthorized

The API call was made with invalid access credentials. Check your AccessKey and SecretKey.

400 Bad Request

The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure.

404 Not Found

The API could not be found. Please check the API signature.

429 Too Many Requests

API calls exceeded the limit of 25 in 5 second(s)

500 Internal Server Error

The API called failed. There could be many reasons for it. Check the exception message to get more details.

On this page

© 2024 by MarketXpander Services Pvt Ltd. All Rights Reserved.