Person Enrichment Prospeo API
Enrich one person into work email, mobile phone, full job history and employer firmographics from a LinkedIn URL, an email, or a name plus company domain.
- 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/person_enrichment.prospeo · same shape for every APIimport os, requests res = requests.post( "https://api.getanyapi.com/v1/run/person_enrichment.prospeo", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={}, ) print(res.json())
{
"data": {
"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": [
{
"amount": 19.99,
"amountPrinted": "19.99",
"link": "https://example.com/page",
"raisedUtc": 12.5,
"stage": "example"
}
],
"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": [
"Example title"
]
},
"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",
"freeEnrichment": true,
"fullName": "Alex Rivera",
"headline": "Example title",
"jobChangeDetectedUtc": 12.5,
"jobHistory": [
{
"companyId": "Acme Inc",
"companyName": "Acme Inc",
"current": true,
"departments": [
"example"
],
"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"
]
},
"found": true
}interface PersonEnrichmentProspeoResponse {
data: {
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;
freeEnrichment?: boolean;
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[];
} | 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/person_enrichment.prospeo \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"linkedinUrl":"https://www.linkedin.com/in/dharmesh"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| companyLinkedinUrl | string | Employer LinkedIn page URL, for a more precise match. |
| companyName | string | Employer name. Avoid sending it alone; many companies share a name. |
| companyWebsite | string | Employer domain, e.g. stripe.com. Preferred over companyName. |
| string | Known email address, used as the sole identity seed for a reverse lookup. | |
| enrichMobile | boolean | Reveal the mobile number. Without it the number comes back masked. |
| firstName | string | First name. Send with lastName plus companyWebsite for the best hit rate. |
| fullName | string | Full name, as an alternative to firstName plus lastName. |
| lastName | string | Last name. |
| linkedinUrl | string | "https://www.linkedin.com/in/dharmesh"LinkedIn profile URL. The most accurate identifier, alone or with a name. |
| onlyVerifiedEmail | boolean | Return a match only when Prospeo has a verified email for it. Defaults to false. |
| onlyVerifiedMobile | boolean | Return a match only when Prospeo has a verified mobile for it. |
| personId | string | Prospeo person id from an earlier People Search - Prospeo call. |
| Response | ||
| data | object | The enriched person, or null when nothing matched. |
| data.company | object | The person's current employer, with Prospeo's full firmographic record. |
| data.company.attributes | object | What Prospeo detects about how the company sells. |
| data.company.attributes.hasDemo | boolean | The website offers a demo. |
| data.company.attributes.hasDownloadable | boolean | The website offers a download. |
| data.company.attributes.hasFreeTrial | boolean | The website offers a free trial. |
| data.company.attributes.hasMobileApps | boolean | The company publishes mobile apps. |
| data.company.attributes.hasOnlineReviews | boolean | The company has online reviews. |
| data.company.attributes.hasPricing | boolean | The website publishes pricing. |
| data.company.attributes.isB2b | boolean | The company sells to businesses. |
| data.company.companyId | string | Prospeo's own company identifier. Send it back as this SKU's companyId input. |
| data.company.crunchbaseUrl | string | Company Crunchbase profile URL. |
| data.company.description | string | Company description as the company writes it. |
| data.company.descriptionAi | string | Prospeo's own AI-written company summary. |
| data.company.descriptionSeo | string | Meta description from the company's website. |
| data.company.domain | string | Primary company domain. |
| data.company.emailTech | object | How the company's email is hosted. |
| data.company.emailTech.domain | string | Domain the company's email addresses use. |
| data.company.emailTech.mxProvider | string | Mail provider behind the domain's MX records. |
| data.company.employeeCount | integer | Employees Prospeo currently counts. |
| data.company.employeeCountOnProspeo | integer | Employees of this company that Prospeo holds a profile for. |
| data.company.employeeRange | string | Employee headcount band, e.g. 10000+. |
| data.company.facebookUrl | string | Company Facebook page URL. |
| data.company.founded | integer | Year the company was founded. |
| data.company.funding | object | Funding history. |
| data.company.funding.events | object[] | One entry per funding round. |
| data.company.funding.events[].amount | number | Amount raised in USD. |
| data.company.funding.events[].amountPrinted | string | Amount raised as a display string. |
| data.company.funding.events[].link | string | Source URL for the round. |
| data.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.company.funding.events[].stage | string | Round stage, e.g. Series E-J. |
| data.company.funding.latestStage | string | Most recent funding stage. |
| data.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.company.funding.rounds | integer | Number of funding rounds raised. |
| data.company.funding.totalRaised | number | Total capital raised, in USD. |
| data.company.funding.totalRaisedPrinted | string | Total capital raised as a display string. |
| data.company.image | string | Company logo URL. |
| data.company.industry | string | Company industry. |
| data.company.instagramUrl | string | Company Instagram profile URL. |
| data.company.jobPostings | object | Open roles Prospeo currently sees for the company. |
| data.company.jobPostings.activeCount | integer | Open roles currently posted. |
| data.company.jobPostings.activeTitles | string[] | Titles of the open roles. |
| data.company.keywords | string[] | Keywords Prospeo assigns the company. |
| data.company.linkedinId | string | Company LinkedIn numeric id. |
| data.company.linkedinUrl | string | Company LinkedIn page URL. |
| data.company.location | object | Company headquarters. |
| data.company.location.city | string | City. |
| data.company.location.country | string | Country name. |
| data.company.location.countryCode | string | ISO 3166-1 alpha-2 country code. |
| data.company.location.rawAddress | string | Headquarters address as one display string. |
| data.company.location.state | string | State or region. |
| data.company.naicsCodes | string[] | NAICS classification codes for the company. |
| data.company.name | string | Company name. |
| data.company.otherWebsites | string[] | Other domains the company owns. |
| data.company.phoneHq | object | Headquarters switchboard number. |
| data.company.phoneHq.country | string | Country the number belongs to. |
| data.company.phoneHq.countryCode | string | ISO 3166-1 alpha-2 code for that country. |
| data.company.phoneHq.international | string | Number in international format. |
| data.company.phoneHq.national | string | Number in national format. |
| data.company.phoneHq.phone | string | Phone number as Prospeo stores it. |
| data.company.revenueRange | object | Annual revenue band in USD. |
| data.company.revenueRange.max | number | Upper bound in USD. |
| data.company.revenueRange.min | number | Lower bound in USD. |
| data.company.revenueRangePrinted | string | Annual revenue band as a display string. |
| data.company.sicCodes | string[] | SIC classification codes for the company. |
| data.company.technologies | string[] | Technologies Prospeo detects in the company's stack. |
| data.company.twitterUrl | string | Company X (Twitter) profile URL. |
| data.company.type | string | Ownership type, e.g. Private, Public, Non Profit. |
| data.company.website | string | Company website URL. |
| data.company.youtubeUrl | string | Company YouTube channel URL. |
| data.email | object | Work email address. Prospeo returns the address only once it is revealed; status says why it is absent otherwise. |
| data.email.email | string | The email address, when Prospeo revealed one. |
| data.email.revealed | boolean | True when the address below is the full value rather than a masked preview. |
| data.email.status | string | Prospeo's verdict for the address, e.g. VERIFIED or UNAVAILABLE. |
| data.firstName | string | First name. |
| data.freeEnrichment | boolean | True when Prospeo served this record from cache and did not charge for it. |
| data.fullName | string | Person's full name. |
| data.headline | string | LinkedIn headline. |
| data.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.jobHistory | object[] | Every role Prospeo holds for the person, most recent first. |
| data.jobHistory[].companyId | string | Prospeo company id for the employer. |
| data.jobHistory[].companyName | string | Employer name. |
| data.jobHistory[].current | boolean | True while the role is current. |
| data.jobHistory[].departments | string[] | Departments Prospeo assigns the role. |
| data.jobHistory[].durationMonths | integer | How long the role has run, in months. |
| data.jobHistory[].endMonth | integer | Month the role ended, absent while current. |
| data.jobHistory[].endYear | integer | Year the role ended, absent while current. |
| data.jobHistory[].jobKey | string | Prospeo's identifier for this role. |
| data.jobHistory[].seniority | string | Seniority band, e.g. C-Suite, Manager, Entry. |
| data.jobHistory[].startMonth | integer | Month the role started, 1 to 12. |
| data.jobHistory[].startYear | integer | Year the role started. |
| data.jobHistory[].title | string | Job title held. |
| data.jobKey | string | Prospeo's identifier for the current role. |
| data.jobTitle | string | Current job title. |
| data.lastName | string | Last name. |
| data.linkedinMemberId | string | LinkedIn numeric member id. |
| data.linkedinUrl | string | LinkedIn profile URL. |
| data.location | object | Where the person is located. |
| data.location.city | string | City. |
| data.location.country | string | Country name. |
| data.location.countryCode | string | ISO 3166-1 alpha-2 country code. |
| data.location.state | string | State or region. |
| data.location.timeZone | string | IANA time zone, e.g. America/New_York. |
| data.location.timeZoneOffset | number | Current offset from UTC in hours. |
| data.mobile | object | Mobile phone number. Digits are masked until the number is revealed; send enrichMobile to reveal it. |
| data.mobile.country | string | Country the number belongs to. |
| data.mobile.countryCode | string | ISO 3166-1 alpha-2 code for that country. |
| data.mobile.international | string | Number in international format. |
| data.mobile.mobile | string | The number as Prospeo stores it. |
| data.mobile.national | string | Number in national format. |
| data.mobile.revealed | boolean | True when the digits below are the full number rather than a masked preview. |
| data.mobile.status | string | Prospeo's verdict for the number, e.g. VERIFIED or UNAVAILABLE. |
| data.personId | string | Prospeo's own person identifier. Send it back as this SKU's personId input. |
| data.skills | string[] | Skills the person lists. |
| found | boolean | False when Prospeo matched nothing. |
| Price | ||
| Price per request | USD | $0.066 |
| Price /1k req | USD | $66.00 |
FAQ
About the Person Enrichment Prospeo API
The AnyAPI Person Enrichment Prospeo API returns Person Enrichment prospeo data as normalized JSON from one POST call to /v1/run/person_enrichment.prospeo. Enrich one person into work email, mobile phone, full job history and employer firmographics from a LinkedIn URL, an email, or a name plus company domain. 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, 100.0% of Person Enrichment prospeo calls through AnyAPI succeeded, with a median response time of 1.1 seconds across 3 measured calls.
More to call
Other Person Enrichment endpoints
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.