CFE API
Recibos de CFE en JSON estructurado. Sin login, sin scraping, vía API.
Pago seguro con Stripe. Recibes tu API key al instante.
¿Ya eres cliente? Portal de facturación →Cómo funciona
- Ingresa tu correo y paga 100 MXN = 20 créditos iniciales.
- Recibes tu API key al instante. Tu tarjeta queda en archivo.
- Cuando se acaben los créditos, seguimos cobrando por uso (5.00 MXN por consulta) y te facturamos al fin de mes.
Precio
- 100 MXN al registro = 20 créditos.
- Después: 1 crédito (5.00 MXN) por consulta nueva, facturado mensualmente.
- Consultas desde caché (hasta el próximo corte CFE): gratis.
- Periodos anteriores (
"periodo": "YYYY-MM"): 1 crédito por periodo consultado; repetir un periodo ya consultado es gratis para siempre. - Errores: no se cobran.
Ejemplo de uso
curl -X POST https://cfe-api.fly.dev/api/v1/consulta \
-H "X-API-Key: cfe_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"rpu":"123456789012","nombre":"COMERCIALIZADORA EJEMPLO SA DE CV"}'
Respuesta de ejemplo
{
"request_id": "9f2c1a7e4b8d",
"cached": false,
"metered": false,
"charged_cents": 500,
"fetched_at": 1777415627,
"expires_at": 1780012799,
"data": {
"rpu": "123456789012",
"nombre": "COMERCIALIZADORA EJEMPLO SA DE CV",
"direccion": "PARQUE INDUSTRIAL NORTE 45, QUERETARO, QRO",
"tarifa": "HM",
"tarifa_reg": "GDMTH",
"uso": "Industrial",
"esquema": "",
"hilos": "3",
"rfc": "CEJ800101A12",
"num_medidor": "ABC1234",
"fecha": "2026-08-14T09:12:41",
"periodo_desde": "2026-07-17",
"periodo_hasta": "2026-08-14",
"fecha_limite": "2026-09-01",
"fecha_corte": "2026-09-03",
"dias_periodo": 28,
"consumo_kwh": 48210,
"demanda_kw": 141,
"factor_potencia": 93.4,
"desglose": {
"base": {"consumo_kwh": 9840, "demanda_kw": 102},
"intermedia": {"consumo_kwh": 34620, "demanda_kw": 141},
"punta": {"consumo_kwh": 3750, "demanda_kw": 98}
},
"lectura_actual": 5342,
"lectura_anterior": 5101,
"carga_contratada_kw": 180,
"subtotal": 118342.50,
"iva": 18934.80,
"total": 137277.30,
"annual_kwh": 561400,
"historial": [
{
"mes": "JUL", "año": "2026",
"periodo_desde": "2026-06-15", "periodo_hasta": "2026-07-17",
"consumo_kwh": 45880, "demanda_kw": 138, "factor_potencia": 92.8,
"facturado": 129804.10, "pagado": 129804.10,
"desglose": {
"base": {"demanda_kw": 99}, "intermedia": {"demanda_kw": 138}, "punta": {"demanda_kw": 101}
}
}
],
"conceptos": [
{"descripcion": "Energía", "importe": 118342.50},
{"descripcion": "IVA 16%", "importe": 18934.80},
{"descripcion": "Fac. del Periodo", "importe": 137277.30}
]
},
"xml_url": "https://cfe-api.fly.dev/api/v1/xml/123456789012/2026-09-03?e=...&s=...",
"pdf_url": "https://cfe-api.fly.dev/api/v1/recibo/123456789012/2026-09-03?e=...&s=..."
}
En tarifas no horarias (1, 1A–1F, DAC…) desglose es null.
Agrega "periodo": "YYYY-MM" al cuerpo para pedir el recibo completo de un
periodo anterior — 1 crédito por periodo consultado.
Documentación completa, changelog y ejemplos en curl, Python, Node y Go: github.com/zomars/cfe-api-docs.