> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lusha.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started with the Lusha API

> Learn what the Lusha API offers, make your first request to the base URL, and understand how the credit-based billing model works before you build.

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

<Columns cols={2}>
  <Card title="Enrichment" icon="address-book" href="/enrichment/overview">
    Add verified emails, phone numbers, and firmographics to existing contact and company records.
  </Card>

  <Card title="Prospecting" icon="magnifying-glass" href="/prospecting/overview">
    Search Lusha's database with ICP filters to build targeted lists of contacts and companies.
  </Card>

  <Card title="Signals" icon="bolt" href="/signals/overview">
    Detect job changes, promotions, and company events to reach prospects at the right moment.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/webhooks/overview">
    Receive real-time push notifications when signals occur for your monitored contacts or companies.
  </Card>

  <Card title="Lookalikes" icon="users" href="/lookalikes/overview">
    Discover new prospects that resemble your best customers using AI-powered similarity search.
  </Card>

  <Card title="Account" icon="chart-bar" href="/account/usage">
    Check your credit balance and usage at any time with the account usage endpoint.
  </Card>

  <Card title="Buying Group" icon="user-group" href="/buying-group/overview">
    Resolve a list of companies straight to the contacts most worth reaching at each one.
  </Card>

  <Card title="Website Visits" icon="globe" href="/website-visits/overview">
    Turn anonymous website traffic into a ranked list of companies to prospect.
  </Card>
</Columns>

## 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](/user-guide/lushas-api/tables-api).
* **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:

```
https://api.lusha.com
```

## 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:

```bash theme={null}
curl --request GET \
  --url https://api.lusha.com/account/usage \
  --header 'api_key: YOUR_API_KEY'
```

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.

```bash theme={null}
curl --request POST \
  --url https://api.lusha.com/v3/contacts/search-and-enrich \
  --header 'api_key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "contacts": [
      {
        "clientReferenceId": "my-ref-1",
        "firstName": "Dustin",
        "lastName": "Moskovitz",
        "companyDomain": "lusha.com"
      }
    ],
    "reveal": ["emails", "phones"]
  }'
```

A successful response returns a `contacts` array with each matched profile's email addresses, phone numbers, job title, location, and social links.

<Tip>
  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](/enrichment/search-and-enrich-contacts) for the full field reference.
</Tip>

<Info>
  **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](/api-reference/overview) to browse it, or see the [V3 migration guide](/tutorials/v3-migration-guide) to move existing V2 integrations over.
</Info>

## Next steps

Before making API calls in your application, read the [authentication guide](/authentication) to understand how to pass your API key securely and what to expect when credentials are missing or invalid.

<Tip>
  Want to try endpoints before you write any code? Explore Lusha's [Postman Workspace](https://www.postman.com/lushateam/workspace/lusha-s-api/collection/28683568-fc849873-9ae1-47dd-8159-0d4deda04750) to test live requests and see response shapes firsthand.
</Tip>
