Skip to main content

Mexico โ€” RFC & Tax Compliance (CURP โ†” RFC)

Verifik's Mexico RFC API enables bidirectional resolution and tax compliance verification between a Mexican CURP (Clave รšnica de Registro de Poblaciรณn) and an official RFC (Registro Federal de Contribuyentes):

  • Forward Resolution (CURP โ†’ RFC): Pass an 18-character CURP to retrieve the citizen's validated full name, demographic profile, 13-character RFC, 3-character homoclave, and tax compliance status.
  • Reverse Resolution (RFC โ†’ CURP) & Entity Lookup: Pass a 13-character Persona Fรญsica RFC or a 12-character Persona Moral RFC to validate its official structure and check digit, resolve the citizen's 18-character CURP and full demographic record (for individuals), or retrieve the registered entity profile and tax compliance standing.
  • Official Tax Compliance Screening (Art. 69 & 69-B): Every lookup automatically screens the RFC against official tax compliance registries (including Article 69-B simulated operations lists and Article 69 firm, exigible, unlocated, convicted, and canceled tax credit lists).

What does this API validate?โ€‹

  • Bidirectional CURP โ†” RFC & Homoclave: Retrieves the active 13-character RFC and 3-character homoclave from a CURP, or reverse-resolves the 18-character curp and demographic identity from a 13-character RFC.
  • Structural & Modulo-11 Check Digit Verification: Validates both 12-character (Persona Moral) and 13-character (Persona Fรญsica) RFCs against the official Annex III modulo-11 verification algorithm (checkDigitValid, personType).
  • Demographic & Name Confirmation: Returns the registered legal name parsed into firstName, paternalSurname, maternalSurname, dateOfBirth (or incorporationDate for legal entities), gender, and state.
  • Tax Compliance & Blacklist Screening (satCompliance): Screens the RFC against official Article 69-B (Presuntos, Definitivos, Desvirtuados, Sentencia Favorable) and Article 69 (Crรฉditos Firmes, Exigibles, No Localizados, Sentencias, Cancelados) registries.
  • Cryptographic Signature: Includes a Verifik cryptographic signature with timestamp certifying origin and integrity.

API Referenceโ€‹

Endpointsโ€‹

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

Alias endpoint:

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

Headersโ€‹

NameValueDescription
Acceptapplication/jsonRequired response content type.
AuthorizationBearer <token>Your Verifik API JWT or client token.

Parametersโ€‹

NameTypeRequiredDefaultDescriptionExample
documentNumberstringYesโ€”Mexican CURP (18 chars) or RFC (12 chars Persona Moral, 13 chars Persona Fรญsica). Case-insensitive.LOPE900501HDFGRN01 or LOPE9005011A8
documentTypestringNoAuto-detectedDocument type: CURP or RFC. Automatically inferred from documentNumber length if omitted.CURP / RFC

Request Examplesโ€‹

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

Responsesโ€‹

{
"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"
}
}

Response Fieldsโ€‹

FieldTypeDescription
documentTypestringRequested or auto-detected input document type ("CURP" or "RFC").
documentNumberstringNormalized uppercase input identifier (CURP or RFC).
curpstring | nullCitizen's 18-character CURP (present for Personas Fรญsicas both when querying by CURP and when reverse-resolved from a 13-char RFC).
rfcstringFull 12-character (Persona Moral) or 13-character (Persona Fรญsica) Mexican RFC.
homoclavestringOfficial 3-character SAT homoclave (2 homonymy characters + 1 check digit).
personTypestring"FISICA" (13-character individual RFC) or "MORAL" (12-character corporate RFC).
checkDigitValidbooleanIndicates whether the final character matches the official SAT Annex III modulo-11 check digit.
firstNamestring | nullGiven name(s) for Personas Fรญsicas.
paternalSurnamestring | nullFirst surname (apellido paterno) for Personas Fรญsicas.
maternalSurnamestring | nullSecond surname (apellido materno) for Personas Fรญsicas.
fullNamestringFull legal name (Persona Fรญsica) or corporate legal name (Razรณn Social for Persona Moral).
dateOfBirthstring | nullDate of birth in YYYY-MM-DD format (Personas Fรญsicas).
incorporationDatestring | nullDate of incorporation in YYYY-MM-DD format (Personas Morales when querying a 12-character RFC).
state / stateCodestring | nullMexican federal entity name and 2-letter RENAPO code.
satComplianceobjectOfficial SAT Article 69 & 69-B tax compliance summary (isFlagged, in69B, status69B, inArt69, categoriesArt69, records).

Pricingโ€‹

Endpoint CodeEndpoint URLPrice per Successful Query
mexico_api_rfc_lookupGET /v2/mx/rfc$0.30 USD

Note: As with other Mexican identity endpoints (/v2/mx/curp, /v2/mx/cedula-profesional), failed queries (such as 404 or 409) do not consume credits.


Sandbox & Testingโ€‹

When testing in the Sandbox environment (mode: sandbox), no live credits are deducted and deterministic mock data is returned:

  • CURP Success Profile: Use documentNumber=LOPE900501HDFGRN01&documentType=CURP. Returns test persona ANA LOPEZ RUIZ with RFC LOPE9005011A8, homoclave: "1A8", and clean satCompliance.
  • RFC Success Profile: Use documentNumber=LOPE9005011A8&documentType=RFC (or any valid 12/13-char RFC). Returns deterministic identity and satCompliance fields.
  • 404 Trigger: Use documentNumber=LOPE900404HDFNTF01 (CURP) or documentNumber=LOPE900404NTF (RFC). Returns HTTP 404 Record not found..

Common Use Casesโ€‹

  • Bidirectional KYC & Tax Onboarding: Collect both CURP and official SAT RFC regardless of whether the user provides their CURP or their RFC.
  • KYB Supplier & Vendor Screening (Art. 69-B EFOS): Automatically screen suppliers and counterparties against official SAT Article 69-B (Empresas que Facturan Operaciones Simuladas) and Article 69 tax debtor lists before issuing payments or deducting CFDI invoices.
  • Fintech & CFDI Billing Compliance: Validate that a customer's 12 or 13-character RFC has a valid check digit and matches their legal name before issuing electronic invoices.
  • Payroll & HR Validation: Verify that newly hired employees have an active RFC and consistent demographic records.