/v1/curp/lookup
Look a CURP up in RENAPO, the national population registry, and get back the identity registered for it. Takes around 15 seconds and costs 10 credits.
Use it to confirm that a CURP exists and belongs to the person in front of you: compare the returned names and birth date with what they gave you. Malformed CURPs are rejected before contacting RENAPO.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
curp |
string | Yes | The CURP to look up (18 characters, any case). |
include_pdf |
boolean | No | Set to true to include the official CURP PDF as pdf_base64. Defaults to false. |
Try it
/v1/curp/lookup
Sign in to send a real request from this page.
New accounts get a $5 USD signup credit, no card required.
Example request
curl -X POST https://curpcheck.com/v1/curp/lookup \
-H "x-api-key: rfc_your_api_key" \
-H "Content-Type: application/json" \
-d '{"curp": "PEMJ800101HDFRRN07"}'
Response (200)
{
"curp": "PEMJ800101HDFRRN07",
"found": true,
"message": "Identity retrieved from RENAPO",
"person": {
"curp": "PEMJ800101HDFRRN07",
"renapo_valid": true,
"names": "JUAN",
"paternal_surname": "PEREZ",
"mothers_maiden_name": "MARTINEZ",
"sex": "HOMBRE",
"birthdate": "01/01/1980",
"nationality": "MEXICO",
"entity_birth": "DF",
"status_curp": "RCN",
"certified": true,
"certification": "CURP Certificada: verificada con el Registro Civil",
"associated_curps": [],
"probation_document": "ACTA DE NACIMIENTO",
"probation_document_data": {},
"homonimo": false
}
}
found is true (RENAPO returned the record in person), false (RENAPO did not return a single record; message carries RENAPO's reason, and person.homonimo is true when RENAPO reports a problem with the key), or null (RENAPO could not be reached, retry later). A false answer costs 10 credits. A null answer is not charged.
person uses the same fields as the person and legal_representative objects returned by /rfc/validate on RFCCheck. birthdate is in RENAPO's DD/MM/YYYY format.
CURP status
status_curp is RENAPO's own status code, passed through unchanged. Common values: AN (alta normal), AH (alta con homonimia), RCN (registro de cambio no afectando a CURP), and RCC (registro de cambio afectando a CURP). Codes starting with B are bajas, meaning the CURP was cancelled; BD is baja por defunción.
person.certified is true when the PDF prints a certification statement, false when the PDF was read and no statement is present, or null when it could not be read. Certification may be through Registro Civil, SRE, or INM. This field does not determine nationality or eligibility for a passport or INE credential.
Every lookup and search reads the official PDF to include person.certification (the certification statement as printed) and person.associated_curps (CURPs associated by correction). An empty list means none are listed. If the document cannot be read, both fields are null and the registered identity is still returned. include_pdf only controls whether the base64 file is returned.
With include_pdf set to true, a successful response also includes pdf_base64, the official RENAPO PDF encoded as base64. No extra credits are charged. If the requested PDF cannot be downloaded, found is null and the request is not charged; retry later.
Errors
-
422 missing_curp: no curp in the request. Not charged. -
422 invalid_curp: the CURP fails the format, birth date, state, or check digit checks, so it was not sent to RENAPO. Not charged.