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:
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.
- Send leads straight to your CRM or a script as they arrive with a webhook.
- Keep a Google Sheet in sync with a live feed.
No account yet?
The free plan includes 500 businesses and 50 checked emails, and the API. No card.
Start free