Endpoint: pico y placa por placa y ciudad
Con la placa y la ciudad responde si el vehículo tiene restricción hoy y mañana, qué dígitos están restringidos y en qué horario. Distingue carro de moto, porque no todas las ciudades miran el mismo dígito de la placa para cada uno.
Restricción de pico y placa por ubicación y tipo de vehículo. Filtra por `ciudad` o por `lat`/`lng` (geolocaliza la ciudad; manda sobre `ciudad`). `tipoVehiculo` = carro (default) o moto. Qué dígito de la placa se evalúa lo fija el decreto de cada ciudad y viene en `digitoPlaca`: por defecto el último para carro y el primero para moto, pero no en todas: varias ciudades restringen también la moto por el último, así que hay que leer `digitoPlaca` en vez de asumir la regla. La `placa` es opcional: con placa indica si aplica hoy/mañana; sin placa devuelve qué dígitos restringen. Sin ubicación devuelve todas las ciudades monitoreadas. **En festivo nacional no hay pico y placa en ninguna ciudad**: `digitosHoy` sale vacío, `hoyAplica` en false y el bloque `festivo` trae el nombre del día. También viene incluido en consulta-full, con el mismo filtro por ubicación y el tipo de vehículo detectado solo desde el RUNT.
Cuerpo de la solicitud
{
"ciudad": "Bogotá",
"placa": "ABC123"
}| Campo | Tipo | Qué es |
|---|---|---|
| ciudad | string | Ciudad a consultar (ej. Bogotá). |
| lat | number | Latitud; requiere lng. Geolocaliza la ciudad y manda sobre `ciudad`. |
| lng | number | Longitud; requiere lat. |
| placa | string | Placa; agrega hoyAplica/manianaAplica. |
| tipoVehiculo | string | carro (default) | moto. El dígito que se evalúa lo decide cada ciudad y se devuelve en `digitoPlaca`. taxi y publico se aceptan pero aún no tienen reglas cargadas (devuelven tienePicoYPlaca:false). |
Ejemplos por lenguaje
curl -X POST 'https://placapi.com/api/pico-y-placa' \
-H 'x-api-key: pk_live_TU_CLAVE' \
-H 'content-type: application/json' \
-d '{"ciudad":"Bogotá","placa":"ABC123"}'const res = await fetch("https://placapi.com/api/pico-y-placa", {
method: "POST",
headers: {
"x-api-key": "pk_live_TU_CLAVE",
"content-type": "application/json",
},
body: JSON.stringify({"ciudad":"Bogotá","placa":"ABC123"}),
});
const data = await res.json();import requests
res = requests.post(
"https://placapi.com/api/pico-y-placa",
headers={"x-api-key": "pk_live_TU_CLAVE"},
json={"ciudad":"Bogotá","placa":"ABC123"},
)
data = res.json()Respuesta exitosa
{
"source": "pico-y-placa",
"status": "ok",
"ubicacion": {
"matched": true,
"source": "ciudad",
"consulta": {
"ciudad": "Bogotá"
},
"ciudad": "Bogotá",
"departamento": "Bogotá D.C."
},
"festivo": {
"hoy": null,
"maniana": null
},
"data": [
{
"ciudad": "Bogotá",
"departamento": "Bogotá D.C.",
"tipoVehiculo": "carro",
"digitoPlaca": "ultimo",
"tienePicoYPlaca": true,
"esquema": "parImpar",
"hoyAplica": false,
"manianaAplica": true,
"digitosHoy": [
1,
2,
3,
4,
5
],
"digitosManiana": [
6,
7,
8,
9,
0
],
"diasSemana": [],
"horarios": "L–V, 6:00–21:00",
"vigencia": "Vigente en julio de 2026",
"fuente": "https://www.movilidadbogota.gov.co/pico-y-placa"
}
],
"mode": "live",
"fetchedAt": "2026-07-24T15:04:05.000Z"
}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: 20 de agosto de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.