annuaire-shopify

Documentation API annuaire-shopify

Les données de l’annuaire sont servies par l’API d’Ecommerce Leads Database. Une clé dans l’en-tête X-API-Key, des réponses JSON, un export CSV, et un serveur MCP pour les agents IA. Pas d’abonnement : chaque fiche renvoyée coûte 1 crédit, et 50 crédits sont offerts à l’inscription.

En bref

  • Adresse de base : https://api.ecommerce-leads-database.com
  • Authentification : votre clé dans l’en-tête X-API-Key (ou Authorization: Bearer)
  • Format : JSON REST, plus un export CSV
  • Pagination : par curseur (nextCursor en JSON, en-tête X-Next-Cursor pour 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

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&region=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_plus ne 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 champ plan (shopify_plus ou null), repris dans la colonne plan du 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.

  • plan dit « Shopify Plus » seulement quand c’est confirmé. Vide = inconnu.
  • estimated_monthly_sales et estimated_yearly_sales restent 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

  1. Première requête sans cursor.
  2. La réponse donne le curseur suivant : nextCursor en JSON, en-tête X-Next-Cursor pour le CSV.
  3. Passez cette valeur dans cursor à la requête suivante, avec les mêmes filtres.
  4. Arrêtez quand nextCursor vaut null (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) ou X-API-Key
  • 8 outils, dont search_stores, count_stores, get_store, get_store_catalog, get_store_trend et get_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_plus ne 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.csv ou 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

  1. Créer un compte sur Ecommerce Leads Database : 50 crédits offerts, sans carte bancaire.
  2. Créer une clé API dans votre compte.
  3. Vérifier la clé, gratuitement : curl -H "X-API-Key: $CLE" "https://api.ecommerce-leads-database.com/v1/me".
  4. Compter votre cible, gratuitement, avec /v1/stores/count.
  5. Récupérer les fiches avec /v1/stores/search ou /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

← Retour à l’accueil · Voir les tarifs · Documentation complète · Guide API narratif · Cas d’usage développeurs

Sans engagement

Vous voulez tester sur votre cible ?

50 fiches offertes à l’inscription, sans carte bancaire. Ensuite, 1 000 fiches pour 29 € HT, sans abonnement.