/v1/companies/by-domain/{domain}10 unitsCompanies - By Domain
Direct canonical lookup. One call, one domain, full enrichment payload. Use when you already know the domain and want everything we have about it.
Single (GET)
curl -H "Authorization: Bearer $LEADLEAP_KEY" \
https://data.leadleap.net/v1/companies/by-domain/stripe.comReturns { "domain": "...", "entities": [...] }. The entities array is normally length 0 (we don't know the domain) or 1 (the canonical row). Length > 1 reserved for multi-entity disambiguation when that lands later.
Batch (POST)
Same data, up to 5 domains per request. Costs 10 units flat - the same as a single GET - so a full batch is the cheapest per-domain way to look up a known list. Larger workflows should use /v1/companies/search with country/industry filters instead.
curl -X POST https://data.leadleap.net/v1/companies/by-domain \
-H "Authorization: Bearer $LEADLEAP_KEY" \
-H "Content-Type: application/json" \
-d '{"domains": ["stripe.com", "apollo.io", "hubspot.com"]}'Response shape
Single returns one envelope; batch returns one envelope per requested domain so a missing or failed lookup doesn't take down the whole call.
// GET /v1/companies/by-domain/stripe.com
{
"domain": "stripe.com",
"entities": [
{ "domain": "stripe.com", "name": "Stripe", "firm_type": "Financial Infrastructure Provider", "...": "..." }
]
}
// POST /v1/companies/by-domain
{
"results": [
{ "domain": "stripe.com", "entities": [ { ... } ] },
{ "domain": "apollo.io", "entities": [ { ... } ] },
{ "domain": "unknown.io", "entities": [] }
],
"returned": 3
}Why 10 units instead of 2. by-domain is a direct PK lookup that bypasses the narrowing-filter requirement of /v1/companies/search. The 5× pricing keeps the endpoint useful for legitimate workflows (~100 prospects = 20 batch calls = 200 units = 2% of daily budget) while making bulk scraping uneconomical (~5.5 years to walk the 1M-row enriched directory at the daily ceiling).