API para validar la INE en México

API para validar INE en México (2026): verifica la credencial para votar con 1 solo identificador

Tabla de Contenidos
Comparte este artículo

Respuesta corta: Envía un GET a https://api.verifik.co/v2/mx/ine con documentType=INE y un solo identificador: el CIC, el OCR o la clave de elector. Verifik responde si la credencial para votar está vigente en el padrón, hasta cuándo y sus distritos. Se paga con créditos de smartCHECK, desde $49 al mes.

Si diriges producto, cumplimiento o tecnología en un banco, una fintech o una aseguradora en México, la credencial para votar es el documento que más vas a recibir de tus clientes. La API para validar INE de Verifik confirma con 1 solo identificador que la credencial existe en el padrón electoral y sigue vigente como medio de identificación. Y si solo tienes las fotos de la credencial, el endpoint de OCR las lee y valida los datos en la misma llamada.

En esta guía verás qué confirma la validación, qué cambia con la nueva regla de biometría de la CNBV y con la reforma a las reglas antilavado de noviembre de 2026, qué dato enviar según el modelo de credencial y cómo integrar la API con ejemplos de código reales.

¿Qué es validar la INE por API y qué confirma?

Validar la INE por API significa consultar, desde tu sistema, si los datos de una credencial para votar corresponden a un registro del padrón electoral y si esa credencial sigue vigente. Es la diferencia entre ver una imagen que parece una INE y saber que el registro existe.

Según la documentación del endpoint México — Validación INE, cuando la credencial es reconocida la respuesta incluye:

  • El veredicto del padrón: status, message y messageCode. En el ejemplo de la documentación, el mensaje es “Vigente como medio de identificacion y puede votar”.
  • La vigencia: validity, por ejemplo “31 de diciembre de 2030”.
  • Los identificadores de la credencial: cic, ocr y electorKey (clave de elector), además de identifierType, que indica cuál de ellos enviaste.
  • Los datos de emisión y registro: emissionNumber, emissionYear y registrationYear.
  • Los distritos: federalDistrict y localDistrict.
  • La firma: signature.dateTime y signature.message (“Certified by Verifik.co”), útil como evidencia en el expediente del cliente.

Un detalle importante: según la documentación, un veredicto negativo (por ejemplo, una credencial no vigente) también devuelve HTTP 200, con el status y el message que reporta el padrón. Tu lógica de aprobación debe leer esos campos, no solo el código HTTP.

Por qué ahora: la biometría de la CNBV y las reglas antilavado de noviembre de 2026

Dos cambios regulatorios caen este mes y los dos tocan la credencial para votar.

1. Biometría en bancos (CNBV). El 1 de julio de 2026 se publicó en el Diario Oficial de la Federación la resolución que modifica las Disposiciones de carácter general aplicables a las instituciones de crédito. Esto es lo que dice el texto:

  • Entró en vigor al día siguiente de su publicación, y los bancos tienen un plazo máximo de 90 días hábiles para cumplirla. Eso lleva el cumplimiento a principios de noviembre de 2026.
  • Para la credencial para votar, el banco debe verificar en línea que la información biométrica de la persona coincida, al menos, en un noventa por ciento con los registros del INE. Además de la huella dactilar, la resolución incorpora la biometría facial.
  • Aplica a las personas físicas que, de manera presencial, soliciten operaciones pasivas con cuentas Nivel 4, u operaciones activas, de servicios o medios de pago relacionados con cuentas Niveles 3 y 4.
  • Los bancos que ya tenían una base de datos biométrica propia debían avisar a la CNBV en 30 días naturales.

Ojo con el alcance: la resolución modifica las disposiciones de las instituciones de crédito. No es una obligación directa para fintechs o SOFIPO, aunque les sirve como referencia de buena práctica para su onboarding y sus programas de prevención de lavado de dinero.

Hay que ser precisos con lo que hace cada pieza. El cotejo biométrico contra los registros del INE se hace a través del Servicio de verificación de los datos de la Credencial para Votar, que el INE ofrece a instituciones con convenio. Según el propio INE, requiere el consentimiento del titular, responde “falso o verdadero” con un porcentaje de similitud de las huellas y tarda de 5 a 7 segundos. La API de Verifik no sustituye ese servicio: valida los datos de la credencial en el padrón y, con la comparación facial con prueba de vida, confirma que quien está frente a la cámara es la persona de la credencial. En la apertura digital, esa combinación es la forma práctica de ligar a la persona con su credencial.

