Skip to main content
Lusha’s V3 API replaces the old single-record and bulk-record split with one pattern: search, then enrich - for up to 100 contacts or companies per call, every time.

How it works

Every V3 flow starts the same way, whether you’re looking up one contact or a hundred:
  1. Search - send an array of identifiers (IDs, LinkedIn URLs, emails, or name-and-company combinations for contacts; IDs, names, or domains for companies). Get back a non-PII preview of each match, plus a canReveal list showing what you can unlock and its credit cost.
  2. Enrich - pass the Lusha id values from your search results to reveal full data: emails and phones for contacts, firmographics and employee breakdowns for companies.
If you already know you want the full profile, skip the two-step flow and call Search and Enrich instead - it runs both steps in one request.
There’s no more single-vs-bulk distinction. Every Search, Enrich, and Search and Enrich endpoint accepts an array of up to 100 items in one call, whether you’re enriching one record or a hundred.

Contact enrichment

Search contacts

Find contacts by ID, LinkedIn URL, email, or name and company. Returns a preview and reveal costs.

Enrich contacts

Reveal emails and phone numbers for contacts you’ve already found.

Search and enrich contacts

Find contacts and reveal their emails and phones in a single call.

Company enrichment

Search companies

Find companies by ID, name, or domain. Returns a preview and reveal costs.

Enrich companies

Reveal firmographics, employee breakdowns, competitors, and intent for companies you’ve already found.

Search and enrich companies

Find companies and reveal their full firmographic data in a single call.

Choosing search-then-enrich vs. search and enrich

Use the two-step flow when you want to inspect canReveal and its credit cost before spending credits - for example, when a human reviews matches before you enrich them. Use Search and Enrich when you already trust the match criteria and want the full record in one round trip, such as a CRM sync job.
Both paths bill the same way: search is charged per successful result via the api_search action, and revealing contact data is charged per revealed field (email or phone). Company enrichment is charged per successful result via the reveal_company action. Search and Enrich simply combines both charges into one request.