API de consulta vehicular de Colombia: la ficha del RUNT por placa vía REST
PlacApi es una API REST que, con la placa y el documento del propietario, devuelve en un JSON la ficha del RUNT del vehículo: datos generales (marca, línea, modelo, cilindraje, servicio, clase, motor, chasis, VIN, organismo de tránsito y estado del registro), datos técnicos, y el histórico de SOAT y de tecnomecánica dentro del mismo objeto data. Las multas del SIMIT, el impuesto vehicular, el avalúo FASECOLDA y el pico y placa se consultan en endpoints dedicados.
¿No eres desarrollador? Consulta el RUNT por placa aquí sin escribir código.
Qué problema resuelve
El portal del RUNT (runt.gov.co) exige captcha y no ofrece una API pública para desarrolladores. Integrar la ficha de un vehículo —con su SOAT y su tecnomecánica— en un CRM, un flujo de compraventa de usados o un score de crédito obliga a scrapear un sitio inestable y a resolver captchas. PlacApi encapsula esa consulta en un único endpoint REST estable que devuelve la ficha completa del RUNT en un JSON.
Para quién sirve
Concesionarios y plataformas de compraventa de usados, aseguradoras e intermediarios, administradores de flota, fintechs de crédito vehicular y cualquier desarrollador que necesite verificar un carro o moto desde su backend.
Datos requeridos
- placa — la placa del vehículo (carro o moto), por ejemplo ABC123.
- docType — tipo de documento del propietario (CC, CE, NIT, etc.).
- docNumber — número de documento del propietario actual; el RUNT exige placa + documento para devolver la ficha.
Fuentes y cobertura
- RUNT (runt.gov.co)Ficha del vehículo en data.informacionGeneral: marca, línea, modelo, cilindraje, color, clase, tipo de servicio, combustible, motor, chasis, VIN, fecha de matrícula, organismo de tránsito, estado del vehículo y gravámenes.
- SOAT (dentro del RUNT)Histórico del seguro obligatorio en data.soat[]: entidad que lo expide, estado (VIGENTE/NO VIGENTE), número de póliza y fecha de vencimiento.
- Tecnomecánica / RTM (dentro del RUNT)Histórico de la revisión técnico-mecánica en data.tecnoMecanica[]: CDA que la expide, estado, si está vigente, fecha de vencimiento y número de certificado.
- Antecedentes del registro (dentro del RUNT)Garantías mobiliarias/prendas, limitaciones a la propiedad (embargos), solicitudes y normalización que el RUNT expone en data.
¿Consulta carros y motos?
Sí. Las motos están en el RUNT igual que los carros y devuelven su ficha general, el histórico de SOAT y el de tecnomecánica (desde el segundo año de la moto) dentro de data.
¿Este endpoint trae también las multas y el impuesto?
No. /api/consulta devuelve la ficha del RUNT, incluidos SOAT y tecnomecánica. Las multas del SIMIT están en /api/multas, el impuesto vehicular en /api/impuestos, el avalúo FASECOLDA en /api/avaluo y el pico y placa en /api/pico-y-placa.
Ejemplo de solicitud
POST https://placapi.com/api/consulta. Autenticación por API key en el header x-api-key. Los datos del ejemplo son ficticios.
curl -X POST 'https://placapi.com/api/consulta' \
-H 'x-api-key: pk_live_TU_CLAVE' \
-H 'content-type: application/json' \
-d '{"placa":"ABC123","docType":"CC","docNumber":"1020304050"}'Ejemplo de respuesta
Respuesta JSON (fragmento con los campos de esta consulta; la API integral devuelve todas las fuentes en el mismo objeto).
{
"data": {
"documentNumber": "1020304050",
"plate": "ABC123",
"vin": "9FB10000001",
"informacionGeneral": {
"noPlaca": "ABC123",
"marca": "MAZDA",
"linea": "CX-30",
"modelo": "2023",
"cilindraje": "2000",
"color": "ROJO",
"claseVehiculo": "CAMIONETA",
"tipoServicio": "Particular",
"tipoCombustible": "GASOLINA",
"noMotor": "MTR0000001",
"noChasis": "9FB10000001",
"noVin": "9FB10000001",
"fechaMatricula": "15/03/2023",
"organismoTransito": "SEC. MOVILIDAD BOGOTA",
"estadoDelVehiculo": "ACTIVO",
"tieneGravamenes": "NO",
"prendas": "NO"
},
"datosTecnicos": {
"pesoBrutoVehicular": "1650",
"noEjes": "2",
"pasajerosSentados": "5"
},
"soat": [
{
"entidadExpideSoat": "SBS SEGUROS",
"estado": "VIGENTE",
"noPoliza": "40001234567",
"fechaVigencia": "20/09/2025",
"fechaVencimiento": "19/09/2026"
}
],
"tecnoMecanica": [
{
"cdaExpide": "CDA FONTIBON",
"estado": "APROBADA",
"vigente": "SI",
"fechaVencimiento": "22/09/2026",
"nroCertificado": "202312345678",
"url": "202312345678"
}
],
"polizasResponsabilidadCivil": [],
"tarjetaOperacion": null,
"informacionBlindaje": null,
"solicitudes": [],
"garantiasMobiliarias": [],
"garantiasFavorDe": [],
"limitacionPropiedad": [],
"normalizacionSaneamiento": []
},
"mode": "live",
"fetchedAt": "2026-07-11T21:00:00.000Z"
}Explicación campo por campo
| Campo | Tipo | Descripción |
|---|---|---|
| data.plate | string | Placa consultada, por ejemplo ABC123. |
| data.informacionGeneral.marca | string | Marca del vehículo según el RUNT (p. ej. MAZDA). |
| data.informacionGeneral.linea | string | Línea o referencia comercial (p. ej. CX-30). |
| data.informacionGeneral.modelo | string | Año-modelo del vehículo (p. ej. 2023). |
| data.informacionGeneral.estadoDelVehiculo | string | Estado del registro en el RUNT (p. ej. ACTIVO). |
| data.informacionGeneral.noMotor | string | Número de motor; útil para cotejar con la tarjeta de propiedad. |
| data.soat[0].estado | string | Estado del SOAT más reciente: VIGENTE o NO VIGENTE. |
| data.soat[0].fechaVencimiento | string (DD/MM/YYYY) | Fecha de vencimiento del SOAT más reciente. |
| data.tecnoMecanica[0].vigente | string | SI o NO según la vigencia de la revisión técnico-mecánica más reciente. |
| data.tecnoMecanica[0].fechaVencimiento | string (DD/MM/YYYY) | Fecha de vencimiento de la tecnomecánica más reciente. |
| data.garantiasMobiliarias | array | Prendas o garantías sobre el vehículo; array vacío si no hay. |
| data.limitacionPropiedad | array | Limitaciones a la propiedad (embargos); array vacío si no hay. |
| mode | string | "live" cuando se consultó el portal oficial en ese momento. |
| fetchedAt | string (ISO 8601) | Marca de tiempo en que se obtuvieron los datos. |
Tiempo de respuesta
Entre 30 y 90 segundos la primera vez —es lo que tardan los portales oficiales en responder—. Reconsultar la misma placa es casi instantáneo porque el resultado queda en caché.
Precio y cobro
1 crédito por consulta con datos, desde 349 COP. El precio por crédito baja por volumen: 349 COP desde 30, 249 COP desde 1.000, 149 COP desde 5.000, 139 COP desde 10.000, 119 COP desde 20.000, 99 COP desde 50.000. Los créditos se compran por adelantado (mínimo 30 = 10.470 COP), no vencen y no hay mensualidad. El mismo precio aplica por la web y por API. Solo se cobra cuando la consulta devuelve datos; por API, las consultas sin resultado (404) tienen 10 gratis al mes por cada tipo de respuesta sin datos y después cobran igual.
Caché y actualización
La ficha del RUNT cambia poco, así que se cachea por días; el estado del SOAT y de la tecnomecánica por vencer se refrescan con más frecuencia. Reconsultar la misma placa devuelve el resultado en caché casi al instante, y puedes forzar un refresco.
Seguridad y privacidad
La placa y el documento se usan solo para ejecutar la consulta; el resultado queda en caché temporal. No se almacenan datos de tarjetas (los pagos los procesa Wompi). Ver privacidad y seguridad.
Limitaciones y posibles errores
- El resultado depende de la disponibilidad del RUNT; si runt.gov.co está en mantenimiento la consulta falla y no inventamos datos.
- El RUNT exige placa + documento del propietario actual; sin el documento correcto la ficha no se devuelve completa.
- Este endpoint devuelve la ficha del RUNT (incluidos SOAT y tecnomecánica). Las multas del SIMIT, el impuesto vehicular, el avalúo FASECOLDA y el pico y placa se consultan en endpoints dedicados.
- PlacApi consolida información pública del RUNT; no es una entidad oficial del Gobierno de Colombia.
Códigos de error del endpoint (401, 402, 429, 5xx) en la referencia de errores.
Otras preguntas frecuentes
¿Necesito el documento del dueño?
+
Sí. Es una medida de privacidad del Estado: el RUNT requiere placa más número de documento del propietario actual para devolver la ficha.
¿Devuelve motor y chasis?
+
Cuando el RUNT los expone, sí: aparecen en data.informacionGeneral.noMotor, noChasis y noVin. Sirven para validar que coincidan con la tarjeta de propiedad antes de comprar.
Seguir explorando
- API RUNT: ficha del vehículo por placa
- API SOAT: histórico y vigencia
- API tecnomecánica (RTM)
- API SIMIT: multas y comparendos
- API impuesto vehicular
- API FASECOLDA: avalúo comercial
- API pico y placa
- Documentación de la API
- API de nombre por cédula
- API de listas restrictivas y OFAC
- Consulta masiva de placas en Colombia
- Saber si un carro se puede traspasar
- API de prendas y embargos por placa
Última revisión: 27 de julio de 2026 · Versión de la API: v1 · Fuentes y metodología