API REST SEO per sviluppatori

L'API SEO di MetricSpot lancia lo stesso audit a 154 regole (on-page + leggibilità IA) della nostra dashboard, via HTTP puro. Porta il tuo linguaggio: curl, Node, Python, PHP, qualsiasi cosa parli HTTPS. Le stesse chiavi Bearer funzionano anche con il nostro server MCP.

Prova l'API SEO subito, senza registrazione, senza token, solo curl:

curl -s -X POST https://app.metricspot.com/api/public/audit \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}' | jq .total_score

Senza carta. Risultati in 30 secondi.

Prova ogni chiamata dal browser

Riferimento OpenAPI 3.1 con esempi di richiesta live per tutti i 12 endpoint.

Apri il riferimento API →

Autenticazione con token Bearer

Ogni endpoint autenticato accetta un token nell'header Authorization: Authorization: Bearer ms_live_xxx. Genera una chiave su app.metricspot.com/settings/api-keys (fino a 10 per account). Le chiamate autenticate con token richiedono il piano Pro e pesano sulla tua quota di 5.000 al mese. L'endpoint di audit anonimo funziona senza chiave, limitato a 1 audit per IP ogni 24 ore. Le stesse chiavi ms_live_ funzionano sia per questa API REST sia per il server MCP di MetricSpot.

curl

Endpoint anonimo, senza token. Restituisce la busta di audit completa inline.

curl -X POST https://app.metricspot.com/api/public/audit \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'

Node (fetch)

Funziona in Node 18+, Bun, Deno e nei browser moderni. Senza dipendenze.

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 funziona allo stesso modo: sostituisci httpx.post con 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

Estensione cURL standard, disponibile in ogni installazione di PHP dalla 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);

Dodici endpoint, tutto il motore di audit

Ogni endpoint esegue lo stesso audit a 154 regole e gli stessi 15 moduli di punteggio di app.metricspot.com. JSON in ingresso, JSON in uscita. L'endpoint anonimo di prova non richiede chiavi; gli altri undici accettano un token Bearer dalla tua dashboard.

POST /api/public/audit
Senza auth

Audit anonimo

Lancia un audit SEO e di leggibilità per IA una tantum su qualsiasi URL pubblico. Restituisce punteggi su 15 moduli e 154 controlli, oltre a finding azionabili. Senza account. Limitato a 1 audit per IP ogni 24 ore.

POST /api/audits
Bearer richiesto

Metti in coda un audit completo

Mette in coda un audit SEO e di leggibilità per IA completo. Include Core Web Vitals da Google PageSpeed Insights e traffico organico se GA4 e Google Search Console sono collegati. Risponde subito con audit_id e status: queued.

GET /api/audits/:id
Bearer richiesto

Recupera audit

Recupera tramite id un audit già messo in coda. Restituisce i punteggi dei 15 moduli (0-100), il punteggio totale, ogni finding con severità e testo di raccomandazione, oltre ai link ai report HTML e PDF.

GET /api/audits
Bearer richiesto

Elenca audit

Elenca gli audit dell'account, dai più recenti, deduplicati per URL. Restituisce audit_id, url, status, total_score, has_ga, has_gsc, created_at. Limite predefinito 24, massimo 100.

DELETE /api/audits/:id
Bearer richiesto

Elimina audit per URL

Elimina tutti gli audit con lo stesso URL dell'audit_id indicato. Restituisce 204 in caso di successo.

PATCH /api/audits/reorder
Bearer richiesto

Riordina audit

Imposta la posizione di visualizzazione degli audit nella dashboard. Body: { "url_order": ["https://a.com", "https://b.com", ...] } (max 200 URL). Restituisce 204.

GET /api/audits/history
Bearer richiesto

Storico audit

Restituisce fino a 50 audit storici per un URL. Utile per seguire l'andamento del punteggio nel tempo. Query: ?url=<url-codificato>.

GET /api/audits/usage
Bearer richiesto

Consumo audit

Restituisce la quota audit del mese corrente: audits_remaining, audits_used, plan_limit, reset_at.

