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

# Quickstart

# Quickstart

> Make your first API request in less than 2 minutes.

<div style={{position:'absolute',width:'1px',height:'1px',padding:0,margin:'-1px',overflow:'hidden',clipPath:'inset(50%)',whiteSpace:'nowrap',border:0}}>
  > **Agents & LLMs**: a Markdown version of this page is available by appending `.md` to the URL, and the full documentation index is at [llms.txt](https://docs.blitz-api.ai/llms.txt).
</div>

Welcome to BlitzAPI! In this guide, we will perform a simple but powerful task: **finding a verified professional email** from a LinkedIn profile URL.

<Info>
  **Prerequisites**: You need an API Key. You can grab one from your [BlitzAPI Dashboard](https://app.blitz-api.ai).
</Info>

<Steps>
  <Step title="Choose your client">
    BlitzAPI is a standard REST API, so you can use it with any language.

    For Python or JavaScript/TypeScript, the fastest path is the **official SDK** — it handles auth, retries, rate limiting, and pagination for you. Prefer **cURL** for a quick terminal test, or call the REST API directly from any other language.
  </Step>

  <Step title="Install the SDK">
    Skip this step if you're using cURL.

    <CodeGroup>
      ```bash Python theme={null} theme={null}
      pip install blitz-api-py
      ```

      ```bash Node.js theme={null} theme={null}
      npm install blitz-api-js
      ```
    </CodeGroup>

    See the [SDK guides](/sdks/overview) for the full API surface.
  </Step>

  <Step title="Send the request">
    We will use the `POST /v2/enrichment/email` endpoint. Replace `YOUR_API_KEY` with your actual key, or set it as the `BLITZ_API_KEY` environment variable (the SDKs read it automatically).

    <CodeGroup>
      ```bash cURL theme={null} theme={null}
      curl --request POST \
        --url https://api.blitz-api.ai/v2/enrichment/email \
        --header 'Content-Type: application/json' \
        --header 'x-api-key: YOUR_API_KEY' \
        --data '{
        "person_linkedin_url": "https://www.linkedin.com/in/example-person"
      }'
      ```

      ```python Python theme={null} theme={null}
      from blitz_api import BlitzAPI

      client = BlitzAPI(api_key="YOUR_API_KEY")  # or set BLITZ_API_KEY

      result = client.enrichment.email(
          person_linkedin_url="https://www.linkedin.com/in/example-person",
      )

      print(result.found, result.email)
      ```

      ```ts Node.js theme={null} theme={null}
      import { BlitzAPI } from "blitz-api-js";

      const client = new BlitzAPI({ api_key: "YOUR_API_KEY" }); // or set BLITZ_API_KEY

      const result = await client.enrichment.email({
        person_linkedin_url: "https://www.linkedin.com/in/example-person",
      });

      console.log(result.found, result.email);
      ```
    </CodeGroup>
  </Step>

  <Step title="Check the response">
    You should receive a JSON object containing the verified email and its status.

    ```json theme={null} theme={null}
    {
      "found": true,
      "email": "jane.doe@acme.com",
      "all_emails": [
        {
          "email": "jane.doe@acme.com",
          "job_order_in_profile": 1,
          "company_linkedin_url": "https://www.linkedin.com/company/acme",
          "email_domain": "acme.com"
        }
      ]
    }
    ```

    **Response Fields:**

    | Field                               | Type      | Description                                                                        |
    | :---------------------------------- | :-------- | :--------------------------------------------------------------------------------- |
    | `found`                             | `boolean` | `true` if a verified email was found. `false` if no email exists in the database.  |
    | `email`                             | `string`  | The primary verified work email address. `null` if `found: false`.                 |
    | `all_emails`                        | `array`   | All verified email addresses found for this profile (usually 1).                   |
    | `all_emails[].email`                | `string`  | The verified email address.                                                        |
    | `all_emails[].job_order_in_profile` | `integer` | Position of the associated job in the person's LinkedIn profile (1 = current job). |
    | `all_emails[].company_linkedin_url` | `string`  | LinkedIn URL of the company associated with this email.                            |
    | `all_emails[].email_domain`         | `string`  | Domain of the email address.                                                       |

    <Note>
      All paid plans include **unlimited** requests — included in your flat monthly subscription.
    </Note>
  </Step>
</Steps>

## What just happened?

1. **Authentication**: You passed your key via the `x-api-key` header.
2. **Identity Matching**: BlitzAPI matched the LinkedIn profile URL against our verified B2B dataset.
3. **Verification**: We validated email deliverability (SMTP handshake) before returning it.

## Next Steps

Now that you have the basics down, explore our more advanced features.

<CardGroup cols={2}>
  <Card title="Official SDKs" icon="cubes" href="/sdks/overview">
    Typed Python and TypeScript/JavaScript SDKs with built-in retries, rate limiting, and pagination.
  </Card>

  <Card title="Find People" icon="users-viewfinder" href="/guide/concepts/find-people">
    Source decision-makers across an entire ICP in one call — combine company and person filters.
  </Card>

  <Card title="Waterfall Search" icon="magnifying-glass-chart" href="/guide/concepts/waterfall-logic">
    Don't have a profile URL? Find the best contact at a known company by cascade.
  </Card>

  <Card title="Build an ICP List" icon="list-check" href="/guide/recipes/icp-list-building">
    End-to-end recipe: Find People → enrich → CRM-ready output.
  </Card>

  <Card title="Bulk Enrichment" icon="layer-group" href="/guide/recipes/enrichment-workflow">
    Learn how to process thousands of leads efficiently.
  </Card>
</CardGroup>