2. Actividades vulnerables (LFPIORPI). El Acuerdo 115/2026 modifica las Reglas de Carácter General de la ley antilavado y entra en vigor el 30 de noviembre de 2026. Las reglas mantienen la credencial para votar del INE entre los documentos válidos para identificar a los clientes. Según el análisis de Cuatrecasas, las obligaciones de fondo (evaluación de riesgos, monitoreo automatizado, auditoría) se vuelven exigibles de forma escalonada entre marzo de 2027 y el ejercicio 2028. Inmobiliarias, agencias de autos y otras actividades vulnerables necesitarán identificar mejor a cada cliente, y validar la INE es el primer paso.

El contexto de fraude empuja en la misma dirección. CiberLATAM reportó el 2 de noviembre de 2026 que, según un informe de fraude de identidad de la industria, los fraudes con materiales sintéticos y manipulados con IA en México crecieron más de 484 % en 2025. Una foto de una INE ya no prueba nada por sí sola.

Qué dato enviar: CIC, OCR o clave de elector

El parámetro documentNumber acepta cualquiera de los tres identificadores de la credencial, y la API detecta solo de cuál se trata por su formato:

IdentificadorFormatoEjemplo de sandbox
CIC (Código de Identificación de la Credencial)9 dígitos187639699
OCR13 dígitos0276031206745
Clave de elector18 caracteres alfanuméricosCSFTGV76061131H400

Algunos modelos de credencial necesitan un dato adicional, porque la fuente oficial pide combinaciones distintas según el modelo:

  • Modelos E, F, G y H: suelen requerir el citizenIdentifier (identificador del ciudadano, en el reverso) junto con el CIC.
  • Modelo C: requiere el emissionNumber (número de emisión) junto con el OCR y la clave de elector.
  • Parámetro model: es opcional (de C a H) y sirve como pista para que la API use la combinación correcta.

En la práctica, lo más sencillo es pedir al cliente una foto del frente y del reverso y dejar que el OCR extraiga todos los identificadores, como verás más abajo.

Cómo validar una INE con la API de Verifik

Necesitas tu token de Verifik en el encabezado Authorization: Bearer y dos parámetros obligatorios: documentType, que siempre es INE, y documentNumber. Así se ve la petición con cURL:

curl -G "https://api.verifik.co/v2/mx/ine" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $VERIFIK_TOKEN" \
  --data-urlencode "documentType=INE" \
  --data-urlencode "documentNumber=187639699"

El mismo ejemplo en JavaScript (axios), basado en el de la documentación:

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);

Esta es la respuesta 200 de ejemplo que publica la documentación para el CIC de sandbox:

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

Para tus pruebas, la documentación da tres valores de sandbox (187639699, 0276031206745 y CSFTGV76061131H400), y el documento 900404019 devuelve 404.

¿Quieres probarlo? Crea tu cuenta gratis en Verifik y haz tu primera llamada con tu token.

Leer la credencial desde una foto: OCR de la INE y validación en una llamada

En un onboarding digital, el cliente no escribe su CIC: sube una foto de su credencial. El endpoint México — OCR INE (POST /v2/mx/ine/ocr) hace todo en un solo request:

  1. Lee con OCR con IA el frente (y, si lo envías, el reverso) de la credencial.
  2. Arma los identificadores a partir de lo que extrajo.
  3. Valida esos identificadores en el padrón y te devuelve los dos resultados juntos.

Envía un JSON con front (obligatorio) y back (opcional, pero muy recomendado para obtener el CIC, el OCR y la zona MRZ). Cada imagen puede ser una URL pública o base64. La documentación pide usar un timeout de cliente de al menos 60 segundos.

curl -X POST "https://api.verifik.co/v2/mx/ine/ocr" \
  --max-time 60 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $VERIFIK_TOKEN" \
  -d '{
    "front": "https://example.com/ine-front.jpg",
    "back": "https://example.com/ine-back.jpg"
  }'

