Referencia de la API de Conceptos básicos - LLM Pulse

Filtros y parámetros comunes

Definición de métricas

Estas semánticas están alineadas 1:1 con la interfaz de Resumen.

En /metrics/summary, total es una suma para las métricas de recuento y una media para avg_position, avg_mention_position y net_sentiment.

Formatos de salida para herramientas de BI

Los endpoints de lectura devuelven JSON anidado por defecto, lo que resulta cómodo para el código pero ilegible para las herramientas de business intelligence. Pasa el parámetro opcional output para obtener los mismos datos como una tabla rectangular que Tableau, Excel, Google Sheets o un cargador de data warehouse puedan consumir directamente.

Disponible en /metrics/timeseries, /metrics/summary, /metrics/sov, /metrics/prompt_summary, /metrics/top_sources, la serie /search_console/* y los endpoints /dimensions/* que devuelven listas. Los endpoints cuyo payload no es una única tabla (/metrics/agent_traffic, /metrics/ai_traffic, /search_console/summary, /dimensions/models, /dimensions/locales) rechazan output en lugar de ignorarlo.

/metrics/sov también acepta view=over_time (por defecto), view=current o view=breakdown: su payload contiene varias formas distintas y una tabla solo puede contener una a la vez.

Columnas por endpoint

Endpoint Columns
/metrics/timeseries date, actor_type, actor_id, actor_name, actor_domain, metric, value
/metrics/summary actor_type, actor_id, actor_name, actor_domain, metric, aggregation, total, min, max, last
/metrics/sov date, actor_type, actor_id, actor_name, actor_domain, share
/metrics/sov?view=current actor_type, actor_id, actor_name, actor_domain, share
/metrics/sov?view=breakdown rank, actor_type, actor_id, actor_name, actor_domain, share, others
/metrics/prompt_summary, /metrics/top_sources, /search_console/*, /dimensions/* The keys of the endpoint's own data rows

Ejemplo

GET /api/v1/metrics/timeseries?project_id=1&range=30&metrics=mentions&output=csv

date,actor_type,actor_id,actor_name,actor_domain,metric,value
2025-01-01,project,1,My Brand,mybrand.com,mentions,10
2025-01-01,competitor,2,Competitor A,competitor.com,mentions,5

Notas:

Caché y GET condicional

Los endpoints de métricas (timeseries, summary, sov, top_sources) admiten GET condicional. Calculamos un ETag a partir de la versión del proyecto y de un hash de tus parámetros de consulta, y usamos el updated_at del proyecto como Last-Modified.

Envía If-None-Match o If-Modified-Since para recibir 304 Not Modified cuando nada haya cambiado.

Errores

Los errores siguen una estructura JSON uniforme. Basa la gestión de los errores en el campo code. El campo message contiene los detalles del error cuando están disponibles; de lo contrario, contiene un identificador predeterminado, como missing_authorization:

Código HTTP Significado
ERR_MISSING_AUTH 401 Falta el encabezado Authorization o está mal formado
ERR_INVALID_API_KEY 401 Token no reconocido
ERR_REVOKED_API_KEY 403 Clave revocada
ERR_PROJECT_NOT_FOUND 404 project_id no accesible para este usuario
ERR_NOT_FOUND 404 Recurso no encontrado
ERR_INVALID_PARAM 422 Error de validación (consulta el mensaje)
ERR_LIMIT_REACHED 422 Límite de proyectos, prompts, informes técnicos GEO o recomendaciones alcanzado (el mensaje indica cuál)
ERR_QUOTA_EXCEEDED 422 Tope de competidores, tareas de GEO Writer o suscripciones de webhooks alcanzado (el mensaje indica cuál)

Estructura del cuerpo de error:

Casos típicos de 422:

Versiones y límites de solicitudes

Versión actual: v1. Los futuros cambios incompatibles incrementarán la versión de la ruta (p. ej. /api/v2).

Límite de solicitudes: 300 solicitudes por minuto y clave de API. Contacta con nosotros para cuotas superiores.

Los endpoints de métricas admiten GET condicional (ETag/Last-Modified); consulta Caché y GET condicional.