POST /api/audits/:id/pdf
Bearer richiesto

Renderizza PDF brandizzato

Avvia il rendering di un PDF brandizzato per un audit completato. Body: { "language": "en", "brand_id": 42 } (entrambi opzionali). Restituisce 201 con { pdf: { id, status: "pending" } }. Combina con GET /api/pdfs/:id per fare polling.

GET /api/pdfs/:id
Bearer richiesto

Polling stato PDF

Restituisce { pdf: { id, status, download_url } }. Se Accept: application/pdf e lo stato è ready, restituisce direttamente il binario del PDF.

GET /api/pdfs/:id/download
Bearer richiesto

Scarica PDF

Download diretto di un PDF completato con Content-Disposition: attachment.

GET /api/audits/:id/report
Bearer richiesto

Anteprima report HTML

Renderizza il report di audit come HTML brandizzato (lo stesso template da cui viene generato il PDF). Utile per incorporarlo in un iframe di portale cliente prima di scaricare il PDF. Query: ?lang=en&brand_id=42.

API REST o server MCP: cosa si adatta al tuo stack

Entrambe le interfacce parlano con lo stesso motore di audit, con le stesse chiavi e gli stessi dati. Scegli REST quando scrivi HTTP puro da CI, script o tool no-code; scegli MCP quando un agente IA deve scoprire e concatenare strumenti da solo.

Caso d'uso Audit SEO manuale Altre API SEO MCP di MetricSpot API REST di MetricSpot
CI/CD su ogni PR Non fattibile al ritmo dei PR Possibile ma costoso per chiamata, JSON fragile Esagerato: MCP brilla con agenti interattivi, non con job headless Un curl in una GitHub Action, commenta il delta di punteggio sulla PR
Tool no-code (Zapier, n8n, Make) Export e copia-incolla manuali Blocco HTTP su misura, campi mappati a mano, fragile ai cambi di schema Oggi nessun supporto MCP nelle piattaforme no-code mainstream Blocco HTTP standard con Bearer, risposta JSON che mappa pulita
Stack poliglotta (Go, Ruby, Java) Non applicabile Serve un SDK per linguaggio, spesso community-driven Le librerie client MCP esistono soprattutto per TypeScript e Python Qualsiasi linguaggio con client HTTPS funziona dal primo giorno
Job interni pianificati Ore al mese, facili da saltare Prezzo per chiamata, spesso per keyword o per dominio Funziona, ma un sottoprocesso stdio è scomodo dentro cron HTTPS puro da cron, Kubernetes CronJob o Lambda
Workflow con agenti IA Umano in ogni loop Gli agenti possono chiamare REST, ma servono wrapper scritti a mano Pensato per questo: descrizioni e schemi scoperti automaticamente Possibile, ma il codice di collegamento dell'agente lo scrivi tu
PDF brandizzato nel tuo SaaS Export e rebrand manuali Di solito solo nel piano più caro Disponibile via get_audit_pdf, pensato per i flussi degli agenti POST /api/audits/:id/pdf e poi GET /api/pdfs/:id, integra nella tua UI

Come l'API SEO di MetricSpot si confronta con DataForSEO e Serpstack

DataForSEO è un marketplace completo di dati SEO; Serpstack è un'API di scraping di SERP; MetricSpot è un'API focalizzata su audit on-page e leggibilità per IA. Stesso trio di lettere, forma di valore diversa. Scegli quella che corrisponde al lavoro che stai realmente facendo.