La respuesta trae tres bloques: ocr (lo que se leyó de la credencial, incluidos el nombre, la fecha de nacimiento y la CURP), validation (lo que reporta el padrón) y validateParamsUsed (los identificadores que se usaron para validar). Este es el ejemplo de sandbox de la documentación:

{
  "data": {
    "ocr": {
      "birthDate": "11/06/1976",
      "cic": "187639699",
      "citizenIdentifier": "031206745",
      "curp": "MAFC760611MYNRLR03",
      "documentType": "INE",
      "electorKey": "CSFTGV76061131H400",
      "firstName": "CARLA ISABEL",
      "fullName": "CARLA ISABEL MARTINEZ FERNANDEZ",
      "ocr": "0276031206745",
      "subType": "E",
      "validity": "2029"
    },
    "validation": {
      "cic": "187639699",
      "documentNumber": "187639699",
      "electorKey": "CSFTGV76061131H400",
      "ocr": "0276031206745",
      "validity": "31 de diciembre de 2030"
    },
    "validateParamsUsed": {
      "documentNumber": "187639699",
      "ocr": "0276031206745",
      "citizenIdentifier": "031206745"
    }
  },
  "signature": {
    "dateTime": "July 14, 2026 10:00 AM",
    "message": "Certified by Verifik.co"
  }
}

Fíjate en que el bloque ocr trae lo que está impreso en la credencial y el bloque validation trae lo que dice el padrón. Para decidir, usa siempre validation.

Según la documentación, la llamada se cobra una sola vez por el OCR y la validación combinados. Si el OCR no logra extraer un identificador utilizable, responde 409 y no ejecuta la validación.

Completa el KYC: CURP en RENAPO y comparación facial con prueba de vida

Validar la credencial confirma que el documento es real y está vigente. Para saber que el cliente es su titular, agrega dos pasos con la misma cuenta:

curl -X POST "https://api.verifik.co/v2/face-recognition/compare-with-liveness" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $VERIFIK_TOKEN" \
  -d '{
    "probe": "<selfie_base64>",
    "gallery": ["<foto_ine_base64>"],
    "search_mode": "FAST",
    "liveness_min_score": 0.6,
    "compare_min_score": 0.8
  }'

La documentación señala que las fotos impresas de un documento suelen puntuar más bajo frente a una selfie que dos capturas en vivo, y que compare_min_score admite valores entre 0,67 y 0,95. Calibra el umbral con tus propios datos antes de producción.

Así queda el flujo completo en JavaScript:

import axios from "axios";

const api = axios.create({
  baseURL: "https://api.verifik.co",
  headers: { Authorization: `Bearer ${process.env.VERIFIK_TOKEN}` },
  timeout: 60000, // el OCR de la INE puede tardar: usa al menos 60 s
});

// 1) Lee la credencial desde las fotos y valídala en el padrón (un solo cobro)
const { data: ine } = await api.post("/v2/mx/ine/ocr", {
  front: fotoFrente, // URL pública o base64
  back: fotoReverso,
});

// 2) Revisa el bloque validation: lo que reporta el padrón para esa credencial
const padron = ine.data.validation;
console.log("Vigencia:", padron.validity);

// 3) Confirma la CURP extraída en RENAPO
const { data: curp } = await api.get("/v2/mx/curp", {
  params: { documentType: "CURP", documentNumber: ine.data.ocr.curp },
});

// 4) Compara la selfie con la foto de la credencial, con prueba de vida
const { data: rostro } = await api.post("/v2/face-recognition/compare-with-liveness", {
  probe: selfieBase64,
  gallery: [fotoFrenteBase64],
  search_mode: "ACCURATE",
});

// Guarda las tres respuestas con su signature en el expediente del cliente

Casos de uso por sector

  • Bancos: validar la credencial y la CURP antes del cotejo biométrico con el INE en sucursal, y usar la comparación facial con prueba de vida en la apertura digital. Es lo que cubre la solución de eKYC para banca.
  • Fintech y crédito (SOFIPO, SOFOM, préstamos de nómina): evitar que se abran cuentas o se otorguen créditos con credenciales ajenas, alteradas o que ya no están vigentes.
  • Compra ahora, paga después (BNPL): validar en segundos en el checkout sin frenar la conversión, como en la solución de eKYC para BNPL.
  • Seguros: confirmar la identidad del contratante al emitir la póliza y la del beneficiario antes de pagar un siniestro.
  • Movilidad y delivery: validar la identidad de los conductores y repartidores durante el alta.
  • Actividades vulnerables: identificar a los clientes de inmobiliarias, agencias de autos y otros giros obligados por la ley antilavado, de cara a las reglas que entran en vigor el 30 de noviembre de 2026.

