Documentation

API Usine SEO

Créez et suivez vos sites depuis un script, une feuille Google ou un outil d’automatisation. Réponses en JSON, en français.

Version 1 · 60 appels par minute par clé

Authentification

Chaque appel porte l’en-tête Authorization: Bearer <clé>. La clé commence par usk_ ; elle donne accès à tous les sites de votre compte : gardez-la secrète, et révoquez-la depuis vos réglages si elle fuit.

Vous obtenez votre clé, connecté, dans Mes réglages → API (bouton « Générer une clé »). Un compte de démonstration n’existe pas : la clé est liée à votre formule.

Points d’entrée

Tous les chemins sont relatifs à https://usineseo.fr.

MéthodeCheminRôle
GET/api/v1/sitesListe de vos sites : domaine, marque, état, étape en cours, score, pages, mise en ligne, nombre de demandes.
POST/api/v1/sitesCrée un site et lance la fabrication. Corps JSON : {"domaine": "…", "metier": "…", "ville": "…", "marque": "…", "email": "…", "reseau": "…", "langue": "fr"}. Les clés anglaises domain, topic, city, brand, network, lang sont acceptées.
GET/api/v1/sites/<domaine>Détail d’un site : état, journal récent, clics et impressions Google sur 28 jours, visites sur 30 jours, erreurs d’audit.
GET/api/v1/sites/<domaine>/leadsDemandes reçues par le site : nom, e-mail, téléphone, code postal, message, estimation, état.
POST/api/v1/sites/<domaine>/relancerRelance la fabrication complète, ou seulement certaines étapes : {"etapes": ["build", "audit", "deploy"]}.

Exemple de requête

Créer un site et lancer sa fabrication :

curl -X POST https://usineseo.fr/api/v1/sites \
  -H "Authorization: Bearer usk_…" \
  -H "Content-Type: application/json" \
  -d '{"domaine": "plombier-beziers.fr", "metier": "plombier", "ville": "Béziers", "marque": "Plomberie Martin"}'

Réponse 201 Created :

{"domaine": "plombier-beziers.fr", "etat": "en file d'attente", "message": "site créé, fabrication lancée"}

Exemples de réponses

GET https://usineseo.fr/api/v1/sites

{"sites": [{"domaine": "plombier-beziers.fr", "marque": "Plomberie Martin", "etat": "prêt", "etape": "", "score": 92,
            "pages": 38, "en_ligne": "2026-09-11T16:40:00", "demandes": 3, "url": "https://plombier-beziers.fr/"}]}

GET https://usineseo.fr/api/v1/sites/plombier-beziers.fr/leads

{"demandes": [{"id": "a1b2c3d4", "ts": "2026-09-12T09:14:00", "kind": "devis", "nom": "Marie Durand", "email": "[email protected]", "tel": "06 12 34 56 78",
              "cp": "34500", "message": "Fuite sous l'évier", "estimate": "≈ 180 € TTC", "status": "nouveau"}]}

États possibles d’un site : en file d’attente, en cours, rédaction en cours, prêt, erreur. Un site est en ligne quand en_ligne est renseigné.

Codes et limites

200réponse normale
201site créé
400demande invalide (corps JSON illisible ou champ manquant)
401clé absente ou inconnue
402formule ou quota de sites insuffisant
404site inconnu ou chemin inexistant
409ce domaine existe déjà
429plus de 60 appels par minute

=IMPORTDATA n’envoie pas d’en-tête : utilisez Apps Script (UrlFetchApp.fetch avec l’en-tête Authorization) ou un outil d’automatisation (Make, Zapier, n8n) pour lire vos sites dans une feuille Google.