Cómo validar un CFDI y consultar las listas negras del SAT por API
28 de octubre de 2026 · Equipo Zoosial
Con la API de Datos SAT de Zoosial validas si un CFDI sigue vigente con POST /sat/cfdi/status y revisas hasta 1,000 RFC contra las listas negras del SAT con POST /sat/lists/check. Ninguna de las dos pide e.firma ni la contraseña de tu cliente, y sin plan tienes 50 consultas gratis al día. Esto no es asesoría fiscal: ante una coincidencia, consulta a tu contador.
Qué es gratis y qué no
| Consulta | Costo |
|---|---|
| Listas negras, estado de CFDI, lectura de XML y opinión de cumplimiento pública | Sin e.firma. Incluidas en cualquier plan; sin plan, 50 consultas gratis al día |
| Descarga masiva de CFDI, opinión completa y constancia | Con e.firma del contribuyente y plan por bloques de RFC |
Los bloques de RFC son de 10 al mes, en MXN más IVA: 10 RFC por $200, 20 por $300, 50 por $600 y 100 por $999.
Validar un CFDI
POST /sat/cfdi/status
{ "rfcEmisor": "…", "rfcReceptor": "…", "total": <total>, "uuid": "…" }
Funciona con cualquier CFDI, emitido o recibido, sea o no de Zoosial. La respuesta trae estado (Vigente, Cancelado o No Encontrado), esCancelable, estatusCancelacion y efos, que vale 200 si el emisor no está en la lista 69-B. Opcionalmente envías sello8, los últimos 8 caracteres del sello del emisor que trae el QR.
Para varios a la vez usa POST /sat/cfdi/status/batch: hasta 100 por llamada. Si el SAT no responde por uno, ese va con ok:false y el resto del lote sigue. El cupo es de unos 300 CFDI por minuto por cuenta.
Leer los XML
POST /sat/cfdi/parse convierte hasta 100 XML de CFDI 3.3 o 4.0 a JSON: emisor, receptor, conceptos, impuestos, complementos de pago y recibos de nómina. Un XML inválido se marca con error sin tumbar los demás.
Consultar las listas negras
POST /sat/lists/check
{ "rfcs": ["<RFC 1>", "<RFC 2>"] }
Revisa la lista 69-B (EFOS), la 69-B Bis y el artículo 69 (no localizados, créditos firmes). Cada resultado indica en qué lista aparece y su situacion. Según la documentación, en 69-B Presunto aún puede desvirtuar y Definitivo significa que sus facturas no tienen efectos fiscales; Desvirtuado y Sentencia Favorable ya no son EFOS aunque salgan como coincidencia. Por eso decide por situacion, no solo por enListas.
Zoosial descarga el CSV oficial del SAT y refresca su copia cada 24 horas. Si la copia tiene más de 3 días y el SAT no responde, la ruta da error 422 en vez de entregarte un dato viejo. Los RFC genéricos de público en general y de extranjero no son contribuyentes y se devuelven sin lista.
Lo que Datos SAT no hace
Zoosial solo consulta: no presenta declaraciones, no cancela ni abre el buzón tributario. Y si la opinión de cumplimiento pública sale con publica:false, eso no significa opinión negativa: el SAT solo muestra las positivas que el contribuyente autorizó hacer públicas.
Preguntas frecuentes
¿Es gratis consultar la lista negra del SAT por API?
Sí, hasta 50 consultas al día sin plan. Las consultas sin e.firma van incluidas en cualquier plan de Datos SAT.
¿Cómo sé si un CFDI está cancelado?
Con POST /sat/cfdi/status mandas RFC del emisor, RFC del receptor, total y UUID. El campo estado responde Vigente, Cancelado o No Encontrado.
¿Cada cuánto se actualizan las listas?
Zoosial refresca su copia del CSV del SAT cada 24 horas y la respuesta incluye la fecha de consulta y la del archivo.
¿Necesito la e.firma de mi cliente para validar facturas?
No. Validar un CFDI, leer XML y consultar listas negras no usa e.firma. La descarga masiva, la opinión completa, la constancia, la revisión completa y las declaraciones sí la requieren.
Más detalle en la guía de Datos SAT, en Datos SAT y en llms.txt. Para empezar, crea una cuenta gratis.