Endpoint: portal de impuesto vehicular por placa
Resuelve, desde el organismo de tránsito que reporta el RUNT para esa placa, en cuál de los portales departamentales se liquida y se paga el impuesto del vehículo, y devuelve el enlace. No liquida el impuesto y no pretende hacerlo: ningún departamento lo expone por API —todos blindan el portal con captcha y cuestionario—, así que data siempre llega en null y lo que vale está en portalUrl. Por eso este endpoint no cobra crédito. Es el único endpoint del catálogo que no cobra, y no por promoción: no hay nada que cobrar. Lo que devuelve es enrutamiento —qué departamento y qué portal—, no una liquidación, y se prefirió publicarlo así antes que no publicarlo: saber a qué portal ir ya ahorra el paso de averiguar dónde está matriculado el vehículo.
Departamento donde está matriculado el vehículo y enlace al portal oficial de impuestos. El departamento se resuelve desde el organismo de tránsito del RUNT por placa. NO liquida el impuesto: ningún departamento lo expone por API (todos blindan el portal con captcha y cuestionario), así que `data` siempre viene null y el valor está en `portalUrl` + el mensaje de `error`. Gratis: no cobra crédito.
Cuerpo de la solicitud
{
"placa": "ABC123",
"docType": "CC",
"docNumber": "1020304050"
}| Campo | Tipo | Qué es |
|---|---|---|
| placaobligatorio | string | Placa del vehículo. 5 a 7 caracteres alfanuméricos: cubre AAA000, AAA00A y los formatos menos comunes (AAA00, AAAA00). Los guiones y espacios se ignoran. |
| docTypeobligatorio | string | Tipo de documento del propietario (CC, CE, NIT, PA, TI, CD, PPT, RC). Se aceptan alias comunes: PAS y PASAPORTE se normalizan a PA, y P.P.T. y P.P. —como lo abrevia la tarjeta de propiedad— se normalizan a PPT.Valores: CC · CE · NIT · PA · TI · CD · PPT · RC |
| docNumberobligatorio | string | Número de documento del propietario. Alias aceptado: `doc`. |
| 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/impuestos' \
-H 'x-api-key: pk_live_TU_CLAVE' \
-H 'content-type: application/json' \
-d '{"placa":"ABC123","docType":"CC","docNumber":"1020304050"}'const res = await fetch("https://placapi.com/api/impuestos", {
method: "POST",
headers: {
"x-api-key": "pk_live_TU_CLAVE",
"content-type": "application/json",
},
body: JSON.stringify({"placa":"ABC123","docType":"CC","docNumber":"1020304050"}),
});
const data = await res.json();import requests
res = requests.post(
"https://placapi.com/api/impuestos",
headers={"x-api-key": "pk_live_TU_CLAVE"},
json={"placa":"ABC123","docType":"CC","docNumber":"1020304050"},
)
data = res.json()Respuesta exitosa
{
"source": "Bogotá D.C.",
"status": "info",
"data": null,
"portalUrl": "https://www.haciendabogota.gov.co/es/sdh/pagos-impuesto-vehiculos",
"error": "Tu vehículo está matriculado en Bogotá D.C. Paga tu impuesto en el portal oficial del departamento.",
"mode": "live",
"fetchedAt": "2026-07-24T15:04:05.000Z"
}Errores y cobro
Cuesta 0 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.
Última revisión: 23 de agosto de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.