Mexico's ID card, read and validated
Upload front and back of the ID card. We OCR every field, read the MRZ on the back, and validate against INE's current voter registry (Lista Nominal Vigente) — in seconds.
How it works
One flow. Front, back, done.
Upload the front
Photo or PDF of the front side. Any reasonable angle and low light work fine.
Upload the back
We capture the MRZ and issuance data. Without the back, there's no certainty.
OCR + validation
We extract each field, cross-check against official sources, and return a verdict.
What we extract
Every relevant field from the card, ready to use.
What we validate
Not just OCR. We confirm the card is authentic and consistent.
Lista Nominal Vigente
We cross-check extracted data against INE's Lista Nominal Vigente — the registry of currently active voter ID cards. If the card has been revoked, replaced, or is no longer current, you know in seconds.
Internal consistency
Front-side data matches the MRZ code on the back.
Validity and format
Card model detected, validity confirmed, structure valid.
Tampering signals
We detect edited, cropped, or reprinted cards.
Cross-source validation
CURP, RFC, and official records validated in the same flow.
curl -X POST https://api.singula.mx/v1/ine/verify \
-H "Authorization: Bearer sk_live_..." \
-F "front=@ine_frente.jpg" \
-F "back=@ine_reverso.jpg" \
-F "customer_id=cus_lzk9m4ab3f"
→ { "status": "processing", "webhook": true }
// Webhook:
{
"document_type": "ine_g",
"extracted": {
"name": "GARCÍA HERNÁNDEZ MARÍA FERNANDA",
"curp": "GAHM900315MDFRRR05",
"dob": "1990-03-15",
"sex": "M",
"address": "AV. REVOLUCIÓN 1234, CDMX",
"section": "1247",
"validity": 2031,
"mrz": "IDMEX1247901503GAHM..."
},
"validation": {
"internal_consistency": true,
"mrz_match": true,
"tampering_signals": "none",
"lista_nominal_vigente": "active",
"curp_renapo": "valid"
},
"confidence": 0.992
}Front + back
We process both sides. That's the only way you get the MRZ and full data.
Models D, E, F, G, H
Compatible with every current INE model and legacy IFE cards.
Fraud detection
Alteration signals, reprints, and digital composites.
CURP/RFC cross-check
We validate extracted data against RENAPO and SAT in the same flow.
Async webhook
We deliver the result to your backend. No polling, no waiting.
Ready for KYC
Combines natively with biometrics, liveness and e-signature.