search_person
Search Prospeo’s database of professionals using structured filters. Returns up to 25 results per page, paginated across up to 1,000 pages.
Credits: 1 credit per page of results
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filters | object | required | Structured search filters. At least one positive (include) filter is required. See Filter Reference. |
page | integer | optional | Page number 1-1000. Default: 1 |
Person filter keys
| Key | Shape | Description |
|---|---|---|
person_name | include/exclude | Filter by full name. Max 500 items per array. |
person_name_or_job_title | string | Free-text search across both name and job title fields. |
person_job_title | object | include, exclude arrays + match_only_exact_job_titles (boolean) and boolean_search (e.g. "CTO OR (VP AND Engineering)"). |
person_department | include/exclude | Functional department, e.g. "Engineering & Technical", "Sales", "Marketing". |
person_seniority | include/exclude | Seniority level: "Founder/Owner", "C-Suite", "Partner", "Vice President", "Head", "Director", "Manager", "Senior", "Entry", "Intern". |
person_location_search | include/exclude | City, region, or country, e.g. "New York, United States". |
person_contact_details | object | email (string[]), mobile (string[]), operator ("OR"/"AND"), hide_people_with_details_already_revealed (boolean). |
person_year_of_experience | range | Total years of experience. min/max, range 0-60. |
person_time_in_current_role | range | Months in current job title. min/max, range 0-600. |
person_time_in_current_company | range | Months at current company. min/max, range 0-600. |
person_job_change | object | timeframe_days, only_promotion, only_new_company. |
max_person_per_company | integer | Cap results per company. Range 1-100. |
Company filters (company_industry, company_headcount_range, company_technology, etc.) are also available in search_person to scope results by employer. See the full list in Filter Reference.
Example
{
"filters": {
"person_job_title": {
"include": ["CTO", "VP of Engineering"]
},
"person_location_search": {
"include": ["United States"]
},
"company_headcount_range": ["51-100", "101-200"],
"company_industry": {
"include": ["Software Development"]
}
},
"page": 1
}Response
Search results return each person and company. The search call itself costs 1 credit per results page (see Credits). email and mobile come back as obfuscated previews (revealed: false, address/number masked) — but the status field is still populated, so you can tell whether a verified email or mobile exists. Revealing the actual value is a separate billing event: pass the person_id to enrich_person only for records worth enriching, to avoid burning per-reveal credits on records whose status is already UNVERIFIED. Use enrich_company with the returned company_id to pull the full company profile (tech stack, descriptions, job postings, etc.).
{
"success": true,
"data": {
"results": [
{
"person": {
"person_id": "...",
"first_name": "...",
"last_name": "...",
"full_name": "...",
"current_job_title": "...",
"current_job_key": "...",
"headline": "...",
"linkedin_url": "...",
"last_job_change_detected_at": null,
"email": {
"status": "VERIFIED",
"revealed": false,
"email": "jane.*****@acme.com"
},
"mobile": {
"status": "VERIFIED",
"revealed": false,
"mobile": "+1 415-3**-****",
"mobile_country": "United States",
"mobile_country_code": "US"
},
"location": { "city": "...", "country": "...", "state": "..." }
},
"company": {
"company_id": "...",
"name": "...",
"website": "...",
"domain": "...",
"industry": "...",
"employee_count": 150,
"employee_range": "101-200",
"revenue_range_printed": "10M",
"founded": 2015,
"location": { "city": "...", "country": "..." },
"linkedin_url": "..."
}
}
],
"pagination": {
"current_page": 1,
"per_page": 25,
"total_page": 40,
"total_count": 987
}
}
}