- List all contacts
You can fetch a list of all contacts (ie. users or leads) in your workspace.
Contacts that have been merged (via POST /contacts/merge) will not appear in list results. Only the target contact from the merge remains accessible.
You can use pagination to limit the number of results returned. The default is 10 results per page, with a maximum of 150. See the pagination section for more details on how to use the starting_after param.
Requires the read_users_companies or read_write_users OAuth scope.
The number of results per page. Defaults to 10, with a maximum of 150; larger values are treated as 150. Only the leading digits are read, so 1.5 is treated as 1. A value that doesn't start with a positive integer, such as 0 or abc, returns a 400 error with code invalid_per_page.
Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.
- The production API serverhttps://api.intercom.io/contacts
- The european API serverhttps://api.eu.intercom.io/contacts
- The australian API serverhttps://api.au.intercom.io/contacts
curl -i -X GET \
'https://api.intercom.io/contacts?include_merge_history=false&escape_identity=true&per_page=10&starting_after=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: 2.17'successful
The list of contact objects
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.
{ "type": "list", "data": [], "total_count": 0, "pages": { "type": "pages", "page": 1, "per_page": 10, "total_pages": 0 } }