Una API de solo lectura para el resto de tu caja de herramientas
Los datos de SeoMap raramente se quedan quietos — un panel para un cliente, una hoja de reporting interna o un workflow de Zapier que avisa por Slack cuando termina un escaneo necesitan esas cifras en otro sitio. Para eso existe una API REST propia y documentada públicamente: acceso de solo lectura a tus propios proyectos, escaneos y puntos de cuadrícula por HTTP, con claves de API autogeneradas y revocables en cualquier momento. Sin listado en ningún marketplace, sin app oficial de Zapier necesaria — cualquier herramienta con un módulo HTTP genérico (Zapier, n8n, Make, un script propio) puede conectarse directamente.
Qué expone la API
Cuatro endpoints cubren toda la ruta de lectura: GET /api/v1/projects lista tus proyectos con ubicación y etiquetas, GET /api/v1/projects/:id/scans lista los escaneos de un proyecto con estado y métricas, GET /api/v1/scans/:id devuelve un escaneo concreto, y GET /api/v1/scans/:id/points devuelve el conjunto completo de puntos de cuadrícula con su ranking. Cada respuesta es JSON plano — sin sesión de login que sortear, sin necesidad de navegador. Esas cuatro capas (proyecto → escaneo → punto) reflejan cómo estructura los datos la propia aplicación, así que cualquier disparador de automatización visible en la app se traslada limpiamente a la API.
Autenticación por clave Bearer
Cada petición necesita una cabecera Authorization: Bearer <clave>. Una clave inválida o ya revocada devuelve 401. La clave en sí se almacena con hash — una vez mostrada en texto plano al crearla, nunca vuelve a poder verse, solo revocarse y sustituirse por una nueva. Se pueden mantener varias claves en paralelo (una para Zapier, otra para un script interno), cada una con su propia etiqueta y su propia marca de «última vez usada», para que distintas automatizaciones sean fáciles de distinguir y revocar por separado.
Lo que falta a propósito
La API se mantiene deliberadamente estrecha: sin acceso de escritura, sin forma de lanzar un escaneo o editar un calendario de escaneos recurrente a través de ella — eso se queda en la aplicación, en parte porque ahí vive la comprobación de créditos y presupuesto antes de cada escaneo. Tampoco se sirven los datos de facturación internos (coste por escaneo, cargos de créditos, estado BYOK), exactamente igual que en los enlaces públicos para compartir. Cualquier cosa más allá del acceso de lectura puro — lanzar escaneos desde un sistema externo, por ejemplo — sigue necesitando la aplicación por ahora.