curpify

La forma más simple de trabajar con datos de identidad mexicana.

APIs rápidas y accesibles para CURP, RFC, IMSS, SEP y más. Hechas para desarrolladores, en producción en equipos de todo México.

POST /curp/validate
// una llamada
const result = await curpify.curp.validate({
  "curp": "RAMG820203HDFMRR05",
});

// { valid: true, name: "Gerardo Ramírez M.", state: "CDMX" }
Sin tarjeta de crédito25 créditos gratis · ~25 consultas CURPLlave API en segundosPlanes desde $99 MXN/mes

El antes y el después.

El mismo resultado, meses menos de glue code. Esto es lo que dejas de mantener.

Sin Curpify

Tres scrapers, un equipo de seguridad nervioso y mucha esperanza.

  • Scrapers contra portales gubernamentalesSelectores que cambian sin aviso. CAPTCHAs nuevos cada trimestre.
  • Lógica de reintentos hecha a manoLos portales del gobierno caen sin razón. Tú tienes que manejar cada caso.
  • Normalización en HTML frágilTablas anidadas, encodings mezclados, espacios en blanco que rompen tu regex.
  • Privacidad y trazabilidad de tu ladoTú demuestras por qué consultaste qué, sin firma criptográfica.
// reintentando porque el portal devolvió 502...
const html = fetchWithRetry(url, { retries: 5 });
const data = parseGovResponse(html);
const nombre = normalize(data?.nombre);
// …y otras 240 líneas que nadie quiere tocar
Con Curpify

Una llamada. Misma respuesta, todos los días.

  • Conectado con las fuentes oficialesCuando RENAPO cambia, lo arreglamos nosotros, tú no te enteras.
  • Reintentos y normalización incluidosMisma forma de respuesta para todos los endpoints. Sin sorpresas.
  • Trazabilidad por solicitudCada consulta tiene su request_id. Historial completo disponible desde el panel.
  • Tipos e integración en minutosUn cliente tipado, errores estructurados, lista de solicitudes desde el panel.
const {
  name,
  state,
  birth_date,
} = await curpify.curp.validate({
  "curp": "RAMG820203HDFMRR05",
});
// listo.

Cuatro endpoints. Los documentos de identidad mexicanos que más vas a necesitar.

Cada uno es una capa delgada y bien documentada sobre una fuente oficial. Misma autenticación, misma forma de respuesta, mismas reglas de reintento.

01

CURP

Valida o consulta la Clave Única de 18 caracteres contra RENAPO y regresa el registro completo.

curp
POST/curp/validate
02

RFC

Calcula, valida y verifica el Registro Federal de Contribuyentes para personas físicas y morales.

rfcnameOrBusinessNamepostalCode
POST/rfc/validate
03

IMSS · NSS

Resuelve vigencia de derechos y estatus laboral en el IMSS a partir de NSS y CURP.

nsscurp
POST/imss/rights
04

SEP · Cédula

Consulta Cédula Profesional y confirma títulos contra el registro nacional de la SEP.

licenseNumber
POST/sep/validate

Infraestructura de identidad que no te dejará explicando.

Trabajamos con datos sensibles. Tratamos la seguridad como requisito de producto, no como un apartado del footer.

TLS en tránsito, siempre

Toda comunicación entre tu código y nuestra API está cifrada con TLS 1.2+. Sin excepciones.

Trazabilidad por solicitud

Cada llamada tiene su request_id único. Historial completo de solicitudes disponible desde el panel.

Cumplimiento LFPDPPP

Operamos bajo la Ley Federal de Protección de Datos Personales. Aviso de privacidad disponible en docs.

Cache cifrado, TTL definido

Las respuestas se cachean hasta 30 días para acelerar consultas repetidas, cifradas en reposo. Nunca se usan para entrenar modelos.


Una sola llave. Todos los registros de identidad de México.

Valida, enriquece y verifica documentos contra las fuentes oficiales: RENAPO, IMSS, SEP. Absorbemos la complejidad de cada portal — reintentos, normalización, casos límite — para que tu código quede pequeño.

  • 01
    Fuentes oficiales, sin glue codeNos conectamos con los registros federales y absorbemos toda la complejidad.
  • 02
    Latencia predeciblep95 bajo para consultas cacheadas. Tiempos de fuentes en vivo varían según disponibilidad del portal oficial.
  • 03
    Precios honestos en MXNPor solicitud, sin SKUs. Los descuentos por volumen se aplican solos.
POST /curp/validate
# Validar una CURP contra RENAPO
curl -X POST https://api.curpify.mx/curp/validate \
  -H "Authorization: Bearer sk_live_4f7a··" \
  -H "Content-Type: application/json" \
  -d '{
    "curp": "RAMG820203HDFMRR05"
  }'

SDKs oficiales

Clientes tipados listos para producción.

node.jsnpm install curpify
pythonpip install curpify

Un panel discreto que de verdad vas a usar.

Llaves API por ambiente, uso en tiempo real y facturación por endpoint. Construido con la misma sobriedad que la API.

Explorar el panel
app.curpify.mx · /dashboard

Resumen

Últimos 30 días
Solicitudes

4,820

38 hoy

Caché

62.4%

3,007 caché · 1,813 proveedor

Latencia prom.

164 ms

p95 219 ms

Tasa de error

0.04%

2 de 4,820

Sin errores

Solicitudes por endpoint

Últimos 30 días

CURPRFCIMSSSEPOtros

Historial de solicitudes

5 registros
En vivo
MétodoEndpointEstadoOrigenLat.Hora
POST/curp/validate200 OKCache142ms14:32:11
POST/rfc/verify200 OKDirecto187ms14:32:09
POST/imss/rights200 OKCache<1ms14:32:04
GET/sep/cedula/8841902200 OKDirecto156ms14:31:30
0%
Disponibilidad objetivo
< 0ms
Latencia objetivo · p50
< 0h
Tiempo promedio de integración
0
Fuentes oficiales integradas

Precios que crecen contigo, no en tu contra.

Sin tarjeta de crédito para empezar. Planes fijos en pesos mexicanos y pago por uso para consumo variable.

Ver precios completos

¿Volumen impredecible? Pay As You Go: sin base mensual, 20 req/s y consumo por endpoint medido en créditos. Ver todos los planes

Documentación con ejemplos que puedes ejecutar.

Cada endpoint con un ejemplo que puedes correr, una tabla de parámetros y una guía escrita por quien lo construyó.

docs.curpify.mx
CURP · POST /curp/validate

Validar una CURP

Confirma que una CURP esté bien formada y coincida con el registro oficial en RENAPO. Devuelve el registro de la persona si es exitoso.

Cuerpo de la solicitud
curpstringrequerido
La Clave Única de Registro de Población de 18 caracteres. No distingue mayúsculas.
verify_againstenum
Fuente a verificar: renapo, local o both. Por defecto renapo.
idempotency_keystring
Llave para reintentar sin duplicar la llamada al upstream.
Devuelve

Un objeto CurpRecord, o un 422 con error.code estructurado si la validación falla.

Solicitud
POST /curp/validate
Authorization: Bearer sk_live_4f7a··
Content-Type: application/json

{
  "curp": "RAMG820203HDFMRR05",
  "verify_against": "renapo"
}
Respuesta · 200
{
  "valid": true,
  "name": "Gerardo Ramírez M.",
  "state": "Ciudad de México",
  "verified_at": "2026-06-07T14:32:11Z"
}

Preguntas frecuentes


Hecho en México, para quienes están construyendo todo lo demás.

Regístrate en dos minutos. Los primeros 25 créditos son gratis — sin tarjeta, sin contrato.