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

# Quickstart

> Make your first API call in under 5 minutes

Get started with LeadMagic in minutes. This guide walks you through making your first API call and exploring our interactive playground.

<Note>
  **Fastest way to start**: Skip the code and use our [API
  Playground](/docs/v1/reference/email-validation) - test any endpoint directly in
  your browser!
</Note>

## Step 1: Get Your API Key

<Steps>
  <Step title="Create an account">
    [Sign up for free](https://app.leadmagic.io/sign-up) or [log in](https://app.leadmagic.io) if you already have an account.
  </Step>

  <Step title="Navigate to API Settings">
    Go to [Settings > API](https://app.leadmagic.io/settings/api) in your dashboard.
  </Step>

  <Step title="Copy your API key">
    Click the copy button to copy your API key to clipboard.

    <Warning>
      Keep your API key secret. Never expose it in client-side code or public repositories.
    </Warning>
  </Step>
</Steps>

## Step 2: Try the API Playground

The fastest way to test LeadMagic is our interactive API Playground. No code required!

<CardGroup cols={2}>
  <Card title="Email Validation" icon="envelope-circle-check" href="/docs/v1/reference/email-validation" color="#22c55e">
    Verify an email address instantly.
  </Card>

  <Card title="Email Finder" icon="magnifying-glass" href="/docs/v1/reference/email-finder" color="#3b82f6">
    Find an email from name + company.
  </Card>
</CardGroup>

### How to Use the Playground

<Steps>
  <Step title="Go to any API Reference page">
    Click any endpoint in the sidebar or the cards above.
  </Step>

  <Step title="Enter your API key">
    Paste your API key in the authentication section.
  </Step>

  <Step title="Fill in the parameters">
    Enter test data (e.g., an email to validate).
  </Step>

  <Step title="Click 'Send'">See the live response immediately!</Step>
</Steps>

<Tip>
  The playground shows you exactly what your code will return - perfect for
  testing before integration.
</Tip>

## Step 3: Make Your First API Call

Ready to integrate? Here's how to call the API from your code:

<Tabs>
  <Tab title="cURL" icon="terminal">
    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
    curl -X POST 'https://api.leadmagic.io/v1/people/email-validation' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: YOUR_API_KEY' \
      -d '{"email": "test@leadmagic.io"}'
    ```
  </Tab>

  <Tab title="JavaScript" icon="js">
    ```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
    const response = await fetch('https://api.leadmagic.io/v1/people/email-validation', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'X-API-Key': process.env.LEADMAGIC_API_KEY
      },
      body: JSON.stringify({ email: 'test@leadmagic.io' })
    });

    const data = await response.json();
    console.log(data.email_status); // "valid", "invalid", or "unknown"
    ```
  </Tab>

  <Tab title="Python" icon="python">
    ```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
    import requests
    import os

    response = requests.post(
        'https://api.leadmagic.io/v1/people/email-validation',
        headers={
            'Content-Type': 'application/json',
            'X-API-Key': os.environ['LEADMAGIC_API_KEY']
        },
        json={'email': 'test@leadmagic.io'}
    )

    data = response.json()
    print(data['email_status'])  # "valid", "invalid", or "unknown"
    ```
  </Tab>
</Tabs>

### Example Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "email_status": "valid",
  "email": "test@leadmagic.io",
  "domain": "leadmagic.io",
  "credits_consumed": 0.25,
  "company": {
    "name": "LeadMagic",
    "domain": "leadmagic.io",
    "linkedin_url": "https://linkedin.com/company/leadmagichq"
  }
}
```

<Check>
  **Bonus**: Every email validation includes free company enrichment data!
</Check>

## Step 4: Explore More Endpoints

Now that you've made your first call, explore other powerful endpoints:

<CardGroup cols={2}>
  <Card title="Find Emails" icon="magnifying-glass" href="/docs/v1/reference/email-finder">
    Get professional emails from name + company domain.
  </Card>

  <Card title="Find Mobile Numbers" icon="phone" href="/docs/v1/reference/mobile-finder">
    Discover direct mobile numbers for outreach.
  </Card>

  <Card title="Enrich Profiles" icon="user" href="/docs/v1/reference/profile-search">
    Get complete professional profiles with work history.
  </Card>

  <Card title="Search Companies" icon="building" href="/docs/v1/reference/company-search">
    Enrich company data by domain or name.
  </Card>
</CardGroup>

<Tip>
  These are our most popular endpoints. See [Use Cases](/docs/v1/use-cases) for workflow ideas, or the full [API Reference](/docs/v1/reference/introduction) for all endpoints across email, contact, people, company, jobs, and ads data.
</Tip>

## Common Use Cases

<AccordionGroup>
  <Accordion title="Clean Your Email List" icon="broom">
    **Goal**: Remove invalid emails before a campaign

    1. Loop through your email list
    2. Call [Email Validation](/docs/v1/reference/email-validation) for each
    3. Keep only `valid` emails
    4. Remove `invalid`, skip `unknown` (free, retry later)

    **Result**: Higher deliverability, protected sender reputation
  </Accordion>

  <Accordion title="Build a Prospect List" icon="list-check">
    **Goal**: Get contact info for target accounts

    1. Start with company domains
    2. Use [Role Finder](/docs/v1/reference/role-finder) to find decision-makers
    3. Use [Email Finder](/docs/v1/reference/email-finder) for work emails
    4. Use [Mobile Finder](/docs/v1/reference/mobile-finder) for phone numbers

    **Result**: Complete contact list for outreach
  </Accordion>

  <Accordion title="Enrich CRM Data" icon="database">
    **Goal**: Fill in missing CRM fields

    1. Export contacts with LinkedIn URLs
    2. Use [Profile Search](/docs/v1/reference/profile-search) for full profiles
    3. Use [Company Search](/docs/v1/reference/company-search) for company data
    4. Import enriched data back to CRM

    **Result**: Rich CRM data for better personalization
  </Accordion>
</AccordionGroup>

<Card title="More Use Cases" icon="sparkles" href="/docs/v1/use-cases">
  Browse outbound, inbound, CRM cleanup, hiring intent, market research, MCP, and bulk enrichment workflows.
</Card>

## What's Next?

<CardGroup cols={2}>
  <Card title="Making API Calls" icon="code" href="/docs/v1/making-api-calls">
    Production request patterns, status codes, and retries.
  </Card>

  <Card title="Authentication Guide" icon="key" href="/docs/v1/authentication">
    Secure API key usage and key rotation best practices.
  </Card>

  <Card title="Developer Experience" icon="terminal" href="/docs/v1/developer-experience">
    Headers, observability, error handling, and analytics endpoints.
  </Card>

  <Card title="API Playground" icon="play" href="/docs/v1/reference/email-validation" color="#22c55e">
    Test any endpoint interactively.
  </Card>
</CardGroup>
