Endpoint: ficha técnica, SOAT y tecnomecánica por placa
Con la placa y nada más —sin el documento del propietario— devuelve la ficha técnica del vehículo (marca, línea, modelo, clase, carrocería, motor, chasis, VIN, licencia de tránsito, organismo, matrícula, ejes, pasajeros, peso y puertas), el SOAT y la revisión técnico-mecánica con su vigencia calculada. Es la consulta para cuando tienes la placa y no la cédula del dueño, o cuando el documento que te dieron no es el del propietario actual.
Consulta vehicular por placa SOLA, sin el documento del propietario. Casi siempre entrega la ficha técnica COMPLETA del registro —marca, línea, modelo, clase, carrocería, color, cilindraje, combustible, servicio, motor, chasis, VIN, licencia de tránsito vigente, estado, organismo, fecha de matrícula, ejes, pasajeros, peso bruto y puertas— más el SOAT (vigente, vencimiento, aseguradora, póliza e histórico de los 5 más recientes) y la revisión técnico-mecánica (vigente, vencimiento, CDA, certificado e histórico): por VIN cuando el vehículo lo tiene y, sin VIN (modelos anteriores a 2011), por sus revisiones técnico-mecánicas. Cuando no hay con qué pedir la ficha completa (sin VIN ni revisiones) o esa consulta no responde, sale el RESUMEN del registro: la misma ficha sin fecha de matrícula, ejes, pasajeros, peso ni puertas, y SOAT y tecnomecánica con los 3 registros más recientes (sin número de certificado), con advertencia que explica la causa. cobertura.ficha dice completa o resumen; cobertura.soat/tecnomecanica dicen completa, sin_vin (sin VIN ni revisiones con que completar; reintentar no sirve), no_encontrado o no_disponible (reintentar más tarde puede traer la ficha completa). Con la ficha completa, un vehículo nuevo sin certificado dentro del plazo de la primera revisión (art. 52 de la Ley 769/2002: 5 años desde la matrícula el particular distinto de moto, 2 el público y las motos) sale con tecnomecanica.exento: true, vigente: true y fechaPrimeraRevision; el particular matriculado antes del 19-may-2023 entre el año 5 y el 6 sale enDisputa: true con vigente: null. En el resumen, sin ninguna revisión registrada la tecnomecánica sale con vigente: null (no se afirma ni vigente ni vencida). status: ok con los dos vigentes (o la RTM exenta), danger si alguno venció, info si falta alguno o está en disputa. Una placa sin registro: 404 vehiculo_no_registrado; el registro sin responder: 502 source_error, sin cobro y reintentable. En sandbox.placapi.com responde a cualquier API key sin cobrar, solo con las placas de prueba (otra placa: 400 placa_fuera_de_sandbox con la lista). Cuesta 10 créditos por consulta con datos; una placa sin registro cuesta 1, y solo pasados los sin-resultado gratis del mes.
Cuerpo de la solicitud
{
"placa": "ABC123"
}| Campo | Tipo | Qué es |
|---|---|---|
| placaobligatorio | string | Placa del vehículo. 5 a 7 caracteres alfanuméricos. Los guiones y espacios se ignoran. |
| 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/vehiculo-placa' \
-H 'x-api-key: pk_live_TU_CLAVE' \
-H 'content-type: application/json' \
-d '{"placa":"ABC123"}'const res = await fetch("https://placapi.com/api/vehiculo-placa", {
method: "POST",
headers: {
"x-api-key": "pk_live_TU_CLAVE",
"content-type": "application/json",
},
body: JSON.stringify({"placa":"ABC123"}),
});
const data = await res.json();import requests
res = requests.post(
"https://placapi.com/api/vehiculo-placa",
headers={"x-api-key": "pk_live_TU_CLAVE"},
json={"placa":"ABC123"},
)
data = res.json()Respuesta exitosa
{
"source": "vehiculo",
"status": "ok",
"data": {
"placa": "ABC123",
"marca": "MAZDA",
"linea": "CX-30",
"modelo": "2023",
"clase": "CAMIONETA",
"tipoCarroceria": "WAGON",
"color": "ROJO",
"cilindraje": "2000",
"combustible": "GASOLINA",
"servicio": "PARTICULAR",
"numeroMotor": "PEXX123456",
"numeroChasis": "3MVDM2W7XPL123456",
"vin": "3MVDM2W7XPL123456",
"licenciaTransito": "10012345678",
"estado": "ACTIVO",
"organismoTransito": "SECRETARIA DISTRITAL DE MOVILIDAD DE BOGOTA",
"fechaMatricula": "15/03/2023",
"ejes": "2",
"pasajeros": "5",
"pesoBruto": "1730",
"puertas": "4",
"soat": {
"vigente": true,
"fechaVencimiento": "15/03/2027",
"entidad": "SEGUROS DEL ESTADO S.A.",
"noPoliza": "40012345678",
"historico": [
{
"entidadExpideSoat": "SEGUROS DEL ESTADO S.A.",
"estado": "VIGENTE",
"fechaExpedicion": "10/03/2026",
"fechaVencimiento": "15/03/2027",
"noPoliza": "40012345678"
}
]
},
"tecnomecanica": {
"vigente": true,
"fechaVencimiento": "20/03/2027",
"cda": "CDA LOS ANDES",
"nroCertificado": "CDA-2026-0012345",
"historico": [
{
"cdaExpide": "CDA LOS ANDES",
"estado": "VIGENTE",
"fechaExpedicion": "20/03/2026",
"fechaVencimiento": "20/03/2027",
"nroCertificado": "CDA-2026-0012345"
}
],
"exento": false,
"enDisputa": false,
"fechaPrimeraRevision": null,
"fechaPrimeraRevisionMax": null
}
},
"cobertura": {
"ficha": "completa",
"soat": "completa",
"tecnomecanica": "completa"
},
"mode": "live",
"fetchedAt": "2026-07-24T15:04:05.000Z"
}Errores y cobro
Cuesta 10 créditos 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.
Cuándo conviene entrar por la placa sola y no por placa y documento —flotas, marketplaces de usados, talleres y aseguradoras que no tienen la cédula del dueño—: API de vehículo por placa sin cédula.
Para probar sin gastar créditos, sandbox.placapi.com responde este mismo endpoint con cualquier API key, solo con las placas de prueba (otra placa devuelve la lista).
Última revisión: 5 de noviembre de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.