POST

Person Enrichment Lusha API

/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.

Category enrichmentRequests / mo 3Routing 1 lane · no failover
Get ~100 free requests

Pricing

One price, in dollars

pay per request · no subscription · fallbacks added as the catalog grows
Request
Gateway request
discovered operation
↓
Router
↓
Providers · 1
↳ One lane serves this endpoint today, so a failed call has nowhere to fail over to. Failed attempts are never billed. Uptime, latency and traffic are measured through the gateway, last 30 days.

Call it

Make your first request

POST /v1/run/person_enrichment.lusha · same shape for every API
import 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())
Open in
Get a free key
Sample response
{
  "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
}
Response interface
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 30d
POST /v1/run/person_enrichment.lusha
curl -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"}'
FieldTypeExample value
Request body
companyDomainstringEmployer domain, e.g. apollo.io. Secondary identifier for a name-based lookup.
companyNamestringEmployer name. Secondary identifier for a name-based lookup; companyDomain matches more reliably.
emailstringKnown email address, used to resolve the person's identity.
firstNamestringFirst name. Send with lastName plus companyName or companyDomain.
lastNamestringLast name. Send with firstName plus companyName or companyDomain.
linkedinUrlstring"https://www.linkedin.com/in/tim-zheng"LinkedIn profile URL (linkedin.com/in/...). Highest match rate.
refreshJobInfobooleanForce a fresh job title and employer lookup instead of the cached one.
revealEmailsbooleanReveal email addresses. Defaults to true upstream.
revealPhonesbooleanReveal phone numbers. Defaults to true upstream.
signalsbooleanInclude buying-intent signals in the response.
Response
dataobjectThe enriched person, or null when nothing matched.
data.companyobjectThe person's current employer.
data.company.citystringHeadquarters city.
data.company.companyIdstringLusha's own company identifier.
data.company.countrystringHeadquarters country.
data.company.descriptionstringCompany description.
data.company.domainstringPrimary company domain.
data.company.emailDomainstringDomain the company's work email addresses use.
data.company.employeeRangeinteger[]Employee headcount band as [min, max].
data.company.facebookUrlstringCompany Facebook page URL.
data.company.fqdnstringFully qualified host for the company website.
data.company.imagestringCompany logo URL.
data.company.linkedinUrlstringCompany LinkedIn page URL.
data.company.mainIndustrystringTop-level industry.
data.company.naicsCodesobject[]NAICS classification codes for the company.
data.company.naicsCodes[].codestringNAICS code.
data.company.naicsCodes[].descriptionstringWhat the NAICS code covers.
data.company.namestringCompany name.
data.company.revenueRangeinteger[]Annual revenue band in USD as [min, max].
data.company.sicCodesobject[]SIC classification codes for the company.
data.company.sicCodes[].codestringSIC code.
data.company.sicCodes[].descriptionstringWhat the SIC code covers.
data.company.statestringHeadquarters state or region.
data.company.subIndustrystringSub-industry.
data.company.technologiesstring[]Technologies Lusha detects in the company's stack.
data.company.websitestringCompany website URL.
data.company.xUrlstringCompany X (Twitter) profile URL.
data.contactTagsstring[]Tags Lusha attaches to the contact.
data.departmentsstring[]Departments Lusha assigns the current role, e.g. General Management.
data.emailstringBest email address Lusha holds, the first entry of emails.
data.emailsobject[]Every email address Lusha holds for the person.
data.emails[].confidencestringLusha's confidence grade for the address, e.g. A+.
data.emails[].emailstringEmail address.
data.emails[].typestringAddress kind, e.g. work or personal.
data.emails[].updatedUtcnumberUTC epoch timestamp in seconds (Unix time) the address was last confirmed. Multiply by 1000 for a JS Date in milliseconds.
data.firstNamestringPerson's first name.
data.fullNamestringPerson's full name.
data.jobStartUtcnumberUTC epoch timestamp in seconds (Unix time) the person started the current role. Multiply by 1000 for a JS Date in milliseconds.
data.jobTitlestringCurrent job title.
data.lastNamestringPerson's last name.
data.linkedinConnectionsintegerLinkedIn connection count.
data.linkedinFollowersintegerLinkedIn follower count.
data.linkedinUrlstringLinkedIn profile URL.
data.locationobjectWhere the person is located.
data.location.citystringCity.
data.location.continentstringContinent name.
data.location.countrystringCountry name.
data.location.countryCodestringISO 3166-1 alpha-2 country code.
data.location.isEuContactbooleanTrue when Lusha classifies the contact as EU-resident.
data.location.statestringState or region.
data.location.stateCodestringState or region code.
data.personIdstringLusha's own person identifier.
data.phonestringBest phone number Lusha holds, the first entry of phones.
data.phonesobject[]Every phone number Lusha holds for the person.
data.phones[].doNotCallbooleanTrue when the number is on a do-not-call list.
data.phones[].numberstringPhone number in international format.
data.phones[].typestringLine kind, e.g. mobile or direct.
data.previousJobTitlestringJob title of the previous role Lusha holds.
data.senioritystringSeniority band for the current role, e.g. Founder.
data.updatedUtcnumberUTC epoch timestamp in seconds (Unix time) the record was last refreshed. Multiply by 1000 for a JS Date in milliseconds.
foundbooleanFalse when Lusha holds no person for the requested identifiers.
Price
Price per requestUSD$0.084
Price /1k reqUSD$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.

It costs from $84 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet, each call draws it down, and a failed request costs $0.

Enrich one person into work email, direct dial, job title and employer firmographics from a LinkedIn URL, an email, or a name plus company. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

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. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

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.

Get ~100 free requests
Works with
Terminal agentsClaude CodeCursorCodexMCP clients