Skip to content

API overview

The LeadSonar API gives you the same data and AI as the app, over HTTPS and JSON: count and browse leads for free, reveal or export the ones you want, score contacts against your ICP, and read company websites.

https://app.leadsonar.io

All endpoints live under /api/v1/.

Create a key in the app under Settings → API Keys. Keys start with ls_live_ and are shown once — store it somewhere safe. Send it in the X-API-Key header on every request:

Terminal window
curl https://app.leadsonar.io/api/v1/credits \
-H "X-API-Key: ls_live_your_key_here"
{ "balance": 50278, "total_earned": 50300, "total_spent": 22 }

A missing key returns 401 Authentication required; a wrong one returns 401 Invalid API key. Requests spend the credits of the account that owns the key.

FreeCosts credits
POST /leads/search — count matching leadsPOST /leads/reveal — 1 credit per new lead
POST /leads/browse — masked resultsPOST /leads/exports — 1 credit per lead delivered
GET /leads/filters — valid filter valuesPOST /icp-score — 1 credit per contact
GET /credits, listing your jobsPOST /scrape/jobs — 1 credit per domain, refunded if no text
POST /enrich-csv — per lead, by the bundles you choose

You’re never charged twice for the same lead: revealing someone again returns credits_charged: 0, and exports and browse results skip people you’ve already revealed.

GroupWhat it’s for
Leadssearch to count, browse to page through masked results, reveal to unlock specific leads, exports for bulk CSV (up to 50,000 per export).
AI enrichmenticp-score grades one contact against your ICP in about a second. enrich-csv runs AI enrichment over a whole CSV as a background job.
Domain scrapescrape/jobs reads company websites and returns their text — useful for your own AI prompts.
Accountcredits for your balance.

POST /api/v1/enrich, /find-email and /find-phone (waterfall lookups) have been retired. They return 410 ENDPOINT_RETIRED. Use /leads/browse + /leads/reveal for contact data, or /enrich-csv for AI enrichment.