Skip to main content

México — RFC y Cumplimiento Fiscal (CURP ↔ RFC)

La API de RFC para México de Verifik permite la resolución bidireccional y validación de cumplimiento tributario entre la CURP (Clave Única de Registro de Población) y el RFC (Registro Federal de Contribuyentes):

  • Resolución Directa (CURP → RFC): Envía una CURP de 18 caracteres para obtener el nombre legal validado, perfil demográfico, el RFC completo de 13 caracteres, su homoclave de 3 caracteres y el estatus de cumplimiento fiscal.
  • Resolución Inversa (RFC → CURP) y Consulta de Personas Morales: Envía un RFC de Persona Física (13 caracteres) o un RFC de Persona Moral (12 caracteres) para validar su estructura y dígito verificador, recuperar la CURP de 18 caracteres y los datos demográficos del ciudadano, o consultar la razón social y situación fiscal del contribuyente.
  • Verificación en Listas Oficiales del Art. 69 y 69-B (satCompliance): Cada consulta verifica automáticamente si el RFC se encuentra reportado en los listados oficiales del Artículo 69-B (operaciones presuntamente inexistentes / EFOS) y del Artículo 69 (créditos firmes, exigibles, no localizados, sentencias condenatorias y cancelados).

¿Qué valida esta API?​

  • Resolución Bidireccional CURP ↔ RFC y Homoclave: Obtiene la clave de 13 caracteres y su homoclave de 3 caracteres a partir de una CURP, o resuelve de forma inversa la curp de 18 caracteres y la identidad completa a partir de un RFC de 13 caracteres.
  • Validación Estructural y Dígito Verificador Módulo 11: Valida tanto RFCs de 12 caracteres (Persona Moral) como de 13 caracteres (Persona Física) conforme al algoritmo oficial del Anexo III (checkDigitValid, personType).
  • Confirmación Demográfica y de Nombre: Retorna el nombre legal registrado desglosado en firstName, paternalSurname, maternalSurname, dateOfBirth (o incorporationDate para personas morales), gender y state.
  • Monitoreo de Cumplimiento Fiscal (satCompliance): Cruza el RFC contra los listados oficiales del Artículo 69-B (Presuntos, Definitivos, Desvirtuados, Sentencia Favorable) y Artículo 69 (Créditos Firmes, Exigibles, No Localizados, Sentencias, Cancelados).
  • Firma Criptográfica: Incluye una firma digital de Verifik con fecha y hora que certifica el origen y la integridad de los datos.

Referencia de API​

Endpoints​

GET https://api.verifik.co/v2/mx/rfc

Endpoint alternativo (alias):

GET https://api.verifik.co/v2/mx/sat/rfc

Encabezados​

NombreValorDescripción
Acceptapplication/jsonFormato de respuesta requerido.
AuthorizationBearer <token>Token JWT o API key de cliente Verifik.

Parámetros​

NombreTipoRequeridoValor por defectoDescripciónEjemplo
documentNumberstringSí—CURP mexicana (18 caracteres) o RFC (12 caracteres Persona Moral, 13 caracteres Persona Física). Insensible a mayúsculas/minúsculas.LOPE900501HDFGRN01 o LOPE9005011A8
documentTypestringNoAutodetectadoTipo de documento: CURP o RFC. Se detecta automáticamente según la longitud de documentNumber si se omite.CURP / RFC

Ejemplos de Solicitud​

curl -X GET "https://api.verifik.co/v2/mx/rfc?documentNumber=LOPE900501HDFGRN01&documentType=CURP" \
-H "Accept: application/json" \
-H "Authorization: Bearer $VERIFIK_TOKEN"

Respuestas​

{
"data": {
"documentType": "CURP",
"documentNumber": "LOPE900501HDFGRN01",
"curp": "LOPE900501HDFGRN01",
"rfc": "LOPE9005011A8",
"homoclave": "1A8",
"personType": "FISICA",
"checkDigitValid": true,
"firstName": "ANA",
"lastName": "LOPEZ RUIZ",
"fullName": "ANA LOPEZ RUIZ",
"paternalSurname": "LOPEZ",
"maternalSurname": "RUIZ",
"dateOfBirth": "1990-05-01",
"gender": "FEMENINO",
"sex": "M",
"state": "CIUDAD DE MEXICO",
"stateCode": "DF",
"country": "Mexico",
"nationality": "Mexican",
"satCompliance": {
"isFlagged": false,
"in69B": false,
"status69B": null,
"inArt69": false,
"categoriesArt69": [],
"records": []
}
},
"signature": {
"dateTime": "October 29, 2026 2:30 PM",
"message": "Certified by Verifik.co"
}
}

