Skip to content

List all contacts

Request

You can fetch a list of all contacts (ie. users or leads) in your workspace.

Merged contacts

Contacts that have been merged (via POST /contacts/merge) will not appear in list results. Only the target contact from the merge remains accessible.

Pagination

You can use pagination to limit the number of results returned. The default is 50 results per page. See the pagination section for more details on how to use the starting_after param.

Security
bearerAuth
Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default:"2.9"
Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.9
curl -i -X GET \
  https://api.intercom.io/contacts \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.9'

Responses

successful

Bodyapplication/json
typestring

Always list

Value:"list"
Example:"list"
dataArray of objects(Contact)

The list of contact objects

total_countinteger

A count of the total number of objects.

Example:100
pagesobject or null(Cursor based pages)

Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.

Response
{ "type": "list", "data": [], "total_count": 0, "pages": { "type": "pages", "page": 1, "per_page": 10, "total_pages": 0 } }