Skip to main content
The Person Search API is perfect for finding specific segments of people that you need to power your projects and products. It gives you direct access to our full Person Dataset and provides many degrees of freedom, which allow you to find any kind of person(s) with a single query.

Endpoint

The endpoint for the Person Search API is https://api.peopledatalabs.com/v5/person/search.

Person Search API Access and Billing

We charge per record retrieved. Each person record in the data array of the response counts as a single credit against your total package.

Requests

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 - Person Search APIYou 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": {"job_company_name": "people data labs"}}}
sqlAn SQL query of the format: SELECT * FROM person WHERE XXX, where XXX is a standard SQL boolean query involving our person fields. We will ignore any use of column selections or the LIMIT keyword.SELECT * FROM person WHERE job_company_name='people data labs'
sizeThe batch size or the maximum number of matched records to return for this query if they exist, which must be between 1 and 100.1100
fromThe from field is not recommended for use and will not be supported long term. Use the scroll_token field instead**An offset value for paginating between batches, which can be a number between0 and 9999. You can 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 parameter, you can use this parameter for any number of records. Each Person Search API response returns a scroll_token, which you can use to fetch the next size records.None104$14.278746
datasetSpecifies which dataset the API should search against. You can input multiple datasets by separating them with a comma. Valid names are resume, email, phone, mobile_phone, street_address, consumer_social, developer and all. You can also exclude datasets by using - as the first character.resumeall
titlecaseAll text in the data of API responses returns as lowercase by default. Setting titlecase to true will titlecase any records returned.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

The API will return an HTTP response code of 200 for any valid request, regardless of whether it found records for your query or not. For that reason, pay close attention to the total value in your response object to understand query success. Each person record in the data array of the response counts as a single credit against your total package. The responses in the output are sorted by profile completeness.

Response Fields

For more details, see Output Response - Person Search APIYou can also click the field names in the table below to view more information on them.

Response Data Structure

The response from the Person Search API will be in this format:
JSON
See Example Person Record for a full example of the fields included in the data object.

Errors

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

Elasticsearch Field Mapping

See Elasticsearch Mapping.

All Data Field Descriptions

See the Person Schema.