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