Skip to content

Scroll over all companies

Request

The list all companies functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset.

  • Each app can only have 1 scroll open at a time. You'll get an error message if you try to have more than one open per app.
  • If the scroll isn't used for 1 minute, it expires and calls with that scroll param will fail
  • If the end of the scroll is reached, "companies" will be empty and the scroll parameter will expire
Scroll Parameter

You can get the first page of companies by simply sending a GET request to the scroll endpoint. For subsequent requests you will need to use the scroll parameter from the response.

Scroll network timeouts

Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: "Request failed due to an internal network error. Please restart the scroll operation." If this happens, you will need to restart your scroll query: It is not possible to continue from a specific point when using scroll.

Security
bearerAuth
Query
scroll_paramstring
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/companies/scroll?scroll_param=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.9'

Responses

Successful

Bodyapplication/json
typestring

The type of object - list

Value:"list"
Example:"list"
dataArray of objects(Company)
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.

total_countinteger or null

The total number of companies

Example:100
scroll_paramstring

The scroll parameter to use in the next request to fetch the next page of results.

Example:"25b649f7-4d33-4ef6-88f5-60e5b8244309"
Response
{ "type": "list", "data": [ {} ], "pages": null, "total_count": null, "scroll_param": "759035f4-de24-45cf-9f63-9aa86aba1248" }