Cosa confronti DataForSEO Serpstack API SEO MetricSpot
Lavoro principale che risolve Marketplace dati massiccio: SERP, keyword, backlink, on-page Fa scraping dell'HTML delle SERP di Google su richiesta Lancia un audit completo on-page + leggibilità IA su una URL, restituisce score e correzioni
Cosa ottieni da una chiamata JSON specifico per endpoint; l'audit on-page restituisce ~30 tag/problemi Risultati SERP, annunci, query correlate, nessuna valutazione on-page Score totale, 15 moduli (0-100), ogni finding delle 154 regole, severità, testo di raccomandazione
Modello di prezzo A chiamata, varia per endpoint ($0,0006-$0,002 ciascuna), saldo prepagato Mensile a scaglioni: 100 gratis / $30 per 5K / fino a $200 per 50K SERP Forfait $49/mese Pro = 5.000 chiamate API, senza calcoli per chiamata
Endpoint di prova anonimo No, richiede registrazione + deposito di $1 100 chiamate/mese gratis con registrazione + access key Sì, 1 audit/IP/24h senza alcuna registrazione, JSON completo
Check di leggibilità per IA / era LLM Non nel modulo on-page Non applicabile (solo SERP) Modulo dedicato: llms.txt, schema per IA, contenuti citabili, chiarezza semantica
PDF white-label brandizzato Non fornito Non fornito POST /api/audits/:id/pdf restituisce un PDF con il tuo logo e i tuoi colori
Server MCP per agenti IA Nessun MCP ufficiale Nessun MCP ufficiale Sì, stesse chiavi Bearer, stesso motore di audit, compatibile con Claude Code, Cursor e ChatGPT
Stile di autenticazione HTTP Basic con login + password (raro negli stack moderni) Chiave API in query string (?access_key=…) Header standard Authorization: Bearer ms_live_xxx

Prezzi dell'API REST

L'API REST è inclusa nel Pro 49 $/mese. Gli account Pro ricevono 5.000 chiamate API al mese su uno qualsiasi dei dodici endpoint autenticati con token. L'endpoint di audit anonimo è gratuito per tutti (limitato a 1 per IP ogni 24 h). Gli account Free e Starter possono consultare la documentazione e generare token, ma le chiamate autenticate con token restituiscono 403 fino al passaggio a Pro. Le stesse chiavi ms_live_ funzionano sia per questa API REST sia per il server MCP di MetricSpot, sulla stessa quota mensile condivisa.

Free

$0/mo

Prova la piattaforma. Senza carta, senza impegno.

  • ·10 audit al mese (1 per sito ogni 24h)
  • ·Tutti e dieci i moduli di punteggio
  • ·Download PDF con il nostro brand
  • ·Report multilingua

Starter

$29/mo

Per freelance con report mensili.

  • ·Fino a 5 domini monitorati
  • ·50 audit al mese
  • ·Report PDF completamente white-label
  • ·Brand kit personalizzato (logo, colore, footer)

Pro

$49/mo

Per agenzie, freelance e rivenditori.

  • ·Tutto incluso in Starter
  • ·Re-audit pianificati (settimanale, quindicinale o mensile)
  • ·Report comparativi con i concorrenti (fino a 3 concorrenti)
  • ·Domini monitorati illimitati

Vedi limiti e prezzi dei piani →

Cosa costruiscono gli sviluppatori con l'API REST

Pattern concreti che vediamo nei team già in produzione con l'API. Ogni esempio usa gli stessi strumenti e lo stesso token Bearer.

  • CI/CD: audita ogni preview deploy all'apertura di una PR, pubblica un commento con il delta di punteggio rispetto a main, rompi la build se il punteggio cala di più di 5 punti.
  • Zapier, n8n, Make: avvia un audit quando arriva un nuovo lead nel tuo CRM, manda il punteggio totale e i 3 finding principali in un canale Slack, allega il PDF brandizzato.
  • Monitoraggio interno: pianifica un audit notturno dei tuoi 50 URL principali, invia i punteggi dei moduli a un pannello Grafana e alza un alert quando una categoria cala.
  • SaaS white-label: metti in coda un audit a richiesta dell'utente, renderizza il PDF brandizzato e incorpora i finding JSON nella tua UI senza ospitare il motore di audit.
  • Gate di QA: blocca un deploy se il modulo di leggibilità per IA scende sotto la soglia concordata con il cliente, con le regole fallite nel log di build.
  • Reportistica: chiama GET /api/audits/history?url= dopo ogni audit per consegnare un grafico dell'andamento del punteggio nel tempo insieme all'ultimo PDF brandizzato.

