Documentación

API de validación de CURP

Curpify es una API REST para validar CURP mexicanas: formato, fecha de nacimiento, género, estado y dígito verificador. Pensada para onboarding de clientes, formularios y sistemas de identidad.

Autenticación

La API usa una API key en el header x-api-key. Cada cliente tendrá su propia key, que podrás gestionar desde tu panel de administración (próximo release).

// Ejemplo de header

GET /api/curp/validate HTTP/1.1

Host: tu-dominio.com

x-api-key: TU_API_KEY_AQUI

Content-Type: application/json

Para el demo público del sitio usamos una API key especial interna de Curpify. En producción debes usar tu propia key.

Endpoint principal

// POST /api/curp/validate

{

"curp": "HECM740516HDFRSR08"

}

El cuerpo debe enviarse en JSON con el campo curp. La API responde con un objeto que indica si la CURP es válida y los datos derivados.

// Respuesta de ejemplo

{

"ok": true,

"curp": "HECM740516HDFRSR08",

"isValid": true,

"data": {

"year": 1974,

"month": 5,

"day": 16,

"gender": "H",

"state": "DF"

}

}

Ejemplos de uso

cURL

curl -X POST \

"https://curp-api-production.up.railway.app/api/curp/validate" \

-H "Content-Type: application/json" \

-H "x-api-key: TU_API_KEY_AQUI" \

-d '{"curp":"HECM740516HDFRSR08"}'

Node.js (fetch)

async function validateCurp() {

const res = await fetch(

"https://curp-api-production.up.railway.app/api/curp/validate",

{

method: "POST",

headers: {

"Content-Type": "application/json",

"x-api-key": "TU_API_KEY_AQUI",

},

body: JSON.stringify({ curp: "HECM740516HDFRSR08" }),

}

);

const data = await res.json();

console.log(data);

}

¿Prefieres verlo en la web primero?Probar demo sin código