Prueba gratis la validación estructural aquí mismo. Cuando necesites saber si el RFC existe en el SAT, está activo y puede facturar, el API te lo responde en milisegundos —con un nivel de riesgo listo para tu lógica.
¿Dudas técnicas? Habla con un ingeniero por WhatsApp — 0% bots.
Validación estructural en tu navegador — no enviamos tu RFC a ningún servidor. El estatus en el SAT lo responde el API.
Cada validación regresa el estatus del RFC en el padrón del SAT y lo clasifica en un nivel de riesgo. Tu código lo usa directo para aprobar, marcar o frenar —sin interpretar mensajes.
NONE
Válido y facturable
Existe en el padrón y está autorizado a emitir y recibir facturas. Seguro para aprobación automática.
type: "SUCCESS" · isBillable: true
LOW
Existe, pero restringido
Está en el padrón pero no puede facturar hoy —típicamente una empresa sin onboarding fiscal completo o suspendida. El contribuyente es real.
type: "RFC_NOT_INVOICEABLE"
CRITICAL
No registrado
El RFC no está en el padrón del SAT: nunca se emitió, o es un error de captura o un dato inventado. No factures ni des crédito sin verificar.
type: "RFC_NOT_FOUND"
Además del riesgo, la respuesta trae el tipo de contribuyente (persona física o moral), la marca isBillable y el mensaje oficial del SAT. Un solo switch sobre el nivel de riesgo y tu onboarding decide solo.
Consultamos el SAT en cada llamada, sin cache: el estatus es el de este momento, no una copia de ayer. Mismo envelope que todos los servicios de OrigoID.
INVALID_REQUEST y billable: false — no gastas crédito en basura.const res = await fetch("https://api.origoid.com/mex/fiscal/v1/rfc-validations", { method: "POST", headers: { "x-api-key": process.env.ORIGOID_API_KEY, "content-type": "application/json", }, body: JSON.stringify({ rfc: "GARM900101HDF" }), }); const result = await res.json();
import os, requests res = requests.post( "https://api.origoid.com/mex/fiscal/v1/rfc-validations", headers={ "x-api-key": os.environ["ORIGOID_API_KEY"], "content-type": "application/json", }, json={"rfc": "GARM900101HDF"}, timeout=30, ) result = res.json()
curl -X POST https://api.origoid.com/mex/fiscal/v1/rfc-validations \ -H "x-api-key: $ORIGOID_API_KEY" \ -H "content-type: application/json" \ -d '{"rfc": "GARM900101HDF"}'
{
"status": "OK",
"type": "SUCCESS",
"data": {
"rfc": "GARM900101HDF",
"isValid": true, "isBillable": true,
"taxpayerType": "PERSONA_FISICA",
"riskLevel": "NONE",
"officialMessage": "RFC válido, y susceptible de recibir facturas"
},
"billable": true
}
Varios proveedores validan RFC. Lo que cambia: qué tan fresco llega el dato, si lo convierten en una decisión lista, y qué pasa con los datos de tu contraparte después.
Dos niveles: la validación estructural (formato de 12 o 13 caracteres, fecha y homoclave) se hace sin conexión — la demo de arriba la hace gratis en tu navegador. La validación real contra el SAT — si existe en el padrón, está activo y puede facturar — la responde el API en milisegundos.
Si el RFC es válido, el tipo de contribuyente (física o moral), si puede facturar (isBillable) y un nivel de riesgo: NONE (válido y facturable), LOW (existe pero restringido) y CRITICAL (no registrado en el SAT).
Un RFC con formato perfecto puede no existir en el SAT o no poder facturar. Validarlo antes evita rechazos del SAT y operar con contrapartes que no son quienes dicen ser.
No. Cada consulta se valida, se responde y se descarta: sin base de datos de consultas, sin rastro en logs. Cero retención en todas nuestras regiones.
Empiezas gratis: créditos de cortesía, sin tarjeta. Después el precio por validación baja con tu volumen. Todos los planes publicados. Formato inválido = billable: false, sin cobro.
Créditos de cortesía para validar RFCs reales en producción. El acceso se habilita tras una breve validación de tu empresa.