Skip to Content
Search Person API

Search for leads

This endpoint allows you to perform a precise search against our extensive up-to-date database of contacts and build leads lists.

We offer more than 20 filters that can be used to craft your perfect leads list.

This endpoint does not returns the email and mobile of the persons.

To enrich email and mobile from this endpoint, you can:

  • submit a person_id you get from the search result to our Enrich Person endpoint.
  • submit all of the person_id you get from the search result to our Bulk Enrich Person endpoint. Click here for more info about this process

In order to keep Prospeo’s infrastructure efficient, the maximum amount of results you can pull using this API is 25,000 (1000 pages of 25 results).

How are credits spent?

  • 1 credit is spent per search request that returns at least one person.
  • There are 25 results per page, hence 1 credit is spent for a maximum of 25 results.

Endpoint

Parameters

ParameterExample valueDescription
filters
required
trueThe complete filter configuration you want to use. See the filter section below for all details.
page
optional
trueThe page you want to query for your search. Always defaults to 1 if no page is used.

The easiest way to get started is to use our dashboard helper.

Step 1

Head to our dashboard and build a search with various filters.

Step 2

Click on the ... in the top-right corner of the search results, and click on API JSON.

Step 3

A modal will open with the current search payload you built. By using this tool, you can understand what filters does what, and how it is represented through the API.

Step 4

You can copy the payload and directly re-use it in your request. Here is the example of a request for quick understanding:

curl --location 'https://api.prospeo.io/search-person' \ --header 'X-KEY: your_api_key' \ --header 'Content-Type: application/json' \ --data '{ "page": 1, "filters": { "company_industry": { "exclude": [ "Semiconductors", "Pet Services" ] }, "person_seniority": { "include": [ "Founder/Owner" ] }, "person_year_of_experience": { "min": 10, "max": 50 } } }'

Example of a failed request:

{ "error": true, "error_code": "INVALID_FILTERS", "filter_error": "The value `Accountingg` is not supported for the filter `company_industry`." }

The response will contain the results.

Each result will contain:

  • a person object (see the Person object page for the complete schema)
  • if that person has a current job, its corresponding company data (see the Company object page for the complete schema)

The mobile and email property fo the person wont be present in the response. Use our Enrich person endpoint to reveal/access those. Click here for more info about this process

{ "error": false, "results": [ { "person": ... "company": ... }, { "person": ... "company": ... }, { "person": ... "company": ... }, ... up to 25 per page ], "pagination": { "current_page": 1, "per_page": 25, "total_page": 11, "total_count": 271 } }

Final note:

Paginate the results

You can use the page parameter to go paginate the complete result set. The maximum pages is always 1000 when using our API. Use the pagination in response to see how many pages exists.

Response details

PropertyTypeDescription
errorbooleanIndicates if an error has occurred. If false, the request was successful. If true, an error has occurred and a error_code property will be present. See below.
resultslistContains the current page of results. Up to 25 records per page.
paginationobjectContains the information about the pagination. Use it to know if you can turn to the next page.

Error codes

HTTP codeerror_code propertyMeaning
400INVALID_FILTERSThe filter configuration you used is not supported. See the filter_error property for more details.
400NO_RESULTSThere was no results matching your filters.
400INSUFFICIENT_CREDITSYou do not have enough credit to perform the request.
401INVALID_API_KEYInvalid API key, check your X-KEY header.
429RATE_LIMITEDYou hit the rate limit for your current plan.
400INVALID_REQUESTThe request your submitted is invalid.
400INTERNAL_ERRORAn error occurred on our side, please contact the support.

Filters

In order to understand how to use our filters, please refer to our dashboard UI as described here - it is very easy and intuitive.

Using the UI payload builder, you will be able to see what are the types and limits of each filters.

Keep in mind that it is not allowed to perform a search solely with exclude filters for performance reasons.

Search from a list of company websites or names

There is no option in the UI builder to search using a list of company websites or names. This API still allows you to perform searches using those elements.

The maximum size is 500 websites or names at once.

{ "page": 1, "filters": { "company": { "websites": { "include": [ "deloitte.com", "https://facebook.com/" ] }, "names": { "include": [ "Walmart", "Microsoft" ] } } } }

ENUM filter values

Many filters are linked to an ENUM, which means that we accept a set list of values.

Below is the list of all the values allowed per filter:

Location filter values

As it can be seen on the dashboard, the company_location and the person_location both takes strings as values.

In order to ensure accuracy, the location strings you submit must match exactly the one you can pull from the dashboard.

We do not accept arbitrary location string such as “nyc”.

Simply build a list of location by inserting them on the filter on the dashboard, look at the generated payload, and re-use those values.

If this behavior is problematic for your workflow, reach out to us.

Rate limit

See our rate limits page.

Last updated on