Skip to main content
The Lusha API gives you programmatic access to one of the world’s largest B2B contact and company databases. All requests go to a single base URL - https://api.lusha.com - and are authenticated with an API key you pass in a request header. Whether you are enriching CRM records, prospecting for new leads, or wiring up real-time event signals, every capability is available through a consistent REST interface.

What you can build

Enrichment

Add verified emails, phone numbers, and firmographics to existing contact and company records.

Prospecting

Search Lusha’s database with ICP filters to build targeted lists of contacts and companies.

Signals

Detect job changes, promotions, and company events to reach prospects at the right moment.

Webhooks

Receive real-time push notifications when signals occur for your monitored contacts or companies.

Lookalikes

Discover new prospects that resemble your best customers using AI-powered similarity search.

Account

Check your credit balance and usage at any time with the account usage endpoint.

Buying Group

Resolve a list of companies straight to the contacts most worth reaching at each one.

Website Visits

Turn anonymous website traffic into a ranked list of companies to prospect.

How the API is organized

The API is built around a small set of core data types - contacts, companies, signals, and lookalikes - accessed through a consistent set of patterns: search, enrich, search-and-enrich, and filter-based prospecting. Two additional building blocks sit alongside these:
  • Tables - persistent, configurable lists of contacts or companies. Save results into a table directly from Enrich, Prospecting, Signals, or Lookalikes calls by passing a tableId, or manage tables and their rows/columns through dedicated endpoints. Tables are shared with the Workspace UI. See the Tables API guide.
  • Waterfall Reveal - an enhancement to contact enrichment. When Lusha’s own data has no match for a field, it automatically falls through to your enabled third-party providers instead of returning an empty field. Runs automatically once Data Waterfall is enabled under Account > Waterfall in the dashboard - pass waterfallEnabled: false on a specific call to opt it out.

Base URL

All endpoints are served from a single base URL:

Credits and billing

The Lusha API uses a credit-based model. Credits are charged per data point revealed (for example, an email address or phone number), with a minimum of 1 credit per request - even if no match is found. Contact your account manager for the rates on your plan. To check how many credits you have remaining, call the account usage endpoint:
The contact.isCreditCharged field in enrichment responses tells you whether a credit was consumed for a given request.

Your first API call

The example below finds and enriches a contact by first name, last name, and company domain in a single call. Replace YOUR_API_KEY with your actual key.
A successful response returns a contacts array with each matched profile’s email addresses, phone numbers, job title, location, and social links.
You can also identify a contact by linkedinUrl, email, or Lusha id instead of name and company. Providing more identifiers generally improves match accuracy. See Search and Enrich Contacts for the full field reference.
You’re reading the V3 docs - the current, default version of the Lusha API. V3 introduced this search-and-enrich pattern, Tables, and Waterfall Reveal. The previous V2 API (endpoints under no version prefix, like /v2/person) is still fully supported but is now legacy - pick “V2 (Legacy)” from the version switcher at the top of the API docs to browse it, or see the V3 migration guide to move existing V2 integrations over.

Next steps

Before making API calls in your application, read the authentication guide to understand how to pass your API key securely and what to expect when credentials are missing or invalid.
Want to try endpoints before you write any code? Explore Lusha’s Postman Workspace to test live requests and see response shapes firsthand.