The Mexico ID Card (INE) and How to Verify It Programmatically
When you need to verify a Mexican identity document, the Mexico ID card—also known as the INE (formerly IFE)—is the most trusted form of identification in the country. Issued by the National Electoral Institute (INE), this card contains a unique CURP (Clave Única de Registro de Población) that serves as the national identity number. For developers and businesses building onboarding, KYC, or compliance flows, programmatic verification of this card hinges on the CURP. This article explains what the INE card contains, how to extract and verify its data via APIs, and where additional checks are needed for regulated industries.

What Is the Mexican ID Card (INE/IFE)?
The INE (Instituto Nacional Electoral) card is the official government-issued identification document for Mexican citizens aged 18 and older. It replaced the earlier IFE (Instituto Federal Electoral) card in 2014. The card is the primary proof of identity for voting, banking, notarial acts, and most KYC procedures in Mexico.
Physical Features and Data Fields
The INE card is a credit-card-sized plastic card with multiple security features: holograms, microprint, UV-sensitive elements, and a 2D barcode (PDF417) on the back. The front displays:
- Full name
- Photograph
- Signature
- Date of birth
- Gender
- Address
- CURP (unique 18-character alphanumeric code)
- CIC (13-digit electoral code, Clave de Identificación del Ciudadano)
- Issue and expiration date
- The INE logo and QR code
The CURP is the key to database verification—it is also present in the barcode along with other fields. The card also includes a machine-readable zone (MRZ) similar to passports.
Why the INE Is the Primary ID in Mexico
Unlike passports or driver’s licenses, the INE is mandatory for voting and is issued to nearly all citizens. It is accepted by the National Banking and Securities Commission (CNBV) for KYC, by notaries for property transactions, and by employers for IMSS registration. Its central role in Mexican identity makes it a critical document for fintech, insurance, and staffing companies operating in Mexico.
How to Verify a Mexican ID Card Programmatically
Programmatic verification of the Mexico ID card involves two steps: extracting the CURP (from the barcode or manual entry) and validating it against official government databases. Here’s how to integrate this into your application.
Using the CURP API for Real-Time Validation
The CURP emitted by the INE card is validated in real time against the National Population Registry (RENAPO) via a CURP API. A reliable provider like API Pull offers endpoints that accept a CURP and return:
- Full name (verified against the registry)
- Date of birth
- Gender
- Address
- Verification status (valid, invalid, or deceased)
- Fraud signals (velocity checks, cross-client data)
Integration is straightforward: you send the CURP via a POST request, and the API returns a JSON response. Most providers offer a sandbox environment with synthetic test cases so you can simulate responses before going live.
Extracting Data from the Card’s Barcode (PDF417)
To avoid manual entry errors, you can scan the PDF417 barcode on the back of the INE card. Libraries like pdf417-decoder (JavaScript) or pyzbar (Python) can decode the barcode into a string containing the CURP, CIC, and other fields. Once you have the CURP, you feed it to the CURP API for validation.
Integrating Verification into an Onboarding Flow
A typical onboarding flow might look like this:
- User uploads a photo of their INE card or scans the barcode using a mobile SDK.
- Extract the CURP from the decoded barcode.
- Call the CURP API to validate the CURP against RENAPO.
- Compare the returned name and date of birth with the card image (via OCR or manual review).
- For high-risk cases, trigger a biometric face match or AML screening.
Webhook notifications allow asynchronous processing: after the API call, you receive a callback when the verification is complete.
The Role of the CURP in Mexican ID Cards
The CURP is the single most important identifier on the Mexico ID card. It is a unique, 18-character code that ties a person to their official government records.
CURP as the National Identity Number
CURP stands for Clave Única de Registro de Población. It is used across all government agencies—from tax (SAT) to social security (IMSS) to education (SEP). When you verify a CURP, you are checking against the official RENAPO database, which contains demographic and biographical data for every Mexican citizen.
How CURP API Enables Accurate Verification
A CURP API like the one offered by API Pull connects directly to RENAPO in real time. It returns not only the name and date of birth but also additional fields such as state of birth, nationality, and registration status. Fraud detection signals—like velocity checks (how many times this CURP has been looked up recently) and cross-client data—help identify synthetic identities or stolen credentials. For high-volume operations, bulk endpoints allow you to submit up to 100 CURPs in a single request.
Common Use Cases for Mexican ID Card Verification
Different industries have different needs when verifying the Mexico ID card. Below are the most common scenarios.
Fintech Onboarding and KYC
Financial institutions regulated by CNBV must verify the identity of every new customer. The INE card, combined with CURP API validation, satisfies the “reliable identification document” requirement. For example, a digital wallet onboarding flow might:
- Capture the INE card photo and barcode
- Validate the CURP via API
- Check for AML flags (see next section)
- Store the verification hash for audit
Insurance Underwriting and Policy Issuance
Insurance companies use the INE card to confirm age, address, and identity for policy issuance. The CURP API can return demographic data useful for risk segmentation—for example, age group and geographic location at the AGEB (Basic Geo-Statistical Area) level. This helps insurers price microinsurance policies accurately.
Employment Verification and IMSS Registration
When hiring in Mexico, employers must register workers with the IMSS (Mexican Social Security Institute). The worker’s CURP is required. Using a CURP API, you can verify the identity before registering, and then use a separate NSS API to query the social security number. This prevents fraud and ensures correct IMSS contributions.
Demographic and Geographic Analysis (AGEB)
Data from the CURP API—such as age, gender, and state of birth—can be aggregated to build demographic profiles at the AGEB level. This is useful for market analysis, targeted advertising, and risk assessment in lending.
| Use Case | Document Needed | Primary API | Additional Checks |
|---|---|---|---|
| Fintech KYC | INE card | CURP API | AML screening, biometric face match |
| Insurance underwriting | INE card | CURP API, Demographic data | AGEB analysis, risk scoring |
| Employment verification | INE card | CURP API, NSS API | IMSS registration, email verification |
When the INE Card Is Not Enough: Additional Verification Steps
While the INE card is a strong primary ID, by itself it does not cover all compliance and fraud risks. For regulated industries, a multi-layered approach is recommended.
AML Screening and PEP Checks
The INE card does not contain information about sanctions lists, politically exposed persons (PEPs), or fraud databases. An AML API Mexico screens against the SAT 69-B list (fake invoice issuers), OFAC, UN consolidated list, and Mexican PEP databases. This is mandatory for financial institutions subject to the Federal Law for the Prevention and Identification of Operations with Resources of Illicit Origin (LFPIORPI).
Biometric Verification (Face Match)
To ensure the person holding the card is its rightful owner, you can use a face comparison API. This is especially important for high-risk onboarding (e.g., opening a bank account remotely). The API compares a selfie to the photo on the INE card (extracted via OCR or image analysis).
Document Authenticity Checks
Advanced fraudsters may present fake or altered cards. Document authenticity solutions use computer vision to detect holograms, microprint, and UV features. While not all providers offer this, combining CURP API validation with image analysis significantly reduces fraud.
Best Practices for Integrating ID Card Verification
To build a robust verification system, follow these best practices.
Handling Edge Cases: Expired, Damaged, or Foreign Cards
- Expired INE cards: The card has a validity date (usually 10 years). Some use cases (e.g., age verification for entertainment) may accept recently expired cards, but financial institutions generally require a valid card.
- Damaged barcode: If the barcode is unreadable, fall back to manual entry of the CURP or use OCR to extract the text from the front of the card.
- Foreign nationals: Non-citizens do not have a CURP. For them, use a passport or other government-issued ID. The Mexico RFC API can help verify tax IDs for foreign residents with an RFC.
Privacy and Data Protection (LFPDPPP)
Mexico’s Federal Law on Protection of Personal Data Held by Private Parties (LFPDPPP) regulates how you handle personal data. When verifying INE cards:
- Collect only the data necessary for verification.
- Store the verification result (hash or signed response) rather than the raw card image.
- Use sandbox environments for testing to avoid exposing real data.
- Provide a clear privacy notice to users.
Audit Trails and Compliance Reporting
Regulated institutions must maintain audit trails. A good CURP API returns a signed response or a verification hash that proves the data has not been tampered with after receipt. Store this hash along with a timestamp and user ID for compliance audits.

Conclusion
The Mexico ID card (INE) is the foundation of identity verification in the country. By leveraging the CURP embedded in the card, developers can programmatically verify a person’s identity against official government databases in real time. For a production-ready solution, combine CURP API validation with AML screening, biometric checks, and proper data protection practices.
Ready to implement? Explore the CURP Citizen Data API documentation to see the full field reference, or visit the API Pull docs for integration guides and sandbox access.