REST endpoints. JSON in, JSON out. Authenticate with the X-API-Key header.
Every paid endpoint requires an X-API-Key header. Get your key from your account page once you subscribe.
curl https://api.ecommerce-leads-database.com/v1/stores/count \ -H "X-API-Key: sk_live_…"
/v1/sampleReturns 10 enriched stores. Use this to validate the data shape before subscribing.
curl https://api.ecommerce-leads-database.com/v1/sample?limit=10
/v1/stores/countReturns the count of stores matching the filters, plus how many have a GMB profile.
curl https://api.ecommerce-leads-database.com/v1/stores/count?platform=shopify \
-H "X-API-Key: sk_live_…"
{ "count": 124538, "gmbCount": 38217 }/v1/stores/searchFiltered + paginated. Supports platform, tld, country, minProducts, hasGmb. Max 100 results per page.
curl https://api.ecommerce-leads-database.com/v1/stores/search \
-H "X-API-Key: sk_live_…" \
-G \
-d "platform=shopify" \
-d "minProducts=50" \
-d "hasGmb=true" \
-d "limit=50"
{
"items": [ { "domain": "…", "merchantName": "…", … } ],
"nextCursor": "…"
}/v1/stores/:domainFull row including parsed metadata and GMB data. Does not include the product catalog.
curl https://api.ecommerce-leads-database.com/v1/stores/eataly.fr \
-H "X-API-Key: sk_live_…"
{ "store": { "domain": "eataly.fr", "platform": "shopify", "metadata": {…}, "gmbData": {…} } }/v1/stores/:domain/catalogFull per-store product list, fetched from R2 storage. Counts as 10 requests against your quota.
curl https://api.ecommerce-leads-database.com/v1/stores/eataly.fr/catalog \ -H "X-API-Key: sk_live_…"
Quotas are monthly, rolling 30-day windows. We never hard-rate-limit you per-second.
/catalog counts as 10 requests401 missing_api_key / invalid_api_key429 quota_exceeded — wait for window rollover404 not_found — unknown domain or no catalog