Scrivere HTTP puro da uno script o da un runner CI è una via. Se guidi l'audit da un agente IA (Claude Code, Cursor, ChatGPT, Gemini), il nostro server MCP SEO espone gli stessi strumenti via Model Context Protocol con schemi scoperti automaticamente: stesso motore, stesse chiavi, niente codice di collegamento.

Domande frequenti

L'API REST è gratuita?

L'endpoint di audit anonimo (POST /api/public/audit) è gratuito e non richiede un account, limitato a 1 audit per IP ogni 24 ore. Gli undici endpoint autenticati con token richiedono il piano Pro a 49 $/mese, che include 5.000 chiamate API al mese senza costi aggiuntivi.

Che differenza c'è con il server MCP?

Stesso motore di audit, stesse 154 regole su 15 moduli, stesse chiavi Bearer. L'API REST è HTTP puro per chi scrive codice a mano: curl, fetch, requests, quel che vuoi. Il server MCP parla Model Context Protocol così gli agenti IA (Claude Code, Cursor, ChatGPT, Gemini) scoprono in automatico strumenti, schemi e auth. REST per CI, script e no-code; MCP per i flussi con agenti.

Posso usarla con tool no-code come Zapier?

Sì. Qualsiasi piattaforma no-code con un blocco HTTP generico funziona: Zapier (Webhooks by Zapier), n8n (HTTP Request node), Make (modulo HTTP), Pipedream, Retool. Imposta l'URL su https://app.metricspot.com/api/audits, metodo POST, aggiungi Authorization: Bearer ms_live_xxx negli header e invia {"url": "https://example.com"} come JSON. La risposta mappa pulita sui campi nativi di tutte le piattaforme testate.

Quali linguaggi hanno SDK ufficiali?

Nessuno per ora. Tutto quello che serve è un client HTTPS e il parsing JSON, e ogni linguaggio moderno lo ha di serie. Un SDK snello in JavaScript e TypeScript è in roadmap; nel frattempo i quattro esempi di codice sopra coprono circa il 90% delle integrazioni che vediamo. Se vuoi un SDK in un linguaggio specifico, apri una issue su github.com/MetricSpot.

Come mi autentico?

Invia Authorization: Bearer ms_live_xxx in ogni chiamata autenticata. I token hanno il prefisso ms_live_ e vengono mostrati una volta sola alla creazione; la dashboard conserva solo un hash. Trattali come ogni altro segreto: mai committarli, ruotali se vengono esposti, una chiave per integrazione così puoi revocare in modo mirato. La dashboard limita ogni account a 10 chiavi attive.

Da dove arrivano le chiavi API?

Generale su app.metricspot.com/settings/api-keys dopo esserti iscritto a un qualsiasi piano, incluso il Free. Ogni chiave viene mostrata una volta sola; copiala subito nel tuo secret store. Le stesse chiavi funzionano per l'API REST e per il server MCP di MetricSpot, quindi gestisci un solo set di credenziali per entrambe le vie di integrazione.

I dati sono gli stessi della dashboard MetricSpot?

Sì. Ogni endpoint passa per lo stesso motore di audit che alimenta app.metricspot.com: le stesse 154 regole su 15 moduli, le stesse severità, gli stessi testi di raccomandazione. Il PDF da POST /api/audits/:id/pdf è lo stesso che scarichi dalla dashboard.

Quali sono i rate limit?

L'endpoint anonimo è limitato a 1 audit per IP ogni 24 ore. L'accesso all'API richiede Pro 49 $/mese. Pro include 5.000 chiamate API al mese. Free e Starter non includono l'accesso all'API. L'endpoint anonimo resta gratuito (1 per IP ogni 24 h).

Cosa succede se supero le 5.000 chiamate in un mese?

L'endpoint restituisce HTTP 429 con body { error: "quota_exceeded", used: 5000, limit: 5000 }. La quota si azzera all'inizio del mese di calendario successivo. Se ti serve una quota più alta, scrivici tramite il modulo di supporto e troviamo una fascia su misura.

Basta scrivere report SEO a mano.

Lancia un audit, applica il tuo brand al PDF, invialo al cliente. In cinque minuti.

Avvia il tuo primo audit