México — Validación INE
Valida una INE mexicana (Credencial para Votar) contra el padrón electoral. Envía documentType=INE y un identificador principal en documentNumber. La API detecta automáticamente si el valor es un CIC (9 dígitos), OCR (13 dígitos) o clave de elector (18 caracteres).
Los campos opcionales cubren las combinaciones por modelo de credencial que exige la fuente oficial:
citizenIdentifier— requerido para modelos E, F, G, H junto con CICemissionNumber— requerido para el modelo C junto con OCR y clave de electormodel— pista opcional (C–H) para seleccionar la combinación correcta
Para consultar nombre y datos biográficos por CURP, usa Ciudadano mexicano (CURP) (v2/mx/curp). Para extraer campos desde imágenes del INE, usa México — OCR INE (v2/mx/ine/ocr).
Referencia de la API
Endpoint
https://api.verifik.co/v2/mx/ine
Envía un identificador INE para obtener el estatus electoral, la vigencia, metadatos de emisión y campos relacionados del padrón cuando la credencial es reconocida.
Headers
| Name | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer <token> |
Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
documentType | string | Yes | Valor permitido: INE. | INE |
documentNumber | string | Yes | CIC (9 dígitos), OCR (13 dígitos) o clave de elector (18 alfanuméricos). | 187639699 |
citizenIdentifier | string | No | Identificador del ciudadano en el reverso. Necesario para modelos E–H con CIC. | 031206745 |
emissionNumber | string | No | Número de emisión. Necesario para el modelo C. | 1 |
model | string | No | Pista opcional del modelo: C, D, E, F, G o H. | E |
Request
- Node.js
- Python
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/mx/ine", {
params: {
documentType: "INE",
documentNumber: "187639699",
},
headers: { Accept: "application/json", Authorization: `Bearer ${process.env.VERIFIK_TOKEN}` },
});
console.log(data);
import os, requests
url = "https://api.verifik.co/v2/mx/ine"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"documentType": "INE", "documentNumber": "187639699"}
r = requests.get(url, headers=headers, params=params)
print(r.json())
Response
- 200
- 404
- 409
{
"data": {
"cic": "187639699",
"documentNumber": "187639699",
"documentType": "INE",
"electorKey": "CSFTGV76061131H400",
"emissionNumber": "1",
"emissionYear": "2018",
"federalDistrict": "04",
"identifierType": "cic",
"localDistrict": "03",
"message": "Vigente como medio de identificacion y puede votar",
"messageCode": "3",
"ocr": "0276031206745",
"registrationYear": "2010",
"status": "OK",
"validity": "31 de diciembre de 2030"
},
"signature": {
"dateTime": "July 14, 2026 10:00 AM",
"message": "Certified by Verifik.co"
}
}
{
"code": "NotFound",
"message": "Record not found."
}
{
"code": "MissingParameter",
"message": "missing documentNumber\n"
}
Notes
documentTypedebe serINE.documentNumberdetecta automáticamente CIC (9 dígitos), OCR (13 dígitos) o clave de elector (18 alfanuméricos).- Los modelos E–H suelen requerir
citizenIdentifiercon CIC; el modelo C requiereemissionNumbercon OCR y clave de elector. - Los veredictos electorales negativos (por ejemplo no vigente) siguen devolviendo HTTP 200 con
statusymessagedel padrón. - Fixtures sandbox:
187639699,0276031206745,CSFTGV76061131H400. El documento900404019devuelve 404. - Relacionados: Ciudadano mexicano (CURP), México — OCR INE.