Verifik - la mejor plataforma de verificación de identidad

Manejo de respuestas y errores

RespuestaQué significaQué hacer
200 con status OK y mensaje de vigenciaLa credencial está en el padrón y vigenteContinúa con la CURP y la biometría
200 con un veredicto negativoEl padrón reconoce la credencial, pero, por ejemplo, ya no está vigenteLee status y message, y pide otra identificación
404No se encontró la credencialRevisa el identificador o pide al cliente una foto del reverso
409 MissingParameterFalta un parámetro obligatorio (en el OCR, también si no se pudo extraer un identificador)Revisa la petición o pide fotos más nítidas

Este es el error 409 de ejemplo de la documentación:

{
  "code": "MissingParameter",
  "message": "missing documentNumber\n"
}

Qué comparar al elegir una API para validar la INE

Hay varios proveedores con validación de la INE. Esto es lo que muestra hoy la página pública de cada uno:

ProveedorCómo se envía la credencialOCR y biometríaPrecio publicado
VerifikGET /v2/mx/ine con un solo documentNumber (CIC, OCR o clave de elector, detectado solo); datos extra opcionales según el modeloOCR de la INE con validación en una sola llamada cobrada una vez; comparación facial con prueba de vidaCréditos de los planes smartCHECK, desde $49 al mes
DiditPOST /v3/database-validation/ con el servicio mex_ine_vigencia y campos como cic, identificador_ciudadano, ocr o voter_numberSu referencia de API incluye endpoints aparte de prueba de vida y comparación facial$0,20 USD por consulta exitosa
Datos Non StopPOST /v1/ine/lista-nominal, con una combinación de campos distinta para cada modelo (C a H)Su catálogo incluye una API aparte de OCR de la credencial de elector1 token por consulta
IDMeritSu página de México lista el padrón electoral oficial entre sus fuentes de datosNo se detalla en esa páginaNo figura en esa página

Más allá del precio, compara cuántos datos tiene que capturar tu cliente, si el OCR y la validación se cobran por separado, si puedes cerrar el KYC con biometría en la misma plataforma y si la documentación está en español.

Cuánto cuesta la API para validar INE

Cada consulta se descuenta de los créditos de tu plan de smartCHECK. Según la página de precios de smartCHECK:

  • Starter: $49 al mes, o $490 al año recibiendo $588 en créditos.
  • Basic: $129 al mes, o $1.290 al año recibiendo $1.548 en créditos.
  • Plus: $299 al mes, o $2.990 al año recibiendo $3.588 en créditos.
  • Business: $649 al mes, o $6.490 al año recibiendo $7.788 en créditos.

Los planes anuales incluyen 2 meses gratis. El costo de cada llamada a /v2/mx/ine y a /v2/mx/ine/ocr lo ves en tu panel al crear la cuenta. Si vas a validar un volumen alto, agenda una sesión con el equipo. Para el panorama regulatorio completo, revisa también nuestra guía de regulaciones KYC y AML y el centro de compliance de Verifik.

Respuestas rápidas

¿Cómo validar una INE por API? Envía un GET a /v2/mx/ine de Verifik con documentType=INE y el CIC, el OCR o la clave de elector en documentNumber. La API detecta el tipo de identificador y responde si la credencial está vigente en el padrón, hasta cuándo y sus distritos.

¿Qué identificador de la INE debo enviar: CIC, OCR o clave de elector? Cualquiera de los tres. El CIC tiene 9 dígitos, el OCR 13 dígitos y la clave de elector 18 caracteres. En los modelos E a H suele hacer falta también el identificador del ciudadano, y en el modelo C, el número de emisión.

