DEV Community

Luciano Matos Santos
Luciano Matos Santos

Posted on

Cómo detecto cambios en APIs mexicanas automáticamente (gratis, con GitHub Actions)

Si alguna vez integraste un PAC para timbrar CFDI, SPEI o una paquetería mexicana, seguro te pasó: algo cambió en la documentación y te enteraste cuando producción ya estaba fallando. Muchas de estas APIs no tienen changelog, y las que sí lo tienen no siempre avisan.

Me cansé de eso y armé APIs de México, un directorio gratis en español de 36 APIs que usamos aquí y que revisa cada mañana si cambió algo. Aquí les cuento cómo funciona por dentro.

Dos tipos de fuente

  • Feeds y changelogs oficiales (13 APIs). Fáciles: se descargan y se compara la última entrada.
  • Páginas de documentación (23 APIs). Aquí está lo difícil: no hay feed, así que hay que guardar una "foto" de la página y compararla con la del día anterior.

La arquitectura

  1. Un script en Python descarga cada fuente.
  2. Extrae solo el texto relevante y guarda un snapshot en el mismo repo.
  3. Compara contra el snapshot anterior y, si hay cambio real, lo registra con un resumen.
  4. Genera un sitio estático (con RSS por API) y lo publica en Cloudflare Pages.

Guardar los snapshots en git me da el historial completo gratis: cada cambio queda como un commit.

Matar el ruido

El primer día casi todo "cambiaba". Las páginas traen fechas, banners, scripts e IDs aleatorios que se mueven solos. WhatsApp Business y UPS eran los peores.

Lo que funcionó:

  • Quitar scripts y estilos y quedarme solo con el texto.
  • Normalizar espacios en blanco.
  • Reemplazar con un comodín los patrones que siempre cambian (fechas, horas, tokens).
  • Para algunas páginas, leer solo un selector concreto en vez de todo el HTML.

Con eso los falsos positivos desaparecieron y quedaron solo cambios de contenido.

Corre solo con GitHub Actions

Un workflow con cron corre todos los días a las 6 am hora de Mérida (12:00 UTC), detecta, hace commit de los snapshots y despliega a Cloudflare con un secreto del repo. No hay servidor.

El primer cambio real

El primer día ya detectó algo de verdad: un incidente en la página de estado de Mercado Pago que pasó a resuelto.

Costo

$0 al mes: GitHub Actions y Cloudflare Pages en sus planes gratuitos.

¿Qué API agrego?

El directorio no pide registro y tiene RSS por API y un boletín semanal: https://apisdemexico.pages.dev

¿Qué API mexicana o de LatAm les ha roto algo sin avisar? Los leo en los comentarios.

Top comments (0)