API de listas del SAT
Consulta si un RFC aparece en el Anexo 69-B del CFF (EFOS) o en las listas del Artículo 69, desde tu sistema, con una llamada HTTP.
Tarifa base: $0.100 por RFC consultado + IVA
Qué consulta
- Anexo 69-B del CFF: contribuyentes que el SAT presume o define como operaciones simuladas (EFOS).
- Listas del Artículo 69 del CFF: créditos fiscales firmes y demás supuestos publicados por el SAT.
- Cada respuesta separa un hallazgo del 69-B de uno del Art. 69: no son lo mismo.
Planes y paquetes
Cada RFC consultado cuenta una vez, sea encontrado o no. Un plan mensual da un cupo de RFC que se renueva cada mes; un paquete prepagado se compra una vez y se gasta después del cupo mensual.
Planes mensuales
Básico
$99 MXN/mes + IVA
1,500 RFC al mes
$0.066 por RFC · 34% menos que prepagar
Profesional
$299 MXN/mes + IVA
6,000 RFC al mes
$0.050 por RFC · 50% menos que prepagar
Empresa
$899 MXN/mes + IVA
25,000 RFC al mes
$0.036 por RFC · 64% menos que prepagar
Se cobra cada mes con tarjeta y se cancela cuando quieras. El cupo se renueva el día 1 de cada mes y lo no usado se pierde. El IVA (16 %) se suma al pagar.
Paquetes prepagados
Pago único, sin mensualidad. Se usan después del cupo mensual. El saldo dura hasta agotarse, con máximo 12 meses desde la compra.
1,000 RFC
$100 + IVA
$0.100 por RFC
5,000 RFC
$500 + IVA
$0.100 por RFC
25,000 RFC
$2,500 + IVA
$0.100 por RFC
- Cada compra es un saldo nuevo; no se reemplaza el anterior.
- Si un RFC de una petición no alcanza el saldo, la petición completa se rechaza: nada se cobra a medias.
Cómo se usa
- Pide una llave gratis en la página de la API (una por correo). Con el plan gratis tienes 50 RFC al mes.
- Manda hasta 100 RFC por petición en un POST con tu llave en el encabezado Authorization.
- Si el saldo no alcanza para toda la petición, se rechaza completa (402) y no se cobra nada a medias.
Hasta 100 RFC por petición y 60 peticiones por minuto por llave.
Ejemplo
Estos RFC de prueba son ficticios y reservados: devuelven respuestas fijas con cualquier llave válida y no se cobran.
curl -X POST https://herramientasfiscales.mx/api/v1/efos/check \
-H "Authorization: Bearer af_tu_llave" \
-H "Content-Type: application/json" \
-d '{"rfcs": ["TST010101LIM", "TST010101DEF"]}'{
"consultadoEn": "2026-10-18T14:05:11-06:00",
"fuentes": [
{ "lista": "69b", "filas": 14807, "cargadaEn": "2026-10-18T09:00:00-06:00", "corteSat": "2026-09-30" },
{ "lista": "firmes", "filas": 264337, "cargadaEn": "2026-10-18T09:01:00-06:00", "corteSat": null }
],
"listasNoCargadas": [],
"resultados": [
{ "rfc": "TST010101LIM", "encontrado": false, "prueba": true },
{
"rfc": "TST010101DEF", "encontrado": true, "prueba": true,
"nombre": "EMPRESA DE PRUEBA DEFINITIVA SA DE CV",
"anexo69b": {
"situacion": "definitivo",
"fases": {
"presuncion": { "oficio": "PRUEBA-500-05-2020-0001", "fechaSat": "2020-02-10", "fechaDof": "2020-03-02" },
"definitivo": { "oficio": "PRUEBA-500-05-2020-0003", "fechaSat": "2020-11-20", "fechaDof": "2020-12-04" }
}
}
}
],
"errors": [],
"consumo": { "rfcsCobrados": 0, "saldoMensual": 50, "saldoPrepago": 0, "renueva": "2026-11-01T00:00:00-06:00", "proximoVencimientoPrepago": null }
}La respuesta real trae el mismo esquema. El campo consumo dice lo cobrado en esa petición: con los RFC de prueba, rfcsCobrados es 0.
Errores comunes: 401 INVALID_KEY, 402 SALDO_INSUFICIENTE, 429, 503 LISTAS_NO_DISPONIBLES. Referencia completa en la documentación.
Contrato formal para generar tu cliente: OpenAPI 3.1 (JSON).
Qué significa una respuesta
Las listas son las publicadas por el SAT; cada respuesta indica el corte de la fuente y cuándo la cargamos. Un RFC no aparece = no aparece en esas listas a esa fecha; no es un dictamen.
Preguntas o cotización para más volumen: hola@alce-soft.com
El validador de CFDI tiene su propia API, con su propio saldo: documentación.