Para máquinas
API y agentes de IA
Todo el portal existe también como JSON con fecha de verificación y fuente en cada respuesta. Lo básico es gratis y sin llave; lo detallado se paga por consulta con el protocolo x402 (HTTP 402) o con una llave Pro. Los rastreadores y asistentes que citan la fuente son bienvenidos.
1. Descubrir
/llms.txt describe el sitio para modelos de lenguaje. /api/v1 es el índice con precios y /api/v1/openapi.json la especificación.
2. Leer gratis
Sin llave ni cabeceras especiales. Identifica a tu agente en el User-Agent y cita "Observatorio CFDI, verificado el <fecha de la respuesta>".
3. Pagar por consulta
Los endpoints /premium responden 402 con los datos de pago; el cliente x402 lo resuelve solo. Con llave Pro, pasan sin pagar.
Endpoints gratuitos
| Endpoint | Qué regresa |
|---|---|
GET /api/v1 | Índice del API: endpoints, precios y cómo pagar. |
GET /api/v1/pacs | Los 49 PAC de la lista oficial del SAT y el facturador del SAT: segmento, API conocida, participación de mercado, autorización vigente o revocada y estado actual del servicio gratuito. |
GET /api/v1/pacs/{slug} | Ficha de un proveedor: perfil verificado, fuentes, participación de mercado y estado actual. |
GET /api/v1/estado | Estado actual del servicio gratuito de todos los proveedores (última corrida). |
GET /api/v1/mercado | El mercado en cifras oficiales del SAT: totales, los 10 primeros por facturas y por contribuyentes, bajas recientes y fecha de corte. |
GET /api/v1/costos | Precios públicos del timbrado en México (PAC, revendedores y SAT), cada uno con fuente y fecha. |
curl -s https://observatorio.app.corderoai.com/api/v1/mercado | jq '.top.facturas[0:3]' curl -s https://observatorio.app.corderoai.com/api/v1/pacs/sw-sapien-smartweb | jq '.mercado'
Endpoints de paga (x402)
x402 todavía no está activado en este despliegue: los endpoints de paga responden
503 con instrucciones. Se activa en cuanto exista la wallet de la empresa (primero en la red de pruebas Base Sepolia, después en Base).| Endpoint | Qué regresa | USD / consulta |
|---|---|---|
GET /api/v1/premium/mercado/series | Series completas 2011–hoy de facturas y contribuyentes de los 50 PAC, con participación, posición y crecimiento por año. | $0.02 |
GET /api/v1/premium/pacs/{slug}/historial | Historial completo de verificaciones de un proveedor: fecha, código, detalle y latencia. | $0.01 |
GET /api/v1/premium/benchmark | Benchmark completo: disponibilidad, latencia mediana, rachas, participación de mercado y ranking de todos los proveedores. | $0.05 |
Cómo funciona el pago
- Pides el endpoint sin pagar. Recibes
402 Payment Requiredcon la cabeceraPAYMENT-REQUIRED: monto, red, activo (USDC) y dirección de cobro. - Tu cliente firma el pago con su wallet y repite la petición con la cabecera
PAYMENT-SIGNATURE. - Verificamos con el facilitador y respondemos. Solo se liquida el pago si la respuesta fue exitosa.
Con el cliente oficial en TypeScript el flujo es automático:
import { wrapFetchWithPayment } from "@x402/fetch";
// tu firmante (viem/ethers) con USDC en la red indicada
const fetchConPago = wrapFetchWithPayment(fetch, cliente);
const r = await fetchConPago("https://observatorio.app.corderoai.com/api/v1/premium/mercado/series");
const series = await r.json();Con llave Pro (sin pagar por consulta)
curl -H "Authorization: Bearer <tu-llave>" \ https://observatorio.app.corderoai.com/api/v1/premium/pacs/prodigia-pade/historial
Reglas de la casa
- Los datos gratuitos pueden citarse y redistribuirse indicando la fuente y la fecha de verificación que trae cada respuesta.
- Límite razonable por IP en lo gratuito (suficiente para cualquier asistente; no para clonar el sitio cada minuto). Si necesitas más, llave Pro.
- Nunca inferimos ni rellenamos: un campo
nullsignifica "pendiente de verificar", no cero. - Los PAC pueden corregir su ficha enviando la fuente. Ver metodología.