Reference - Company Search API

Reference information for the Company Search API

The Company Search API is perfect for finding specific segments of companies that you need to power your projects and products. It gives you direct access to our full Company Dataset. There are many degrees of freedom, which allow you to find any kind of company with a single query.


The endpoint for the Company Search API is

Company Search API Access and Billing

We charge per record retrieved. Each company record in the data array in the response counts as one credit against your total package.


See Authentication and Requests to learn how to input requests. We recommend using a JSON object to capture request parameters and will do so in the examples.

Rate Limiting

The current default rate limit is 10 requests per minute.

Input Parameters


For More Details, See Input Parameters - Company Search API

You can also click on the individual parameter names in the table below to view more information on them.

Parameter NameDescriptionDefaultExample
queryAn Elasticsearch (v7.7) query. See our underlying Elasticsearch mapping for reference.{"query": {"term": {"name": "people data labs"}}}
sqlAn SQL query of the format: SELECT * FROM company WHERE XXX, where XXX is a standard SQL boolean query involving our company fields. We will ignore any use of column selections or the LIMIT keyword.SELECT * FROM company WHERE name='people data labs'
sizeThe batch size or the maximum number of matched records to return for this query if they exist. Must be between 1 and 100.1100
from[LEGACY] An offset value for paginating between batches, which can be a number between 0 and 9999. We will execute pagination for a maximum of 10,000 records per query. NOTE: YOU CANNOT USE FROM WITH SCROLL_TOKEN IN THE SAME REQUEST.00, 100, 200 ...
scroll_tokenAn offset key for paginating between batches. Unlike the legacy from, you can use this parameter for any number of records. Each Company Search API response returns a scroll_token, which you can use to fetch the next size records.None104$14.278746
titlecaseAll text in API responses returns as lowercase by default. Setting titlecase to true will titlecase the person data in 200 responses.falsetrue
prettyWhether the output should have human-readable indentation.falsetrue
api_keyYour secret API key (Note: you can also provide this in the request header instead, as shown on the Authentication page).

Output Response

We will return an HTTP response code of 200 for any valid request, regardless of whether records were found for your query or not. For that reason, pay close attention to the total value in your response object to understand query success. Each company record in the data array of the response counts as a single credit against your total package.

Response Fields


For More Details, See Output Response - Company Search API

You can also click the field names in the table below to view more information as well.

statusThe response code. See a description of our error codes.Integer
dataThe company response objects that match the input query (see the example company record.Array (Object)
totalThe number of records matching a given query or sql input.Integer
scroll_tokenThe scroll value, which you can use for further pagination.String

Response Data Structure

The response from the Company Search API will be in this format:

    "status": 200,
    "data": [
          "id": "tnHcNHbCv8MKeLh92946LAkX6PKg",
          "name": "people data labs",
    "total": 6,
    "scroll_token": "13.312621$543927"

See Example Company Record for a full example of the fields included in the data object.


If the request encounters an error, it will instead return an Error Response in the format described in Errors.

Full Field Mapping

See Elasticsearch Mapping.

All Data Field Descriptions

See Company Schema.