People Search Prospeo API
Prospect Prospeo's contact database by job title, department, seniority, experience, location and any company firmographic. One flat price per page of 25.
- Category enrichmentRequests / mo 3Routing 1 lane · no failover
Pricing
One price, in dollars
pay per request · no subscription · fallbacks added as the catalog growsCall it
Make your first request
POST /v1/run/people_search.prospeo · same shape for every APIimport os, requests res = requests.post( "https://api.getanyapi.com/v1/run/people_search.prospeo", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={}, ) print(res.json())
{
"data": {
"currentPage": 29,
"people": [
{
"company": {
"attributes": {
"hasDemo": true,
"hasDownloadable": true,
"hasFreeTrial": true,
"hasMobileApps": true,
"hasOnlineReviews": true,
"hasPricing": true,
"isB2b": true
},
"companyId": "Acme Inc",
"crunchbaseUrl": "https://example.com/page",
"description": "A short example description of this item.",
"descriptionAi": "A short example description of this item.",
"descriptionSeo": "A short example description of this item.",
"domain": "example.com",
"emailTech": {
"domain": "example.com",
"mxProvider": "a1b2c3d4"
},
"employeeCount": 12500,
"employeeCountOnProspeo": 12500,
"employeeRange": "example",
"facebookUrl": "https://example.com/page",
"founded": 42,
"funding": {
"events": [
null
],
"latestStage": "example",
"latestUtc": 12.5,
"rounds": 42,
"totalRaised": 12500,
"totalRaisedPrinted": "example"
},
"image": "https://example.com/image.jpg",
"industry": "general",
"instagramUrl": "https://example.com/page",
"jobPostings": {
"activeCount": 12500,
"activeTitles": [
null
]
},
"keywords": [
"a1b2c3d4"
],
"linkedinId": "https://example.com/page",
"linkedinUrl": "https://example.com/page",
"location": {
"city": "San Francisco",
"country": "US",
"countryCode": "US",
"rawAddress": "123 Main St",
"state": "CA"
},
"naicsCodes": [
"a1b2c3d4"
],
"name": "Example title",
"otherWebsites": [
"https://example.com/page"
],
"phoneHq": {
"country": "US",
"countryCode": "US",
"international": "example",
"national": "example",
"phone": "+1 555-0142"
},
"revenueRange": {
"max": 12.5,
"min": 12.5
},
"revenueRangePrinted": "example",
"sicCodes": [
"a1b2c3d4"
],
"technologies": [
"example"
],
"twitterUrl": "https://example.com/page",
"type": "general",
"website": "https://example.com/page",
"youtubeUrl": "https://example.com/page"
},
"email": {
"email": "alex@example.com",
"revealed": true,
"status": "active"
},
"firstName": "Alex",
"fullName": "Alex Rivera",
"headline": "Example title",
"jobChangeDetectedUtc": 12.5,
"jobHistory": [
{
"companyId": "Acme Inc",
"companyName": "Acme Inc",
"current": true,
"departments": [
null
],
"durationMonths": 13,
"endMonth": 42,
"endYear": 2024,
"jobKey": "a1b2c3d4",
"seniority": "example",
"startMonth": 42,
"startYear": 2024,
"title": "Example title"
}
],
"jobKey": "a1b2c3d4",
"jobTitle": "Example title",
"lastName": "Rivera",
"linkedinMemberId": "https://example.com/page",
"linkedinUrl": "https://example.com/page",
"location": {
"city": "San Francisco",
"country": "US",
"countryCode": "US",
"state": "CA",
"timeZone": "2024-01-15T09:30:00Z",
"timeZoneOffset": 12.5
},
"mobile": {
"country": "US",
"countryCode": "US",
"international": "example",
"mobile": "example",
"national": "example",
"revealed": true,
"status": "active"
},
"personId": "a1b2c3d4",
"skills": [
"example"
]
}
],
"perPage": 29,
"totalCount": 12500,
"totalPages": 12500
},
"found": true
}interface PeopleSearchProspeoResponse {
data: {
currentPage?: number;
people: {
company?: {
attributes?: {
hasDemo?: boolean;
hasDownloadable?: boolean;
hasFreeTrial?: boolean;
hasMobileApps?: boolean;
hasOnlineReviews?: boolean;
hasPricing?: boolean;
isB2b?: boolean;
};
companyId?: string;
crunchbaseUrl?: string;
description?: string;
descriptionAi?: string;
descriptionSeo?: string;
domain?: string;
emailTech?: {
domain?: string;
mxProvider?: string;
};
employeeCount?: number;
employeeCountOnProspeo?: number;
employeeRange?: string;
facebookUrl?: string;
founded?: number;
funding?: {
events?: {
amount?: number;
amountPrinted?: string;
link?: string;
raisedUtc?: number;
stage?: string;
}[];
latestStage?: string;
latestUtc?: number;
rounds?: number;
totalRaised?: number;
totalRaisedPrinted?: string;
};
image?: string;
industry?: string;
instagramUrl?: string;
jobPostings?: {
activeCount?: number;
activeTitles?: string[];
};
keywords?: string[];
linkedinId?: string;
linkedinUrl?: string;
location?: {
city?: string;
country?: string;
countryCode?: string;
rawAddress?: string;
state?: string;
};
naicsCodes?: string[];
name?: string;
otherWebsites?: string[];
phoneHq?: {
country?: string;
countryCode?: string;
international?: string;
national?: string;
phone?: string;
};
revenueRange?: {
max?: number;
min?: number;
};
revenueRangePrinted?: string;
sicCodes?: string[];
technologies?: string[];
twitterUrl?: string;
type?: string;
website?: string;
youtubeUrl?: string;
};
email?: {
email?: string;
revealed?: boolean;
status?: string;
};
firstName?: string;
fullName: string;
headline?: string;
jobChangeDetectedUtc?: number;
jobHistory?: {
companyId?: string;
companyName?: string;
current?: boolean;
departments?: string[];
durationMonths?: number;
endMonth?: number;
endYear?: number;
jobKey?: string;
seniority?: string;
startMonth?: number;
startYear?: number;
title?: string;
}[];
jobKey?: string;
jobTitle?: string;
lastName?: string;
linkedinMemberId?: string;
linkedinUrl?: string;
location?: {
city?: string;
country?: string;
countryCode?: string;
state?: string;
timeZone?: string;
timeZoneOffset?: number;
};
mobile?: {
country?: string;
countryCode?: string;
international?: string;
mobile?: string;
national?: string;
revealed?: boolean;
status?: string;
};
personId?: string;
skills?: string[];
}[];
perPage?: number;
totalCount?: number;
totalPages?: number;
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-03 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/people_search.prospeo \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"company":{"websites":{"include":["stripe.com"]}},"page":1}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| company | string | {"websites":{"include":["stripe.com"]}}Filter by company names or websites, e.g. {"names": {"include": ["Stripe"]}, "websites": {"include": ["stripe.com"]}}. |
| companyAttributes | string | Filter by company characteristics, e.g. B2B, has pricing, has a free trial. |
| companyEmailProvider | array | Filter by the company's email MX provider. |
| companyFounded | string | Filter by founding year range. |
| companyFunding | string | Filter by funding stage or amount raised. |
| companyHeadcountByDepartment | array | Filter by headcount within a department. |
| companyHeadcountCustom | string | Filter by a custom employee count range. |
| companyHeadcountGrowth | string | Filter by headcount growth. |
| companyHeadcountRange | array | Filter by Prospeo's predefined employee count bands. |
| companyIndustry | string | Filter by company industry. |
| companyJobPostingHiringFor | array | Filter by the roles the company is currently hiring for. |
| companyJobPostingQuantity | string | Filter by how many roles the company has open. |
| companyKeywords | string | Filter by keywords found in company data. |
| companyLocationSearch | string | Filter by company headquarters location. |
| companyNaics | string | Filter by NAICS codes. |
| companyRevenue | string | Filter by revenue range. |
| companySics | string | Filter by SIC codes. |
| companyTechnology | string | Filter by technologies the company uses. |
| companyType | enum | Filter by ownership type. |
| maxPersonPerCompany | integer | Cap how many people one company may contribute to the results. |
| page | integer | 1Page number, one-based. Prospeo returns 25 results per page and charges one flat price per page. |
| personContactDetails | string | Filter by which contact channels Prospeo holds for the person. |
| personDepartment | string | Filter by department. |
| personDuplicateControl | string | Duplicate-control settings exported from the Prospeo dashboard. |
| personJobTitle | string | Filter by job title, with exact, contains and boolean semantics, e.g. {"include": ["VP Sales"]}. |
| personLocationSearch | string | Filter by where the person is located. |
| personName | string | Filter by person name. |
| personNameOrJobTitle | string | Free-text search across person name and job title. |
| personSeniority | string | Filter by seniority. Prospeo's own values are case sensitive: Founder/Owner, C-Suite, Partner, Vice President, Head, Director, Manager, Senior, Entry, Intern. Common aliases such as vp and founder are normalized before the call. |
| personTimeInCurrentCompany | string | Filter by time at the current company, as a numeric range. |
| personTimeInCurrentRole | string | Filter by time in the current role, as a numeric range. |
| personYearOfExperience | string | Filter by total years of experience, as a numeric range. |
| Response | ||
| data | object | One page of matching records plus Prospeo's paging counters. |
| data.currentPage | integer | Page number this response holds, one-based. |
| data.people | object[] | Matching people, each with their current employer's firmographic record. Email addresses and mobile numbers come back masked; reveal them with Person Enrichment - Prospeo. |
| data.people[].company | object | The person's current employer, with Prospeo's full firmographic record. |
| data.people[].company.attributes | object | What Prospeo detects about how the company sells. |
| data.people[].company.attributes.hasDemo | boolean | The website offers a demo. |
| data.people[].company.attributes.hasDownloadable | boolean | The website offers a download. |
| data.people[].company.attributes.hasFreeTrial | boolean | The website offers a free trial. |
| data.people[].company.attributes.hasMobileApps | boolean | The company publishes mobile apps. |
| data.people[].company.attributes.hasOnlineReviews | boolean | The company has online reviews. |
| data.people[].company.attributes.hasPricing | boolean | The website publishes pricing. |
| data.people[].company.attributes.isB2b | boolean | The company sells to businesses. |
| data.people[].company.companyId | string | Prospeo's own company identifier. Send it back as this SKU's companyId input. |
| data.people[].company.crunchbaseUrl | string | Company Crunchbase profile URL. |
| data.people[].company.description | string | Company description as the company writes it. |
| data.people[].company.descriptionAi | string | Prospeo's own AI-written company summary. |
| data.people[].company.descriptionSeo | string | Meta description from the company's website. |
| data.people[].company.domain | string | Primary company domain. |
| data.people[].company.emailTech | object | How the company's email is hosted. |
| data.people[].company.emailTech.domain | string | Domain the company's email addresses use. |
| data.people[].company.emailTech.mxProvider | string | Mail provider behind the domain's MX records. |
| data.people[].company.employeeCount | integer | Employees Prospeo currently counts. |
| data.people[].company.employeeCountOnProspeo | integer | Employees of this company that Prospeo holds a profile for. |
| data.people[].company.employeeRange | string | Employee headcount band, e.g. 10000+. |
| data.people[].company.facebookUrl | string | Company Facebook page URL. |
| data.people[].company.founded | integer | Year the company was founded. |
| data.people[].company.funding | object | Funding history. |
| data.people[].company.funding.events | object[] | One entry per funding round. |
| data.people[].company.funding.events[].amount | number | Amount raised in USD. |
| data.people[].company.funding.events[].amountPrinted | string | Amount raised as a display string. |
| data.people[].company.funding.events[].link | string | Source URL for the round. |
| data.people[].company.funding.events[].raisedUtc | number | UTC epoch timestamp in seconds (Unix time) the round closed. Multiply by 1000 for a JS Date in milliseconds. |
| data.people[].company.funding.events[].stage | string | Round stage, e.g. Series E-J. |
| data.people[].company.funding.latestStage | string | Most recent funding stage. |
| data.people[].company.funding.latestUtc | number | UTC epoch timestamp in seconds (Unix time) of the most recent round. Multiply by 1000 for a JS Date in milliseconds. |
| data.people[].company.funding.rounds | integer | Number of funding rounds raised. |
| data.people[].company.funding.totalRaised | number | Total capital raised, in USD. |
| data.people[].company.funding.totalRaisedPrinted | string | Total capital raised as a display string. |
| data.people[].company.image | string | Company logo URL. |
| data.people[].company.industry | string | Company industry. |
| data.people[].company.instagramUrl | string | Company Instagram profile URL. |
| data.people[].company.jobPostings | object | Open roles Prospeo currently sees for the company. |
| data.people[].company.jobPostings.activeCount | integer | Open roles currently posted. |
| data.people[].company.jobPostings.activeTitles | string[] | Titles of the open roles. |
| data.people[].company.keywords | string[] | Keywords Prospeo assigns the company. |
| data.people[].company.linkedinId | string | Company LinkedIn numeric id. |
| data.people[].company.linkedinUrl | string | Company LinkedIn page URL. |
| data.people[].company.location | object | Company headquarters. |
| data.people[].company.location.city | string | City. |
| data.people[].company.location.country | string | Country name. |
| data.people[].company.location.countryCode | string | ISO 3166-1 alpha-2 country code. |
| data.people[].company.location.rawAddress | string | Headquarters address as one display string. |
| data.people[].company.location.state | string | State or region. |
| data.people[].company.naicsCodes | string[] | NAICS classification codes for the company. |
| data.people[].company.name | string | Company name. |
| data.people[].company.otherWebsites | string[] | Other domains the company owns. |
| data.people[].company.phoneHq | object | Headquarters switchboard number. |
| data.people[].company.phoneHq.country | string | Country the number belongs to. |
| data.people[].company.phoneHq.countryCode | string | ISO 3166-1 alpha-2 code for that country. |
| data.people[].company.phoneHq.international | string | Number in international format. |
| data.people[].company.phoneHq.national | string | Number in national format. |
| data.people[].company.phoneHq.phone | string | Phone number as Prospeo stores it. |
| data.people[].company.revenueRange | object | Annual revenue band in USD. |
| data.people[].company.revenueRange.max | number | Upper bound in USD. |
| data.people[].company.revenueRange.min | number | Lower bound in USD. |
| data.people[].company.revenueRangePrinted | string | Annual revenue band as a display string. |
| data.people[].company.sicCodes | string[] | SIC classification codes for the company. |
| data.people[].company.technologies | string[] | Technologies Prospeo detects in the company's stack. |
| data.people[].company.twitterUrl | string | Company X (Twitter) profile URL. |
| data.people[].company.type | string | Ownership type, e.g. Private, Public, Non Profit. |
| data.people[].company.website | string | Company website URL. |
| data.people[].company.youtubeUrl | string | Company YouTube channel URL. |
| data.people[].email | object | Work email address. Prospeo returns the address only once it is revealed; status says why it is absent otherwise. |
| data.people[].email.email | string | The email address, when Prospeo revealed one. |
| data.people[].email.revealed | boolean | True when the address below is the full value rather than a masked preview. |
| data.people[].email.status | string | Prospeo's verdict for the address, e.g. VERIFIED or UNAVAILABLE. |
| data.people[].firstName | string | First name. |
| data.people[].fullName | string | Person's full name. |
| data.people[].headline | string | LinkedIn headline. |
| data.people[].jobChangeDetectedUtc | number | UTC epoch timestamp in seconds (Unix time) Prospeo last detected a job change. Multiply by 1000 for a JS Date in milliseconds. |
| data.people[].jobHistory | object[] | Every role Prospeo holds for the person, most recent first. |
| data.people[].jobHistory[].companyId | string | Prospeo company id for the employer. |
| data.people[].jobHistory[].companyName | string | Employer name. |
| data.people[].jobHistory[].current | boolean | True while the role is current. |
| data.people[].jobHistory[].departments | string[] | Departments Prospeo assigns the role. |
| data.people[].jobHistory[].durationMonths | integer | How long the role has run, in months. |
| data.people[].jobHistory[].endMonth | integer | Month the role ended, absent while current. |
| data.people[].jobHistory[].endYear | integer | Year the role ended, absent while current. |
| data.people[].jobHistory[].jobKey | string | Prospeo's identifier for this role. |
| data.people[].jobHistory[].seniority | string | Seniority band, e.g. C-Suite, Manager, Entry. |
| data.people[].jobHistory[].startMonth | integer | Month the role started, 1 to 12. |
| data.people[].jobHistory[].startYear | integer | Year the role started. |
| data.people[].jobHistory[].title | string | Job title held. |
| data.people[].jobKey | string | Prospeo's identifier for the current role. |
| data.people[].jobTitle | string | Current job title. |
| data.people[].lastName | string | Last name. |
| data.people[].linkedinMemberId | string | LinkedIn numeric member id. |
| data.people[].linkedinUrl | string | LinkedIn profile URL. |
| data.people[].location | object | Where the person is located. |
| data.people[].location.city | string | City. |
| data.people[].location.country | string | Country name. |
| data.people[].location.countryCode | string | ISO 3166-1 alpha-2 country code. |
| data.people[].location.state | string | State or region. |
| data.people[].location.timeZone | string | IANA time zone, e.g. America/New_York. |
| data.people[].location.timeZoneOffset | number | Current offset from UTC in hours. |
| data.people[].mobile | object | Mobile phone number. Digits are masked until the number is revealed; send enrichMobile to reveal it. |
| data.people[].mobile.country | string | Country the number belongs to. |
| data.people[].mobile.countryCode | string | ISO 3166-1 alpha-2 code for that country. |
| data.people[].mobile.international | string | Number in international format. |
| data.people[].mobile.mobile | string | The number as Prospeo stores it. |
| data.people[].mobile.national | string | Number in national format. |
| data.people[].mobile.revealed | boolean | True when the digits below are the full number rather than a masked preview. |
| data.people[].mobile.status | string | Prospeo's verdict for the number, e.g. VERIFIED or UNAVAILABLE. |
| data.people[].personId | string | Prospeo's own person identifier. Send it back as this SKU's personId input. |
| data.people[].skills | string[] | Skills the person lists. |
| data.perPage | integer | Results Prospeo returns per page. Prospeo fixes this at 25 and charges one flat price per page. |
| data.totalCount | integer | Results matching the filters across all pages. |
| data.totalPages | integer | Pages of results behind these filters. |
| found | boolean | False when no record matched the filters. |
| Price | ||
| Price per request | USD | $0.066 |
| Price /1k req | USD | $66.00 |
FAQ
About the People Search Prospeo API
The AnyAPI People Search Prospeo API returns People Search prospeo data as normalized JSON from one POST call to /v1/run/people_search.prospeo. Prospect Prospeo's contact database by job title, department, seniority, experience, location and any company firmographic. One flat price per page of 25. AnyAPI returns one normalized schema whichever source serves it. It costs from $66 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 0.0% of People Search prospeo calls through AnyAPI succeeded across 3 measured calls.
Get started
Two ways to start on AnyAPI
Humans fund a USD wallet and pay per request. Agents point a coding agent at one URL and onboard themselves.