API REST SEO pour développeurs
Le même moteur d'audit à 91 règles, accessible en HTTP simple. Apporte ton langage : curl, Node, Python, PHP, n'importe quoi qui parle HTTPS. Les mêmes clés API fonctionnent aussi avec notre serveur MCP.
Sans carte bancaire. Résultats en 30 secondes.
Ou colle simplement une URL : le même audit, sans rien installer.
Mis à jour
Authentification par token Bearer
Chaque endpoint authentifié accepte un token dans l'en-tête Authorization : Authorization: Bearer ms_live_xxx. Génère une clé sur app.metricspot.com/settings/api-keys (jusqu'à 10 par compte). L'endpoint d'audit anonyme fonctionne sans clé, limité à 1 audit par IP toutes les 24 heures. Les mêmes clés ms_live_ servent à la fois pour cette API REST et pour le serveur MCP MetricSpot.
curl
Endpoint anonyme, sans token. Renvoie l'enveloppe d'audit complète en ligne.
curl -X POST https://app.metricspot.com/api/public/audit \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}' Node (fetch)
Fonctionne en Node 18+, Bun, Deno et les navigateurs modernes. Aucune dépendance.
const res = await fetch("https://app.metricspot.com/api/audits", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer ms_live_xxx",
},
body: JSON.stringify({ url: "https://example.com" }),
});
const audit = await res.json(); Python (httpx)
requests est identique : remplace httpx.post par requests.post.
import httpx
res = httpx.post(
"https://app.metricspot.com/api/audits",
headers={"Authorization": "Bearer ms_live_xxx"},
json={"url": "https://example.com"},
)
audit = res.json() PHP
Extension cURL standard, disponible dans toute installation PHP depuis la 4.0.
<?php
$ch = curl_init("https://app.metricspot.com/api/audits");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: Bearer ms_live_xxx",
],
CURLOPT_POSTFIELDS => json_encode(["url" => "https://example.com"]),
CURLOPT_RETURNTRANSFER => true,
]);
$audit = json_decode(curl_exec($ch), true); Six endpoints, tout le moteur d'audit
Chaque endpoint exécute le même audit à 91 règles et les mêmes 11 modules de score que app.metricspot.com. JSON en entrée, JSON en sortie. L'endpoint d'essai anonyme ne demande pas de clé ; les cinq autres acceptent un token Bearer issu de ton dashboard.
/api/public/audit Audit anonyme
Lance un audit SEO et lisibilité IA unique sur n'importe quelle URL publique. Renvoie des scores sur 11 modules et 91 vérifications, plus des findings actionnables avec liens documentaires. Limité à 1 audit par IP toutes les 24 heures.
/api/audits Mettre un audit complet en file
Met en file un audit SEO et lisibilité IA complet. Inclut les Core Web Vitals depuis Google PageSpeed Insights, et le trafic organique si GA4 et Google Search Console sont connectés. Répond immédiatement avec audit_id et status: queued.
/api/audits/:id Récupérer un audit
Récupère par id un audit déjà mis en file. Renvoie les scores des 11 modules (0-100), le score total, chaque finding avec sévérité et texte de recommandation, ainsi que les liens vers les rapports HTML et PDF.
/api/audits Lister les audits
Liste les audits du compte, du plus récent au plus ancien, dédupliqués par URL. Renvoie audit_id, url, status, total_score, created_at. Limite par défaut 24, maximum 100. Pagination standard avec offset et limit.
/api/audits/:id/pdf Rendre un PDF brandé
Déclenche le rendu d'un PDF brandé pour un audit. Combine avec GET /api/pdfs/:id pour obtenir l'URL signée de téléchargement. Les assets de marque (logo, couleurs, pied) viennent des réglages Brands ; passe brand_id pour choisir une marque précise.
/api/audits/:id/google Trafic organique
Renvoie le snapshot 28 jours de trafic organique pour un audit si GA4 et Google Search Console sont connectés à l'URL auditée. Inclut le nombre de sessions, la tendance quotidienne, les principales pages d'atterrissage, les principales requêtes et la santé d'indexation.
API REST ou serveur MCP : ce qui colle à ton stack
Les deux interfaces parlent au même moteur d'audit, avec les mêmes clés et les mêmes données. Choisis REST si tu écris du HTTP simple depuis du CI, des scripts ou des outils no-code ; choisis MCP si un agent IA doit découvrir et enchaîner les outils tout seul.
| Cas d'usage | Audit SEO manuel | Autres APIs SEO | MCP MetricSpot | API REST MetricSpot |
|---|---|---|---|---|
| CI/CD sur chaque PR | Pas viable au rythme des PRs | Possible mais cher à l'appel, JSON fragile | Surdimensionné : MCP brille pour les agents interactifs, pas pour les jobs headless | Un curl dans une GitHub Action, commente le delta de score sur la PR |
| Outils no-code (Zapier, n8n, Make) | Export et copier-coller manuels | Bloc HTTP sur mesure, champs mappés à la main, fragile aux changements de schéma | Pas de support MCP dans les plateformes no-code grand public aujourd'hui | Bloc HTTP standard avec Bearer, réponse JSON qui mappe proprement |
| Stack polyglotte (Go, Ruby, Java) | Sans objet | Un SDK par langage, souvent maintenu par la communauté | Les bibliothèques client MCP existent surtout en TypeScript et Python | N'importe quel langage avec un client HTTPS marche dès le premier jour |
| Jobs internes planifiés | Des heures par mois, faciles à zapper | Tarification à l'appel, souvent par mot-clé ou par domaine | Fonctionne, mais un sous-processus stdio est gênant dans cron | HTTPS simple depuis cron, Kubernetes CronJob ou Lambda |
| Workflows d'agents IA | Un humain dans chaque boucle | Les agents peuvent appeler REST, mais via des wrappers écrits à la main | Pensé pour ça : descriptions et schémas auto-découverts | Possible, mais tu écriras toi-même le code de colle de l'agent |
| PDF brandé dans ton SaaS | Export et rebrand manuels | Souvent réservé au tier le plus cher | Disponible via get_audit_pdf, pensé pour les flux d'agents | POST /api/audits/:id/pdf puis GET /api/pdfs/:id, intègre-le dans ton UI |
Tarifs de l'API REST
L'API REST est incluse dans chaque plan payant MetricSpot : mêmes crédits d'audit, mêmes modules, même rendu PDF. L'endpoint d'audit anonyme est gratuit et fonctionne sans compte. Les appels authentifiés s'imputent sur le même quota mensuel d'audits que celui affiché dans ton dashboard. Les mêmes clés ms_live_ marchent pour l'API REST et le serveur MCP, sans quota séparé.
Free
$0/mo
Essaie la plateforme. Sans carte, sans engagement.
- ·10 audits par mois (1 par site toutes les 24 h)
- ·Les dix modules de score
- ·Téléchargement PDF avec notre marque
- ·Rapports multilingues
Starter
$29/mo
Pour les freelances qui livrent des rapports mensuels.
- ·Jusqu'à 5 domaines suivis
- ·50 audits par mois
- ·Rapports PDF entièrement en marque blanche
- ·Brand kit personnalisé (logo, couleur, pied de page)
Pro
$49/mo
Pour les agences, freelances et revendeurs.
- ·Tout ce qu'inclut Starter
- ·Ré-audits programmés (hebdomadaire, bimensuel ou mensuel)
- ·Domaines suivis illimités
- ·Rapports envoyés directement aux clients par email
Ce que les développeurs construisent avec l'API REST
Des patterns concrets que l'on voit chez les équipes déjà en production avec l'API. Chaque exemple utilise les mêmes six endpoints et le même token Bearer.
- •CI/CD : audite chaque preview deploy à l'ouverture d'une PR, poste un commentaire avec le delta de score par rapport à main, casse le build si le score chute de plus de 5 points.
- •Zapier, n8n, Make : déclenche un audit à l'arrivée d'un nouveau lead dans ton CRM, poste le score total et les 3 findings principaux dans un canal Slack, joins le PDF brandé.
- •Monitoring interne : planifie un audit nocturne de tes 50 URLs principales, injecte les scores de modules dans un panel Grafana, alerte quand une catégorie décroche.
- •SaaS en marque blanche : mets un audit en file à la demande de l'utilisateur, rends le PDF brandé, embarque les findings JSON dans ta propre UI sans héberger le moteur d'audit.
- •Garde-fous QA : bloque un deploy si le module de lisibilité IA passe sous le seuil promis au client, avec les règles fautives dans le log de build.
- •Reporting : appelle GET /api/audits/:id/google après chaque audit pour envoyer un seul PDF qui combine findings techniques et trafic organique sur 28 jours.
Écrire du HTTP simple depuis un script ou un runner CI est une voie. Si tu pilotes l'audit depuis un agent IA (Claude Code, Cursor, ChatGPT, Gemini), notre serveur MCP SEO expose les mêmes six outils via le Model Context Protocol avec des schémas auto-découverts : même moteur, mêmes clés, sans code de colle.
FAQ
L'API REST est-elle gratuite ?
L'endpoint d'audit anonyme (POST /api/public/audit) est gratuit et ne demande pas de compte, limité à 1 audit par IP toutes les 24 heures. Les endpoints authentifiés sont inclus dans chaque plan MetricSpot, y compris le Free (10 audits par mois). Pas de prix séparé pour l'API ni de surcoût par appel : les appels API s'imputent sur le même quota d'audits que celui affiché dans ton dashboard.
En quoi est-ce différent du serveur MCP ?
Même moteur d'audit, mêmes 91 règles, mêmes 11 modules, mêmes clés Bearer. L'API REST, c'est du HTTP simple pour des humains qui écrivent du code : curl, fetch, requests, ce que tu veux. Le serveur MCP parle Model Context Protocol pour que les agents IA (Claude Code, Cursor, ChatGPT, Gemini) découvrent automatiquement les outils, les schémas et l'auth. REST pour le CI, les scripts et le no-code ; MCP pour les workflows d'agents.
Puis-je l'utiliser avec des outils no-code comme Zapier ?
Oui. Toute plateforme no-code avec un bloc HTTP générique fonctionne : Zapier (Webhooks by Zapier), n8n (HTTP Request node), Make (module HTTP), Pipedream, Retool. Mets l'URL sur https://app.metricspot.com/api/audits, méthode POST, ajoute Authorization: Bearer ms_live_xxx aux headers et envoie {"url": "https://example.com"} en JSON. La réponse mappe proprement sur les champs natifs de toutes les plateformes testées.
Quels langages ont des SDK officiels ?
Aucun pour le moment. Tout ce qu'il te faut, c'est un client HTTPS et le parsing JSON, et tous les langages modernes l'ont en standard. Un SDK fin en JavaScript et TypeScript est sur la roadmap ; en attendant, les quatre exemples de code ci-dessus couvrent environ 90% des intégrations qu'on voit. Si tu veux un SDK dans un langage précis, ouvre une issue sur github.com/MetricSpot.
Comment je m'authentifie ?
Envoie Authorization: Bearer ms_live_xxx sur chaque appel authentifié. Les tokens portent le préfixe ms_live_ et ne sont affichés qu'une seule fois à la création ; le dashboard ne stocke qu'un hash. Traite-les comme n'importe quel autre secret : ne les commit jamais, fais-les tourner s'ils fuitent, une clé par intégration pour pouvoir révoquer indépendamment. Le dashboard limite chaque compte à 10 clés actives.
D'où viennent les clés API ?
Génère-les sur app.metricspot.com/settings/api-keys après ton inscription à n'importe quel plan, y compris Free. Chaque clé n'est affichée qu'une fois ; copie-la dans ton coffre à secrets tout de suite. Les mêmes clés marchent pour l'API REST et pour le serveur MCP MetricSpot, donc tu ne gères qu'un seul jeu d'identifiants pour les deux voies d'intégration.
Les données sont-elles les mêmes que dans le dashboard MetricSpot ?
Oui. Chaque endpoint passe par le même moteur d'audit qui anime app.metricspot.com : les mêmes 91 règles sur 11 modules, les mêmes sévérités, les mêmes textes de recommandation. Le PDF retourné par POST /api/audits/:id/pdf est exactement celui que tu télécharges depuis le dashboard. Le trafic organique vient des mêmes connexions GA4 et Google Search Console que tu as autorisées dans ton compte.
Quels sont les rate limits ?
L'endpoint anonyme est plafonné à 1 audit par IP toutes les 24 heures. Les endpoints authentifiés s'imputent sur le quota mensuel de ton plan : Free c'est 10 par mois (1 par site toutes les 24 heures), Starter c'est 50 par mois, Pro c'est illimité. Pas de rate limit par seconde au-delà de ce que la pipeline d'audit peut absorber ; si tu en mets des dizaines en file, ils seront traités dans l'ordre.
Fini les rapports SEO rédigés à la main.
Lance un audit, appose ta marque au PDF, envoie-le. En cinq minutes.
Démarre ton premier audit