What Is a Mexican CURP? A Developer’s Guide to CURP Validation and Integration
A Mexican CURP (Clave Única de Registro de Población) is an 18-character alphanumeric identifier assigned to every resident and citizen of Mexico. It is the foundational identity document for government services, financial transactions, and employment verification. For developers, integrating CURP validation via API is essential for KYC compliance, fraud prevention, and seamless onboarding in Mexican markets.

What Is a Mexican CURP?
Definition and Purpose
The CURP (Clave Única de Registro de Población) is a unique identification code used by the Mexican government to identify individuals for administrative, legal, and social purposes. It is issued by RENAPO (Registro Nacional de Población) and is mandatory for all Mexican citizens and residents. The code is required for accessing healthcare, education, banking, passport applications, and many other services. It serves as a single identifier that links an individual’s demographic and biometric data across government databases.
Who Needs a CURP?
Every person born in Mexico or residing in the country legally must obtain a CURP. This includes citizens, foreign residents, and even temporary visitors who need to perform official procedures. Businesses in Mexico rely on the CURP for employee registration (IMSS), tax filings (RFC), and customer onboarding. For fintechs, insurance companies, and regulated institutions, verifying a customer’s CURP is a critical step in identity verification and compliance with CNBV (Comisión Nacional Bancaria y de Valores) regulations.
How a CURP Is Structured and Validated
Anatomy of the CURP Code
The CURP is an 18-character code composed of:
- First four characters: First letter of the first surname, first internal vowel of the first surname, first letter of the second surname, and first letter of the given name.
- Next six characters: Date of birth in YYMMDD format (year, month, day).
- Next one character: Gender (H for male, M for female).
- Next two characters: Two-letter code for the state of birth (e.g., DF for Mexico City, NL for Nuevo León).
- Next three characters: First consonant of the first surname, first consonant of the second surname, and first consonant of the given name.
- Last two characters: Homoclave, a validation digit generated by RENAPO to prevent duplicate entries.
| Component | Example | Description |
|---|---|---|
| Surname initials | GOMA | First letters from surnames and name |
| Birth date | 900101 | YYMMDD format |
| Gender | H | H for male, M for female |
| State code | DF | Two-letter code for state of birth |
| Consonants | GRL | First consonants of surnames and name |
| Homoclave | 01 | Validation digit |
The RENAPO Database
RENAPO maintains the authoritative registry of all CURPs and their associated personal data. When a CURP is validated, the API queries this database in real time to confirm the code exists and matches the individual’s records. The response includes demographic data such as full name, date of birth, gender, nationality, and address. This government database is the single source of truth for identity verification in Mexico.
Why Businesses Need CURP Validation
Compliance and Regulatory Requirements
Regulated entities in Mexico, including banks, fintechs, and insurance companies, are required by CNBV to perform identity verification (KYC) before onboarding customers. CURP validation is a key part of this process, as it confirms the individual’s identity against official government records. Failure to comply can result in fines and regulatory sanctions. The CURP also ties into AML (Anti-Money Laundering) checks, as it helps identify PEPs (Politically Exposed Persons) and suspicious patterns.
Fraud Prevention and Identity Verification
Synthetic identity fraud is a growing problem in Mexico, where fraudsters combine real CURPs with fake names or addresses. By validating the CURP against RENAPO, businesses can detect mismatches and reject fraudulent applications. API Pull’s CURP Anti-Fraud API provides additional signals like velocity checks and cross-client data to flag suspicious activity. For example, if the same CURP is used for multiple applications across different institutions, it may indicate a fraud ring.
Integrating CURP Validation via API
What You Send and What You Get Back
Integrating a CURP API typically involves sending a single CURP string to an endpoint. The API validates it against RENAPO and returns:
- Status: Whether the CURP is valid, invalid, or not found.
- Demographic data: Full name, date of birth, gender, state of birth, and sometimes address.
- Verification hash: A cryptographic signature proving the response hasn’t been tampered with.
For a full reference of response fields, see the API Pull CURP API documentation.
Audit Trails and Signed Responses
Regulated institutions need to demonstrate compliance to auditors. The API should return a signed response or verification hash that can be stored and reproduced later. This ensures that the data received from RENAPO is authentic and hasn’t been altered. The CURP Compliance API is designed specifically for this purpose, providing audit-ready responses.
Handling Errors and Edge Cases
Common errors include:
- Invalid CURP format (e.g., wrong length or invalid characters).
- CURP not found in RENAPO (e.g., typo or outdated record).
- Network timeouts or rate limits.
Your integration should handle these gracefully, returning meaningful error messages to the user. For high-volume use, implement retry logic with exponential backoff.
Key Considerations for High-Volume CURP Validation
Bulk Endpoints and Webhooks
If you need to validate thousands of CURPs daily (e.g., for employee onboarding or batch processing), look for an API that supports bulk endpoints. Providers like API Pull allow you to submit up to 100 CURPs in a single request, reducing latency and cost. For asynchronous processing, webhooks can notify your system when validation completes.
Fraud Detection Signals
Beyond basic validation, advanced APIs provide fraud detection signals such as:
- Velocity checks: How many times has this CURP been queried recently?
- Cross-client data: Has this CURP been flagged as fraudulent by other institutions?
- Demographic consistency: Does the CURP’s birth data match the user’s claimed age?
These signals are available in the CURP Anti-Fraud API.
Sandbox and Testing
Before going live, use a sandbox environment with synthetic test cases. This allows you to simulate different scenarios (valid, invalid, expired) without affecting real data. API Pull offers a sandbox with predefined test CURPs so you can validate your integration thoroughly.
When CURP Validation Is Not Enough
Additional Identity Documents
CURP validation confirms the identity of the code, but it does not verify the physical person holding the document. For high-risk transactions, combine CURP validation with government-issued photo IDs (INE, passport) and biometric verification (e.g., facial recognition). The CURP alone cannot prove that the person presenting it is the actual owner.
AML and PEP Screening Needs
CURP validation does not screen against sanctions lists, PEP databases, or negative news. For AML compliance, you need a dedicated AML API that checks against SAT 69-B, OFAC, UN, and other lists. The AML API Mexico provides this functionality, often bundled with CURP verification for a complete compliance solution.
Frequently Asked Questions
What is a Mexican CURP?
A Mexican CURP is an 18-character unique identifier assigned to every Mexican citizen and resident by RENAPO. It is used for identity verification across government and private services.
How does CURP validation work?
You send the CURP code to an API that queries the RENAPO database in real time. The API returns whether the CURP is valid and provides associated demographic data.
Is CURP validation enough for KYC?
For basic KYC, yes, but for regulated industries you may need additional documents (INE, passport) and AML screening.
Can I validate CURPs in bulk?
Yes, providers like API Pull offer bulk endpoints that accept up to 100 CURPs per request, with webhook notifications for async processing.
Getting Started with CURP Validation
Try the API Pull Sandbox
To test CURP validation without any upfront commitment, use the API Pull sandbox environment. It provides synthetic test cases for all common scenarios, including valid, invalid, and fraudulent CURPs. You can experiment with the API endpoints and see the response format before integrating into production.
Next Steps for Your Integration
- Review the full API Pull documentation for endpoint details and parameter schemas.
- Choose the appropriate API: CURP API for basic validation, CURP Compliance API for audit trails, or CURP Anti-Fraud API for fraud detection.
- Set up webhooks for asynchronous processing if you’re handling high volumes.
- Start with the sandbox, then move to production once you’ve validated your integration.

For more details on how to extract birth data from CURP, see the CURP Birth Data API guide.
External Resources
- RENAPO official portal (Government of Mexico)
- CNBV regulatory framework for identity verification (Government of Mexico)
- CURP format specification by INEGI (National Institute of Statistics and Geography)
- AML best practices for financial institutions (FATF)
- API Pull API Hub