# API quickstart: your first search in five minutes · Leadraft

URL: https://leadraft.co/docs/quickstart
Summary: Create a Leadraft API key, start a Google Maps search, wait for it to finish, and read every business with a verified email.

Docs · Last updated October 31, 2026

# Quickstart

Create a key, start a search, wait for it, and read every business with a verified email. About five minutes, most of it waiting for the search.

## 1\. Create an API key

In the app, open **Settings → API keys** and choose **Create key**. You need to be an admin of your organization. The key is shown once; store it somewhere safe, like an environment variable:

Terminal

```
export LEADRAFT_API_KEY="lg_…"
```

A key acts as a member of your organization: it can read leads and start searches. Make a key with only the `read` scope for anything that should never spend credits by starting searches.

## 2\. Start a search

A search line is a keyword and a place, the way you'd type it into the app. Each line runs as its own search. Send an `Idempotency-Key` so a retried request doesn't start the search twice.

```
curl -X POST "https://app.leadraft.co/api/v1/searches" \
  -H "Authorization: Bearer lg_your_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: first-search-1" \
  -d '{"queries": ["dentist in Austin, TX"], "email_required": true, "scope": "in"}'
```

The response includes `group`, the id of this search, and `failed`: lines that couldn't run, with the reason (for example, a place we couldn't find, or a whole state that needs `confirm_large`).

## 3\. Wait for it to finish

Searches run on our servers; you can close the connection. Poll the search every 10 to 30 seconds. It moves from `running` to `finishing` (searching is done; emails are still being found and checked) to `completed`.

```
curl "https://app.leadraft.co/api/v1/searches/g_7f3a9c2e" \
  -H "Authorization: Bearer lg_your_key"
```

## 4\. Read the leads

Ask for the search's leads with a Verified email, 500 at a time, following `next` until it's null. You can read leads while the search is still running; new ones appear at the top.

```
curl "https://app.leadraft.co/api/v1/leads?search_group=g_7f3a9c2e&grade=valid&limit=500" \
  -H "Authorization: Bearer lg_your_key"
```

## 5\. What next

-   Filter by rating, city, category, or whether a business has a phone or website: see the [leads reference](https://leadraft.co/docs/api#list-leads).
-   Send leads straight to your CRM or a script as they arrive with a [webhook](https://leadraft.co/docs/webhooks).
-   Keep a Google Sheet in sync with a [live feed](https://leadraft.co/docs/feeds).

## No account yet?

The free plan includes 500 businesses and 50 checked emails, and the API. No card.

[Start free](https://app.leadraft.co/sign-up)

## Related pages

-   [REST API referenceEvery endpoint, parameter and field](https://leadraft.co/docs/api)
-   [Connect an AI assistantThe same calls as MCP tools](https://leadraft.co/docs/mcp)
-   [Push leads to your own system](https://leadraft.co/docs/webhooks)

Last built: 2026-11-09
