API REST + servidor MCP
API de Informe SEO para
Desarrolladores y Agentes IA
Cree informes por REST, consulte su estado hasta que terminen y lea el mismo informe guardado que su equipo ve en el sitio web. La misma clave API de su plan de pago conecta cualquier agente compatible con MCP.
Modelo de acceso
El acceso a la API está vinculado a su cuenta y protegido por clave. Elija un plan, cree una clave API en su cuenta, y cada sitio nuevo que analice por la API usará los créditos de su plan, exactamente igual que en el sitio web. Los créditos se reinician el primer día de cada mes (UTC) y nunca se acumulan.
Sesiones de sitio web, llamadas API y sesiones de agente se leen del mismo estado del informe guardado.
Cree un informe, consulte su estado y lea los resultados completos desde el mismo objeto.
Puntos finales disponibles
/api/v1/reports/previewCrea una vista previa de la puntuación para integraciones de socios con un plan de pago.
/api/v1/reportsCrea un nuevo informe o reutiliza uno que ya exista. Añada "forceRerun": true para volver a escanear el sitio.
/api/v1/reports/:idObtén el último estado del informe y las secciones.
/api/v1/reports/:id/resultLee los resultados completos del informe.
/api/v1/reports/:id/download?format=jsonExportar la carga útil del informe como JSON para integraciones programáticas.
Quickstart: un informe SEO desde curl
Tres solicitudes cubren todo el flujo, con una clave API de su plan de pago. La primera crea el informe, la segunda lo consulta hasta que su estado deja de ser queued o running, y la tercera lo exporta. Un sitio nuevo usa un crédito; volver a analizar un sitio del que ya tiene un informe no consume créditos.
export SEOREPORT_API_KEY="sr__live_your_api_key"
# Send the key as a header file so it never sits in curl's argv, where ps shows
# it to every local user. printf is a shell builtin, so it spawns no process.
auth() { printf 'Authorization: Bearer %s\n' "$SEOREPORT_API_KEY"; }
# 1. Create a report and keep its job ID
JOB_ID=$(curl -s -X POST https://seoreport.dev/api/v1/reports \
-H @<(auth) \
-H "Content-Type: application/json" \
-d '{"url": "example.com"}' | jq -r '.report.jobId')
# 2. Poll until the report is no longer queued or running
while :; do
STATUS=$(curl -s "https://seoreport.dev/api/v1/reports/$JOB_ID" \
-H @<(auth) | jq -r '.report.status')
case "$STATUS" in queued|running) sleep 3 ;; *) break ;; esac
done
echo "status: $STATUS"
# 3. Export the finished report (format=pdf, md and txt also work)
curl -s "https://seoreport.dev/api/v1/reports/$JOB_ID/download?format=json" \
-H @<(auth) -o report.jsonQué devuelve la API de informes SEO
Cada informe terminado se exporta como un único documento JSON: la puntuación global y su nivel, una puntuación por área, cuántas páginas se analizaron, los problemas abiertos por gravedad y cada hallazgo en orden de corrección, con por qué importa, cómo corregirlo, cómo verificar la corrección y la evidencia y las páginas que lo respaldan. Markdown, texto y PDF se generan a partir del mismo diagnóstico.
{
"exportVersion": 1,
"jobId": "3f6c2a1e-8d4b-4c7a-9e21-5b0d7f4a6c18",
"targetUrl": "https://example.com",
"status": "completed",
"isSnapshotReady": true,
"auditedAt": "2026-10-14T09:12:41.000Z",
"locale": "en",
"score": { "overall": 72, "band": "stable" },
"areas": [
{ "id": "access_crawl", "name": "Crawl & Index", "score": 61 },
{ "id": "metadata_onpage", "name": "On-Page SEO", "score": 78 },
{ "id": "security", "name": "Security", "score": 84 }
],
"pagesAnalyzed": 24,
"openIssues": { "critical": 0, "high": 2, "medium": 5, "low": 3, "total": 10 },
"findings": [
{
"rank": 1,
"title": "Render parity mismatch",
"status": "fail",
"severity": "high",
"area": { "id": "access_crawl", "name": "Crawl & Index" },
"whyItMatters": "Raw HTML and rendered DOM should tell the same SEO story so crawlers and AI systems do not see conflicting versions of the page.",
"fix": "Ensure raw HTML and rendered DOM contain the same critical SEO elements (title, H1, canonical, meta description, structured data). If content is injected by JavaScript, move it to server-side rendering so crawlers see it immediately.",
"verification": [
"Recheck these recorded examples: https://example.com/pricing. Method: compare the raw HTML with the rendered DOM. Previously observed: H1 present only after rendering",
"Expected after the change: the same critical elements in both. Obtain a fresh capture and compare the same check and URLs; a changed sample alone does not verify a fix."
],
"evidence": ["Raw HTML and rendered DOM were compared for critical elements."],
"pages": ["https://example.com/pricing"]
}
]
}Errores y límites
Cada rechazo de esta lista indica su código. Si los gestiona, un script nunca reintenta a ciegas.
| 402 | PAYMENT_REQUIRED | No hay un plan de pago detrás de la solicitud: la clave falta, no es válida o fue revocada, o la cuenta no tiene un plan activo. Sin clave, la respuesta es 402, no 401. |
| 402 | REPORT_CREDITS_EXHAUSTED | Ya se usaron los créditos de sitios nuevos de este mes. Volver a analizar un sitio del que ya tiene un informe sigue funcionando, y los créditos se renuevan el primer día de cada mes (UTC). |
| 429 | FRESH_RUN_LIMIT | Más de 30 ejecuciones nuevas (forceRerun) en una hora para una cuenta. Espere el tiempo indicado en la cabecera Retry-After. |
| 200 | status: failed | dead_lettered | El informe no pudo terminar. GET /api/v1/reports/:id devuelve error.code, error.message y error.retryable cuando se registró la causa; reintente solo si retryable es true. |
| 200 | pollAfterMs | Cuánto esperar antes de volver a consultar el estado; 0 cuando el informe ya terminó. |
Guías de configuración y recetas
Páginas paso a paso para conectar un agente de IA por MCP, llamar a la API desde código y comparar API de SEO. En inglés.
Conectar un agente de IA (MCP)
- Connect SEOReport to Claude Code: MCP setup for SEO audits
- Connect SEOReport to Cursor: MCP setup for SEO audits
- Connect SEOReport to VS Code: MCP setup for GitHub Copilot
- Connect SEOReport to Windsurf (Devin Desktop): MCP setup
- Connect SEOReport to OpenAI Codex CLI: MCP setup for SEO audits
- Connect SEOReport to Gemini CLI: MCP setup for SEO audits
- Connect SEOReport to Claude Desktop: MCP setup for SEO audits
Llamar a la API desde código
API de monitoreo SEO
Un dominio registrado para monitoreo se vuelve a auditar cada semana. Cuando algo cambia, la dirección de alerta recibe un correo electrónico: un hallazgo crítico o de alta gravedad nuevo, un hallazgo crítico resuelto, o un cambio a una banda de puntuación diferente. Una semana sin cambios no envía nada.
/api/v1/monitorsInicia el monitoreo semanal de un dominio; "enabled": false lo pausa.
/api/v1/monitorsLista los dominios que esta cuenta monitorea.
/api/v1/monitors?url=Detiene el monitoreo de un dominio y elimina sus resultados almacenados.
# Uses the auth() helper from the quickstart above.
# Re-audit a domain every week and email [email protected] when it changes
curl -X PUT https://seoreport.dev/api/v1/monitors \
-H @<(auth) \
-H "Content-Type: application/json" \
-d '{"url": "example.com", "alertEmail": "[email protected]"}'
# List monitored domains
curl https://seoreport.dev/api/v1/monitors \
-H @<(auth)
# Stop monitoring (pass the host the list returns)
curl -X DELETE "https://seoreport.dev/api/v1/monitors?url=example.com" \
-H @<(auth)La monitorización está incluida en los planes de pago y no consume créditos de informes.
Oficial TypeScript Cliente
Un cliente tipado para la API REST. Autentíquese con la clave API de su plan y cree, consulte y exporte informes desde TypeScript.
Línea de comandos
Genere informes desde su terminal con su clave API. Una sola instalación global.
npm install -g @seoreport/clientServidor MCP: la misma API, la misma clave
Apunte cualquier cliente compatible con MCP a https://seoreport.dev/mcp y autentíquese con la misma clave API Bearer que usa en REST. Las herramientas de informes y de cuenta se anuncian al conectarse, así que un agente puede ejecutar una auditoría y leer los hallazgos sin código intermedio.
{
"mcpServers": {
"seoreport": {
"url": "https://seoreport.dev/mcp",
"headers": {
"Authorization": "Bearer sr__live_your_api_key"
}
}
}
}seoreport_create_reportInicia un informe para una URL y devuelve un ID de trabajo.
seoreport_get_report_statusConsulta el trabajo hasta que el informe esté listo.
seoreport_get_reportLee el informe terminado con su puntuación y hallazgos.
seoreport_list_reportsLista los informes de la cuenta.
seoreport_get_report_downloadObtén una URL de descarga en JSON, Markdown, texto o PDF.
seoreport_get_accountConsulta el plan de la cuenta, los créditos restantes y la fecha de renovación.
El pago devuelve un enlace para abrir en el navegador en lugar de cobrar directamente: un agente puede iniciarlo y solo una persona puede pagar. Cancelar un plan, gestionar las claves API y eliminar la cuenta se hace desde tu panel.
Listo para construir?
Elija un plan, cree una clave API y empiece a integrar informes SEO en su producto.