Person Enrichment Lusha API
Enrich one person into work email, direct dial, job title and employer firmographics from a LinkedIn URL, an email, or a name plus company.
- 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.lusha · same shape for every APIimport os, requests res = requests.post( "https://api.getanyapi.com/v1/run/person_enrichment.lusha", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={}, ) print(res.json())
{
"data": {
"company": {
"city": "San Francisco",
"companyId": "Acme Inc",
"country": "US",
"description": "A short example description of this item.",
"domain": "example.com",
"emailDomain": "alex@example.com",
"employeeRange": [
42
],
"facebookUrl": "https://example.com/page",
"fqdn": "example",
"image": "https://example.com/image.jpg",
"linkedinUrl": "https://example.com/page",
"mainIndustry": "general",
"naicsCodes": [
{
"code": "a1b2c3d4",
"description": "A short example description of this item."
}
],
"name": "Example title",
"revenueRange": [
20
],
"sicCodes": [
{
"code": "a1b2c3d4",
"description": "A short example description of this item."
}
],
"state": "CA",
"subIndustry": "general",
"technologies": [
"example"
],
"website": "https://example.com/page",
"xUrl": "https://example.com/page"
},
"contactTags": [
"example"
],
"departments": [
"example"
],
"email": "alex@example.com",
"emails": [
{
"confidence": "a1b2c3d4",
"email": "alex@example.com",
"type": "general",
"updatedUtc": 12.5
}
],
"firstName": "Alex",
"fullName": "Alex Rivera",
"jobStartUtc": 12.5,
"jobTitle": "Example title",
"lastName": "Rivera",
"linkedinConnections": 42,
"linkedinFollowers": 12500,
"linkedinUrl": "https://example.com/page",
"location": {
"city": "San Francisco",
"continent": "example",
"country": "US",
"countryCode": "US",
"isEuContact": true,
"state": "CA",
"stateCode": "CA"
},
"personId": "a1b2c3d4",
"phone": "+1 555-0142",
"phones": [
{
"doNotCall": true,
"number": "example",
"type": "general"
}
],
"previousJobTitle": "Example title",
"seniority": "example",
"updatedUtc": 12.5
},
"found": true
}interface PersonEnrichmentLushaResponse {
data: {
company?: {
city?: string;
companyId?: string;
country?: string;
description?: string;
domain?: string;
emailDomain?: string;
employeeRange?: number[];
facebookUrl?: string;
fqdn?: string;
image?: string;
linkedinUrl?: string;
mainIndustry?: string;
naicsCodes?: {
code: string;
description?: string;
}[];
name?: string;
revenueRange?: number[];
sicCodes?: {
code: string;
description?: string;
}[];
state?: string;
subIndustry?: string;
technologies?: string[];
website?: string;
xUrl?: string;
};
contactTags?: string[];
departments?: string[];
email?: string;
emails?: {
confidence?: string;
email: string;
type?: string;
updatedUtc?: number;
}[];
firstName?: string;
fullName: string;
jobStartUtc?: number;
jobTitle?: string;
lastName?: string;
linkedinConnections?: number;
linkedinFollowers?: number;
linkedinUrl?: string;
location?: {
city?: string;
continent?: string;
country?: string;
countryCode?: string;
isEuContact?: boolean;
state?: string;
stateCode?: string;
};
personId?: string;
phone?: string;
phones?: {
doNotCall?: boolean;
number: string;
type?: string;
}[];
previousJobTitle?: string;
seniority?: string;
updatedUtc?: 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/person_enrichment.lusha \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"linkedinUrl":"https://www.linkedin.com/in/tim-zheng"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| companyDomain | string | Employer domain, e.g. apollo.io. Secondary identifier for a name-based lookup. |
| companyName | string | Employer name. Secondary identifier for a name-based lookup; companyDomain matches more reliably. |
| string | Known email address, used to resolve the person's identity. | |
| firstName | string | First name. Send with lastName plus companyName or companyDomain. |
| lastName | string | Last name. Send with firstName plus companyName or companyDomain. |
| linkedinUrl | string | "https://www.linkedin.com/in/tim-zheng"LinkedIn profile URL (linkedin.com/in/...). Highest match rate. |
| refreshJobInfo | boolean | Force a fresh job title and employer lookup instead of the cached one. |
| revealEmails | boolean | Reveal email addresses. Defaults to true upstream. |
| revealPhones | boolean | Reveal phone numbers. Defaults to true upstream. |
| signals | boolean | Include buying-intent signals in the response. |
| Response | ||
| data | object | The enriched person, or null when nothing matched. |
| data.company | object | The person's current employer. |
| data.company.city | string | Headquarters city. |
| data.company.companyId | string | Lusha's own company identifier. |
| data.company.country | string | Headquarters country. |
| data.company.description | string | Company description. |
| data.company.domain | string | Primary company domain. |
| data.company.emailDomain | string | Domain the company's work email addresses use. |
| data.company.employeeRange | integer[] | Employee headcount band as [min, max]. |
| data.company.facebookUrl | string | Company Facebook page URL. |
| data.company.fqdn | string | Fully qualified host for the company website. |
| data.company.image | string | Company logo URL. |
| data.company.linkedinUrl | string | Company LinkedIn page URL. |
| data.company.mainIndustry | string | Top-level industry. |
| data.company.naicsCodes | object[] | NAICS classification codes for the company. |
| data.company.naicsCodes[].code | string | NAICS code. |
| data.company.naicsCodes[].description | string | What the NAICS code covers. |
| data.company.name | string | Company name. |
| data.company.revenueRange | integer[] | Annual revenue band in USD as [min, max]. |
| data.company.sicCodes | object[] | SIC classification codes for the company. |
| data.company.sicCodes[].code | string | SIC code. |
| data.company.sicCodes[].description | string | What the SIC code covers. |
| data.company.state | string | Headquarters state or region. |
| data.company.subIndustry | string | Sub-industry. |
| data.company.technologies | string[] | Technologies Lusha detects in the company's stack. |
| data.company.website | string | Company website URL. |
| data.company.xUrl | string | Company X (Twitter) profile URL. |
| data.contactTags | string[] | Tags Lusha attaches to the contact. |
| data.departments | string[] | Departments Lusha assigns the current role, e.g. General Management. |
| data.email | string | Best email address Lusha holds, the first entry of emails. |
| data.emails | object[] | Every email address Lusha holds for the person. |
| data.emails[].confidence | string | Lusha's confidence grade for the address, e.g. A+. |
| data.emails[].email | string | Email address. |
| data.emails[].type | string | Address kind, e.g. work or personal. |
| data.emails[].updatedUtc | number | UTC epoch timestamp in seconds (Unix time) the address was last confirmed. Multiply by 1000 for a JS Date in milliseconds. |
| data.firstName | string | Person's first name. |
| data.fullName | string | Person's full name. |
| data.jobStartUtc | number | UTC epoch timestamp in seconds (Unix time) the person started the current role. Multiply by 1000 for a JS Date in milliseconds. |
| data.jobTitle | string | Current job title. |
| data.lastName | string | Person's last name. |
| data.linkedinConnections | integer | LinkedIn connection count. |
| data.linkedinFollowers | integer | LinkedIn follower count. |
| data.linkedinUrl | string | LinkedIn profile URL. |
| data.location | object | Where the person is located. |
| data.location.city | string | City. |
| data.location.continent | string | Continent name. |
| data.location.country | string | Country name. |
| data.location.countryCode | string | ISO 3166-1 alpha-2 country code. |
| data.location.isEuContact | boolean | True when Lusha classifies the contact as EU-resident. |
| data.location.state | string | State or region. |
| data.location.stateCode | string | State or region code. |
| data.personId | string | Lusha's own person identifier. |
| data.phone | string | Best phone number Lusha holds, the first entry of phones. |
| data.phones | object[] | Every phone number Lusha holds for the person. |
| data.phones[].doNotCall | boolean | True when the number is on a do-not-call list. |
| data.phones[].number | string | Phone number in international format. |
| data.phones[].type | string | Line kind, e.g. mobile or direct. |
| data.previousJobTitle | string | Job title of the previous role Lusha holds. |
| data.seniority | string | Seniority band for the current role, e.g. Founder. |
| data.updatedUtc | number | UTC epoch timestamp in seconds (Unix time) the record was last refreshed. Multiply by 1000 for a JS Date in milliseconds. |
| found | boolean | False when Lusha holds no person for the requested identifiers. |
| Price | ||
| Price per request | USD | $0.084 |
| Price /1k req | USD | $84.00 |
FAQ
About the Person Enrichment Lusha API
The AnyAPI Person Enrichment Lusha API returns Person Enrichment lusha data as normalized JSON from one POST call to /v1/run/person_enrichment.lusha. Enrich one person into work email, direct dial, job title and employer firmographics from a LinkedIn URL, an email, or a name plus company. AnyAPI returns one normalized schema whichever source serves it. It costs from $84 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Person Enrichment lusha calls through AnyAPI succeeded, with a median response time of 1.3 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.