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

# Quickstart

> Your first leads and a verified email in five minutes

Grab your API token from [Settings → API](https://beta.generect.com/settings/api), then run the three calls below: size the audience for free, pull real leads from the cached database, and reveal a verified email.

## 1. Size your audience — free

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.generect.com/api/v1/search/database/leads/count/ \
    -H "Authorization: Token YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"job_titles": ["marketing manager"], "locations": ["Germany"]}'
  ```

  ```python Python theme={null}
  import requests

  BASE = "https://api.generect.com/api/v1"
  HEADERS = {"Authorization": "Token YOUR_API_TOKEN"}

  count = requests.post(
      f"{BASE}/search/database/leads/count/",
      headers=HEADERS,
      json={"job_titles": ["marketing manager"], "locations": ["Germany"]},
  ).json()
  print(count)  # database counts are free
  ```

  ```javascript Node.js theme={null}
  const BASE = "https://api.generect.com/api/v1";
  const HEADERS = {
    Authorization: "Token YOUR_API_TOKEN",
    "Content-Type": "application/json",
  };

  const count = await fetch(`${BASE}/search/database/leads/count/`, {
    method: "POST",
    headers: HEADERS,
    body: JSON.stringify({ job_titles: ["marketing manager"], locations: ["Germany"] }),
  }).then((r) => r.json());
  console.log(count); // database counts are free
  ```
</CodeGroup>

## 2. Pull the leads

Same filters against [`/search/database/leads/`](/api-reference/endpoint/search/database-leads) — sub-second, billed per returned result (\$0.0067 each, see [Pricing](/billing/pricing)). Every response tells you what it cost in `meta.amount_charged`.

<CodeGroup>
  ```python Python theme={null}
  resp = requests.post(
      f"{BASE}/search/database/leads/",
      headers=HEADERS,
      json={"job_titles": ["marketing manager"], "locations": ["Germany"], "limit_by": 10},
  ).json()

  leads = resp["data"]["leads"]
  print(len(leads), "leads for", resp["meta"]["amount_charged"], "USD")
  ```

  ```javascript Node.js theme={null}
  const resp = await fetch(`${BASE}/search/database/leads/`, {
    method: "POST",
    headers: HEADERS,
    body: JSON.stringify({ job_titles: ["marketing manager"], locations: ["Germany"], limit_by: 10 }),
  }).then((r) => r.json());

  const leads = resp.data.leads;
  console.log(leads.length, "leads for", resp.meta.amount_charged, "USD");
  ```
</CodeGroup>

## 3. Reveal a verified email

Pass a lead from step 2 into [`/email/find/`](/api-reference/endpoint/emails/email-finder). You are billed **only when a valid email is found** — a miss is free.

<CodeGroup>
  ```python Python theme={null}
  lead = leads[0]
  email = requests.post(
      f"{BASE}/email/find/",
      headers=HEADERS,
      json={"lead_id": lead["id"]},
  ).json()
  print(email)
  ```

  ```javascript Node.js theme={null}
  const email = await fetch(`${BASE}/email/find/`, {
    method: "POST",
    headers: HEADERS,
    body: JSON.stringify({ lead_id: leads[0].id }),
  }).then((r) => r.json());
  console.log(email);
  ```
</CodeGroup>

<Tip>Need fresher-than-cache data or advanced filters? Swap `database` → `realtime` in any path — same request shape. See [Database vs Real-time](/api-reference/database-vs-realtime).</Tip>

## Use it from Postman or Insomnia

Import the whole API in one step — every endpoint, schema, and example:

1. **Postman:** *Import* → *Link* → paste `https://docs.generect.com/api-reference/openapi.yaml`
2. Set a collection-level `Authorization` header: `Token YOUR_API_TOKEN`

The same [OpenAPI 3.0 spec](https://docs.generect.com/api-reference/openapi.yaml) works with Insomnia, code generators, and AI agents. Building with LLMs? There's also a [remote MCP server](/integrations/mcp/remote-mcp).

## Before production

* [Errors](/api-reference/errors) — one envelope, retry semantics
* [Limits](/api-reference/limits) — parallel caps, batch sizes, timeouts
* [Pricing](/billing/pricing) — what each call costs, No Data No Charge
* [Migration Guide](/api-reference/migration-guide) — coming from Apollo, Hunter, ZoomInfo, or the legacy API