¿La validación confirma que la credencial está vigente y que la persona puede votar? Sí. La respuesta trae el veredicto del padrón en status y message, por ejemplo “Vigente como medio de identificacion y puede votar”, y la fecha de vigencia en validity. Un veredicto negativo también llega con HTTP 200.

¿Puedo validar la INE a partir de una foto de la credencial? Sí. El endpoint POST /v2/mx/ine/ocr recibe la foto del frente y, de preferencia, la del reverso, extrae los datos con OCR y los valida en el padrón en la misma llamada, que se cobra una sola vez.

¿Qué exige la CNBV sobre biometría y desde cuándo? La resolución publicada en el DOF el 1 de julio de 2026 pide a los bancos verificar en línea que la biometría coincida al menos en un 90 % con los registros del INE en operaciones presenciales con cuentas Nivel 3 y 4. El plazo de 90 días hábiles vence a principios de noviembre de 2026.

¿Qué cambia con las reglas antilavado del 30 de noviembre de 2026? El Acuerdo 115/2026 modifica las Reglas de Carácter General de la LFPIORPI y entra en vigor ese día. La credencial para votar sigue siendo una identificación válida, y las nuevas obligaciones de riesgo, monitoreo y auditoría se exigen de forma escalonada entre 2027 y 2028.

¿Necesito el consentimiento del titular para validar su INE? Sí, es lo recomendable. Pide un consentimiento explícito e informa en tu aviso de privacidad para qué validas los datos. El servicio de verificación del propio INE exige que las instituciones obtengan la autorización del titular.

Empieza a validar credenciales INE hoy

Con una sola llamada sabes si la credencial que te presentan existe en el padrón y sigue vigente. Con el OCR, la CURP y la comparación facial cierras el KYC sin pedir datos de más, con una respuesta firmada para cada verificación. Revisa la documentación del endpoint y haz tu primera llamada.

¿Listo para empezar? Crea tu cuenta gratis en Verifik o agenda una demo para ver cómo validar la INE en tu proceso de onboarding.

Johan Castellanos - CEO Verifik

Preguntas frecuentes

➖

¿Cómo validar una INE por API?

Envía un GET a /v2/mx/ine de Verifik con documentType=INE y el CIC, el OCR o la clave de elector en documentNumber. La API detecta el tipo de identificador y responde si la credencial está vigente en el padrón, hasta cuándo y sus distritos.

➕

¿Qué identificador de la INE debo enviar: CIC, OCR o clave de elector?

Cualquiera de los tres. El CIC tiene 9 dígitos, el OCR 13 dígitos y la clave de elector 18 caracteres. En los modelos E a H suele hacer falta también el identificador del ciudadano, y en el modelo C, el número de emisión.

➕

¿La validación confirma que la credencial está vigente y que la persona puede votar?

Sí. La respuesta trae el veredicto del padrón en status y message, por ejemplo "Vigente como medio de identificacion y puede votar", y la fecha de vigencia en validity. Un veredicto negativo también llega con HTTP 200.

➕

¿Puedo validar la INE a partir de una foto de la credencial?

Sí. El endpoint POST /v2/mx/ine/ocr recibe la foto del frente y, de preferencia, la del reverso, extrae los datos con OCR y los valida en el padrón en la misma llamada, que se cobra una sola vez.

➕

¿Qué exige la CNBV sobre biometría y desde cuándo?

La resolución publicada en el DOF el 1 de julio de 2026 pide a los bancos verificar en línea que la biometría coincida al menos en un 90 % con los registros del INE en operaciones presenciales con cuentas Nivel 3 y 4. El plazo de 90 días hábiles vence a principios de noviembre de 2026.

➕

¿Qué cambia con las reglas antilavado del 30 de noviembre de 2026?

El Acuerdo 115/2026 modifica las Reglas de Carácter General de la LFPIORPI y entra en vigor ese día. La credencial para votar sigue siendo una identificación válida, y las nuevas obligaciones de riesgo, monitoreo y auditoría se exigen de forma escalonada entre 2027 y 2028.

➕

¿Necesito el consentimiento del titular para validar su INE?

Sí, es lo recomendable. Pide un consentimiento explícito e informa en tu aviso de privacidad para qué validas los datos. El servicio de verificación del propio INE exige que las instituciones obtengan la autorización del titular.