En bref
- Adresse de base :
https://api.ecommerce-leads-database.com - Authentification : votre clé dans l’en-tête
X-API-Key(ouAuthorization: Bearer) - Format : JSON REST, plus un export CSV
- Pagination : par curseur (
nextCursoren JSON, en-têteX-Next-Cursorpour le CSV) - Facturation : 1 crédit par fiche renvoyée que vous n’avez pas encore débloquée. Comptage, solde et échantillon gratuits.
- Serveur MCP :
https://mcp.ecommerce-leads-database.com/mcp, même clé, mêmes crédits - Pas de webhooks, pas de sièges, pas de quota mensuel d’appels : seulement des crédits
- Documentation complète : ecommerce-leads-database.com/api-docs/
Pour le guide narratif et les cas d’intégration côté code, voir le guide API annuaire Shopify, qui complète cette page.
Authentification
Toutes les requêtes, sauf l’échantillon public, demandent votre clé API dans un en-tête. La clé se crée dans votre compte Ecommerce Leads Database. Elle ne se passe jamais dans l’URL.
GET /v1/me HTTP/1.1
Host: api.ecommerce-leads-database.com
X-API-Key: eldb_live_xxxxxxxxxxxxxxxxxxxxxxxx
Accept: application/json
L’en-tête Authorization: Bearer eldb_live_… marche aussi. Si les deux sont envoyés, X-API-Key l’emporte.
Gestion des clés
- Ne la committez jamais dans un dépôt de code.
- Stockage : variable d’environnement en développement, gestionnaire de secrets en production.
- Une clé = votre solde de crédits : quiconque la détient peut dépenser vos crédits.
Les endpoints
| Endpoint | Rôle | Coût |
|---|---|---|
GET /v1/stores/search |
Recherche filtrée, pagination par curseur | 1 crédit par fiche nouvelle |
GET /v1/stores/count |
Nombre de boutiques d’une recherche | Gratuit |
GET /v1/stores/{domaine} |
Fiche complète d’une boutique | 1 crédit (gratuit si déjà débloquée) |
GET /v1/stores/export.csv |
Les boutiques d’une recherche en CSV, jusqu’à 5 000 lignes par appel | 1 crédit par fiche nouvelle |
GET /v1/stores/{domaine}/catalog |
Catalogue produits (pour une partie des boutiques) | 1 crédit (gratuit si déjà débloquée) |
GET /v1/stores/{domaine}/trend |
Historique du trafic organique (pour une partie des boutiques) | 1 crédit (gratuit si déjà débloquée) |
GET /v1/sample |
Échantillon public, sans clé, sans contacts | Gratuit |
GET /v1/me |
Solde de crédits de votre clé | Gratuit |
Recherche : /v1/stores/search
Renvoie les boutiques qui correspondent à vos filtres. C’est l’endpoint que vous utiliserez le plus.
curl -H "X-API-Key: $CLE" \
"https://api.ecommerce-leads-database.com/v1/stores/search?platform=shopify&country=FR®ion=FR-ARA&hasEmail=true&limit=50"
La réponse contient la liste des boutiques dans items et le curseur de la page suivante dans nextCursor (null à la dernière page) :
{
"items": [ { "domain": "…", "platform": "shopify", "country": "FR", "theme": "…", … } ],
"nextCursor": "…"
}
limit vaut 50 par défaut, 100 au maximum. Si votre solde ne couvre pas la page demandée, l’API répond 402 sans rien renvoyer ni débiter : baissez limit ou achetez des crédits.
Filtres de recherche
Les mêmes filtres marchent sur /v1/stores/search, /v1/stores/count et /v1/stores/export.csv.
| Paramètre | Ce qu’il filtre | Exemple |
|---|---|---|
platform |
Plateforme de la boutique | shopify |
country |
Pays (code à 2 lettres) | FR |
region |
Région, codes ISO 3166-2, plusieurs séparés par des virgules | FR-IDF,FR-ARA |
tld |
Extension du domaine | fr |
app |
Appli détectée sur la boutique | klaviyo |
currency |
Devise de la boutique (code ISO 4217) | EUR |
lang |
Langue de la boutique (code à 2 lettres) | fr |
operatorCountry |
Pays de l’opérateur du téléphone | FR |
createdAfter, createdBefore |
Date de création du domaine (AAAA-MM-JJ) | 2023-01-01 |
activeOnly |
Boutiques actives seulement (activé par défaut) | true |
maxChromeRank |
Audience Chrome : rang maximal dans le Chrome UX Report (paliers 1000, 5000, 10000, 50000, 100000, 500000, 1000000…) | 100000 |
maxPlatformRank |
Rang maximal dans la plateforme | 5000 |
plan |
Boutiques confirmées sur Shopify Plus (seule valeur acceptée) | shopify_plus |
minProducts |
Nombre minimal de produits | 50 |
hasEmail |
Avec au moins un email | true |
hasPhone |
Avec un téléphone | true |
hasGmb |
Avec une fiche Google Business | true |
hasDecisionMaker |
Avec au moins un dirigeant (registres FR et CH) | true |
hasDecisionMakerEmail |
Avec l’email pro d’un dirigeant | true |
genericEmailsOnly |
Ne garde que les emails génériques (contact@…) |
true |
mailProvider |
Fournisseur de messagerie du domaine | google-workspace |
dmarcPolicy |
Politique DMARC du domaine | reject |
Le filtre
plan=shopify_plusne garde que les boutiques confirmées sur Shopify Plus. Au 5 novembre 2026, cela fait 4 494 boutiques en Europe, dont 819 en France. La détection continue et le chiffre monte. C’est la seule valeur acceptée. Il n’existe pas de filtre « pas Plus » : une boutique sans preuve peut quand même être sur Plus. Les résultats et la fiche portent un champplan(shopify_plusounull), repris dans la colonneplandu CSV. Une case vide veut dire « inconnu », jamais « pas Plus ». Le filtre marche aussi dans les outils du serveur MCP. Le détail de la méthode est dans la FAQ de l’accueil.
Comptage gratuit : /v1/stores/count
Donne la taille d’un segment sans renvoyer de fiche, donc sans débiter de crédit. Utile pour savoir ce que vous allez payer avant de lancer une recherche.
curl -H "X-API-Key: $CLE" \
"https://api.ecommerce-leads-database.com/v1/stores/count?platform=shopify&country=FR&app=klaviyo"
{ "count": …, "gmbCount": … }
gmbCount donne, dans ce segment, le nombre de boutiques qui ont une fiche Google Business.
Fiche : /v1/stores/{domaine}
Renvoie la fiche complète d’une boutique. Utile pour enrichir un CRM compte par compte (« ce site tourne-t-il sous Shopify, et qui le dirige ? »).
curl -H "X-API-Key: $CLE" "https://api.ecommerce-leads-database.com/v1/stores/exemple-marchand.fr"
La fiche contient, quand l’information est connue : nom du marchand, plateforme, pays, région, ville, date de création du domaine, emails publiés (chacun avec son type), téléphone, réseaux sociaux, thème, applis détectées, nombre de produits, rang dans la plateforme, audience Chrome, statut, dates de première détection et de dernière vérification, dirigeants avec leur email pro quand il est trouvé, fiche Google Business, et Shopify Plus quand c’est confirmé (champ plan). Le chiffre d’affaires estimé n’est pas fourni.
Coût : 1 crédit, puis gratuit pour toujours sur cette boutique. Un domaine absent de la base répond 404 et ne coûte rien. Le catalogue produits et l’historique du trafic sont à part : /v1/stores/{domaine}/catalog et /v1/stores/{domaine}/trend.
Export CSV : /v1/stores/export.csv
Les boutiques d’une recherche dans un fichier CSV, avec les mêmes filtres que /v1/stores/search. Jusqu’à 5 000 lignes par appel (1 000 par défaut). Ajoutez bom=1 pour qu’Excel lise bien les accents.
curl -H "X-API-Key: $CLE" "https://api.ecommerce-leads-database.com/v1/stores/export.csv?platform=shopify&country=FR&limit=1000&bom=1" -o boutiques.csv
Pour la page suivante, l’API renvoie un curseur dans l’en-tête X-Next-Cursor. Ajoutez -D - à la commande pour afficher les en-têtes, puis relancez-la avec &cursor= suivi de cette valeur. Pas d’en-tête X-Next-Cursor : vous avez tout.
Colonnes du fichier : domain, merchant_name, platform, plan, country_code, state, city, created, emails, telephone, linkedin_url, linkedin_account, facebook, instagram, pinterest, tiktok, twitter, estimated_monthly_sales, estimated_yearly_sales, platform_rank, product_count, crux_rank_class, status, first_seen, last_checked, decision_maker_emails, facebook_followers, instagram_followers, pinterest_followers, tiktok_followers. Les colonnes *_followers restent vides tant que le compte n'est pas compté : l'export demande les chiffres qui manquent, et ils figurent dans un export suivant.
plandit « Shopify Plus » seulement quand c’est confirmé. Vide = inconnu.estimated_monthly_salesetestimated_yearly_salesrestent vides : le chiffre d’affaires estimé n’est pas fourni aujourd’hui. Les colonnes sont là pour que le format ne change pas plus tard.
Il n’y a pas encore de bouton « télécharger le CSV » dans le compte : cette commande, ou votre agent IA branché en MCP, est la façon d’obtenir le fichier.
Pagination par curseur
L’API utilise un curseur, pas un décalage numérique. C’est volontaire : sur une base qui change pendant la lecture, un décalage saute ou duplique des lignes.
Mode d’emploi
- Première requête sans
cursor. - La réponse donne le curseur suivant :
nextCursoren JSON, en-têteX-Next-Cursorpour le CSV. - Passez cette valeur dans
cursorà la requête suivante, avec les mêmes filtres. - Arrêtez quand
nextCursorvautnull(ou quand l’en-tête est absent).
Ne fabriquez pas le curseur vous-même : réutilisez la valeur renvoyée telle quelle. Un curseur mal formé répond 400.
Serveur MCP
Le serveur MCP branche votre agent IA (Claude, Cursor…) sur la base. Vous lui parlez en français, il lance les recherches. Même clé, mêmes crédits que l’API.
- Adresse :
https://mcp.ecommerce-leads-database.com/mcp - Clé : dans l’en-tête
Authorization: Bearer(ce que la plupart des clients MCP configurent) ouX-API-Key - 8 outils, dont
search_stores,count_stores,get_store,get_store_catalog,get_store_trendetget_balance. Le comptage et le solde sont gratuits.
{
"mcpServers": {
"eldb": {
"url": "https://mcp.ecommerce-leads-database.com/mcp",
"headers": { "Authorization": "Bearer eldb_live_…" }
}
}
}
Exemple de demande : « Compte les boutiques Shopify françaises qui utilisent Klaviyo et ont un email. Puis fais-moi un CSV des 200 premières. » L’agent compte d’abord (gratuit), puis dépense 1 crédit par boutique nouvelle.
Crédits et facturation
- 1 crédit = 1 fiche boutique renvoyée, dirigeants inclus, que ce soit par la recherche, la fiche, l’export CSV, le catalogue ou l’historique.
- Une fiche débloquée le reste pour toujours : la retélécharger, par n’importe quel endpoint, est gratuit.
- Gratuit :
/v1/stores/count,/v1/me,/v1/sample, et toute réponse sans fiche (404, 400). - Solde insuffisant : réponse
402, aucune ligne envoyée, rien de débité. - Packs, paiement unique, prix HT : 1 000 crédits 29 €, 5 000 crédits 99 €, 20 000 crédits 299 €, 100 000 crédits 990 €. Crédits valables 12 mois. Pas d’abonnement.
{
"error": "insufficient_credits",
"balance": 120,
"needed": 500,
"message": "This request needs 500 credits and your balance is 120. …",
"buyUrl": "https://ecommerce-leads-database.com/account#credits"
}
Pour suivre votre solde, appelez /v1/me : il est gratuit.
Codes de réponse
| Code | Signification |
|---|---|
200 OK |
Réponse standard. |
400 invalid_parameter |
Paramètre invalide. Le corps donne son nom (parameter) et la raison (message). |
401 missing_api_key, 401 invalid_api_key |
Clé absente, ou clé inconnue ou révoquée. |
402 insufficient_credits |
Solde trop bas pour la requête. Rien n’est envoyé ni débité. |
404 not_found |
Le domaine n’est pas dans la base. Ne coûte rien. |
429 rate_limited |
Trop de requêtes en une minute (limite anti-abus par clé). Attendez le délai de l’en-tête Retry-After. |
500 |
Erreur côté serveur. Réessayez avec un délai croissant. |
Ce que l’API ne fait pas
Transparence sur ce qui n’existe pas aujourd’hui :
- Pas de webhooks : l’API ne pousse rien. C’est vous qui l’interrogez.
- Pas de sièges ni de quota mensuel d’appels : vous payez des fiches en crédits, pas des places ni des appels. Seule une limite anti-abus par minute protège le service.
- Shopify Plus, seulement les boutiques confirmées :
plan=shopify_plusne trouve pas une boutique Plus sans preuve. Une case vide veut dire « inconnu », jamais « pas Plus ». - Pas de chiffre d’affaires estimé : les colonnes existent dans le CSV mais restent vides.
- Pas encore de bouton CSV dans le compte : le fichier passe par
/v1/stores/export.csvou par le serveur MCP. - Couverture : 32 pays d’Europe, pas au-delà.
Pour tester sans dépenser : /v1/sample (sans clé), puis /v1/me et /v1/stores/count (gratuits) avec votre clé.
Démarrer
- Créer un compte sur Ecommerce Leads Database : 50 crédits offerts, sans carte bancaire.
- Créer une clé API dans votre compte.
- Vérifier la clé, gratuitement :
curl -H "X-API-Key: $CLE" "https://api.ecommerce-leads-database.com/v1/me". - Compter votre cible, gratuitement, avec
/v1/stores/count. - Récupérer les fiches avec
/v1/stores/searchou/v1/stores/export.csv, ou brancher votre agent IA sur le serveur MCP.
Pour le guide narratif avec exemples de code complets, voir le guide API annuaire Shopify. Pour la référence complète, voir la documentation de l’API.
Support technique
- Email : hello@ecommerce-leads-database.com. Tous les canaux sont sur la page contact.
- Documentation : la documentation de l’API, cette page, le guide API et le cas d’usage développeurs d’outils Shopify.
← Retour à l’accueil · Voir les tarifs · Documentation complète · Guide API narratif · Cas d’usage développeurs