Endpoint: licencia de conducir en México (CDMX, GRO, MIC, PUE y BCN)
Valida la licencia de conducir de México según el estado que la emitió. La Ciudad de México (CMX, el valor por defecto) se consulta por CURP sola y devuelve la vigencia tal como la publica su registro; la negativa agrupa dos situaciones distintas que la respuesta conserva en el mensaje: sin datos registrados en CDMX o licencia permanente (el programa 2024+, que por diseño no tiene vigencia). Guerrero (GRO), Michoacán (MIC) y Puebla (PUE) piden CURP más número de licencia —en Guerrero, el folio— y devuelven si ese par figura, si está vencida, la vigencia, la expedición, el tipo y la oficina; Guerrero agrega clase, plazo y municipio. Puebla manda la CURP completa. Baja California (BCN) NO usa CURP: pide número de licencia, fecha de expedición y fecha de nacimiento (dd/mm/yyyy) y devuelve si ese conjunto forma un registro válido, con vigencia, expedición y tipo; ⚠️ BC no distingue «no existe» de «los datos no coinciden», así que su negativa solo dice que la licencia y esas dos fechas no forman un registro válido. México no tiene registro nacional de licencias: fuera de esos cinco estados no hay una validación habilitada, y el pedido responde 400. Una negativa es una respuesta válida y cobra; solo la caída de la fuente reembolsa. Una CURP mal formada o una licencia ausente con GRO/MIC/PUE, y una fecha ausente o imposible con BCN, responden 400 sin cobrar. Nunca se devuelve nombre, fotografía ni documento del titular.
Licencia de conducir de México por estado. CMX (Ciudad de México, el valor por defecto) va por CURP sola y devuelve si el registro reporta vigencia y la vigencia publicada. GRO (Guerrero), MIC (Michoacán) y PUE (Puebla) validan CURP + número de licencia —el folio, en Guerrero— y devuelven si ese par figura, si está vencida, la vigencia, la expedición, el tipo y la oficina; Guerrero agrega clase, plazo y municipio. BCN (Baja California) NO usa CURP: pide número de licencia + fecha de expedición + fecha de nacimiento y devuelve si ese conjunto forma un registro válido, con vigencia, expedición y tipo. La negativa es una respuesta válida y cobra; solo la fuente caída reembolsa. Una CURP mal formada o una licencia ausente con GRO/MIC/PUE, y una fecha ausente o imposible con BCN, responden 400 sin cobrar. Nunca se devuelve nombre, fotografía ni documento del titular. Cuesta 1 crédito.
Cuerpo de la solicitud
{
"curp": "AAAA000000HDFXXX01"
}| Campo | Tipo | Qué es |
|---|---|---|
| curp | string | CURP de 18 caracteres (4 letras, 6 dígitos, 1 letra y 7 alfanuméricos). Se aceptan espacios y guiones. Obligatoria en `CMX`, `GRO`, `MIC` y `PUE`; `BCN` no la pide y la ignora si llega. |
| estado | string | Estado que emitió la licencia, como código ISO 3166-2:MX sin el prefijo: `CMX` (Ciudad de México), `GRO` (Guerrero), `MIC` (Michoacán), `PUE` (Puebla), `BCN` (Baja California), Se acepta en minúsculas y con espacios alrededor, y `CDMX` es alias de `CMX`. Ausente o vacío = `CMX`, que es la consulta de la CDMX de siempre. Cualquier otro valor responde 400 con los admitidos.Valores: CMX · CDMX · GRO · MIC · PUE · BCN |
| licencia | string | Número de la licencia (en Guerrero, el folio). Obligatoria con `estado` `GRO`, `MIC`, `PUE` o `BCN`; con `CMX` se ignora. Se aceptan los alias `numeroLicencia`, `noLicencia`, `no_licencia` y `folio`. Se normaliza con trim, mayúsculas y sin espacios internos (los guiones se conservan): de 3 a 20 caracteres de letras, números o guiones, máximo 15 en Guerrero, exactamente 15 dígitos en MEX y 1 a 14 letras/números sin guiones en SON. |
| fechaExpedicion | string | Solo BCN: fecha de expedición de la licencia, en `dd/mm/yyyy` o `yyyy-mm-dd`; se normaliza a `dd/mm/yyyy`. Se aceptan los alias `fecha_expedicion` y `expedicion`. En los demás estados se ignora. |
| fechaNacimiento | string | Solo BCN: fecha de nacimiento del titular, en `dd/mm/yyyy` o `yyyy-mm-dd`; se normaliza a `dd/mm/yyyy`. Se aceptan los alias `fecha_nacimiento` y `nacimiento`. En los demás estados se ignora. |
| refresh | boolean | Ignora la caché y vuelve a consultar la fuente oficial. Ojo: una consulta refrescada con datos siempre cobra (el hit de caché no). |
Ejemplos por lenguaje
curl -X POST 'https://placapi.com/api/licencia-mx' \
-H 'x-api-key: pk_live_TU_CLAVE' \
-H 'content-type: application/json' \
-d '{"curp":"AAAA000000HDFXXX01"}'const res = await fetch("https://placapi.com/api/licencia-mx", {
method: "POST",
headers: {
"x-api-key": "pk_live_TU_CLAVE",
"content-type": "application/json",
},
body: JSON.stringify({"curp":"AAAA000000HDFXXX01"}),
});
const data = await res.json();import requests
res = requests.post(
"https://placapi.com/api/licencia-mx",
headers={"x-api-key": "pk_live_TU_CLAVE"},
json={"curp":"AAAA000000HDFXXX01"},
)
data = res.json()Respuesta exitosa
{
"source": "licencia",
"status": "ok",
"data": {
"pais": "MX",
"curp": "AAAA000000HDFXXX01",
"encontrada": true,
"vigencia": "2027-05-10",
"mensaje": null
},
"portalUrl": "https://data.finanzas.cdmx.gob.mx/consulta_adeudos",
"mode": "live",
"fetchedAt": "2026-07-24T15:04:05.000Z",
"cost": 1
}Errores y cobro
Cuesta 1 crédito cuando devuelve datos. Códigos posibles: 400 401 402 404 429 500 502 — qué significa cada uno, cuál reintentar y cuál cobra, en errores y rate limits. Autenticación por x-api-key: cómo generar la clave.
Última revisión: 30 de octubre de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.