Campos de la Respuesta​

CampoTipoDescripción
documentTypestringTipo de documento solicitado o autodetectado ("CURP" o "RFC").
documentNumberstringIdentificador normalizado en mayúsculas (CURP o RFC).
curpstring | nullCURP de 18 caracteres del ciudadano (presente en Personas Físicas tanto al consultar por CURP como al resolver inversamente desde un RFC de 13 caracteres).
rfcstringClave completa del RFC mexicano de 12 caracteres (Persona Moral) o 13 caracteres (Persona Física).
homoclavestringHomoclave oficial de 3 caracteres (2 caracteres de homonimia + 1 dígito verificador).
personTypestring"FISICA" (RFC de 13 caracteres) o "MORAL" (RFC de 12 caracteres).
checkDigitValidbooleanIndica si el último carácter coincide con el dígito verificador oficial módulo 11 del Anexo III.
firstNamestring | nullNombre(s) de pila (Personas Físicas).
paternalSurnamestring | nullPrimer apellido (apellido paterno) para Personas Físicas.
maternalSurnamestring | nullSegundo apellido (apellido materno) para Personas Físicas.
fullNamestringNombre legal completo (Persona Física) o denominación / razón social (Persona Moral).
dateOfBirthstring | nullFecha de nacimiento en formato YYYY-MM-DD (Personas Físicas).
incorporationDatestring | nullFecha de constitución en formato YYYY-MM-DD (Personas Morales al consultar un RFC de 12 caracteres).
state / stateCodestring | nullNombre de la entidad federativa mexicana y código de 2 letras.
satComplianceobjectResumen oficial de cumplimiento fiscal Art. 69 y 69-B (isFlagged, in69B, status69B, inArt69, categoriesArt69, records).

Precios​

Código de EndpointURL de EndpointPrecio por Consulta Exitosa
mexico_api_rfc_lookupGET /v2/mx/rfc$0.30 USD

Nota: Al igual que en las demás consultas de identidad en México (/v2/mx/curp, /v2/mx/cedula-profesional), las consultas no exitosas (tales como 404 o 409) no descuentan créditos.


Entorno Sandbox y Pruebas​

Al realizar consultas con credenciales en modo Sandbox (mode: sandbox), no se descuentan créditos reales y se devuelven respuestas deterministas:

  • Perfil de Éxito por CURP: Utiliza documentNumber=LOPE900501HDFGRN01&documentType=CURP. Retorna el usuario de pruebas ANA LOPEZ RUIZ con RFC LOPE9005011A8, homoclave: "1A8" y satCompliance sin alertas.
  • Perfil de Éxito por RFC: Utiliza documentNumber=LOPE9005011A8&documentType=RFC (o cualquier RFC válido de 12 o 13 caracteres). Retorna identidad determinista y estructura satCompliance.
  • Disparador de 404: Utiliza documentNumber=LOPE900404HDFNTF01 (CURP) o documentNumber=LOPE900404NTF (RFC). Retorna HTTP 404 Record not found..

Casos de Uso Comunes​

  • Onboarding Digital Bidireccional (CURP ↔ RFC): Obtén tanto la CURP como el RFC oficial sin importar cuál de los dos documentos proporcione el usuario en tu flujo de registro.
  • Prevención de Riesgo Fiscal y Proveedores (Art. 69-B EFOS): Verifica automáticamente que tus proveedores o contrapartes no se encuentren en los listados definitivos o presuntos del Artículo 69-B ni tengan créditos fiscales firmes o no localizados en el Artículo 69 antes de dispersar pagos o deducir facturas CFDI.
  • Fintech y Facturación Electrónica CFDI 4.0: Valida que el RFC de 12 o 13 caracteres tenga un dígito verificador válido y coincida con el nombre legal del contribuyente.
  • Gestión de Nómina y Recursos Humanos: Confirma la identidad, CURP y RFC activo de colaboradores en segundos.

Endpoints Relacionados​