API pico y placa Colombia: si aplica hoy según la placa y la ciudad

PlacApi expone un endpoint REST dedicado, POST /api/pico-y-placa, para saber si un vehículo tiene pico y placa hoy o mañana en las principales ciudades de Colombia. Con solo la placa devuelve un arreglo JSON con una entrada por ciudad cubierta (30 ciudades: Bogotá, Medellín, Cali, Bucaramanga, Cartagena, Cúcuta, Pereira, Pasto y el área metropolitana de Medellín y Bucaramanga, entre otras), indicando si la restricción aplica hoy, si aplica mañana, en qué días de la semana y en qué franja horaria. A diferencia de las demás fuentes, esta consulta solo requiere la placa: no pide el documento del propietario.

¿No eres desarrollador? Consulta el RUNT por placa aquí sin escribir código.

Qué problema resuelve

El pico y placa es rotativo y cambia por cuatrimestre y por ciudad. Mantener esas reglas dentro de una app de movilidad o logística es un trabajo continuo; PlacApi las mantiene actualizadas y las expone en un endpoint propio, separado de la ficha del RUNT.

Para quién sirve

Apps de movilidad, logística y última milla que planifican rutas, y productos que avisan al usuario si puede circular hoy en su ciudad.

Datos requeridos

  • placa — placa del vehículo. Es el único dato requerido: la respuesta evalúa todas las ciudades cubiertas.

Fuentes y cobertura

  • Secretarías de movilidadReglas de pico y placa vigentes por ciudad, actualizadas por cuatrimestre.

¿Qué ciudades cubre?

Bogotá, Cali, Medellín y su área metropolitana (Bello, Itagüí, Envigado, Sabaneta…), Bucaramanga y su área, Cartagena, eje cafetero (Pereira, Armenia, Dosquebradas), Cúcuta, Santa Marta, Ibagué, Villavicencio y más: 30 municipios. La respuesta trae una entrada por ciudad.

¿Puedo consultar por coordenadas?

Sí. Envía lat y lng (juntas) y el API geolocaliza la ciudad y aplica sus reglas; mandan sobre el campo ciudad. También puedes enviar solo ciudad.

Ejemplo de solicitud

POST https://placapi.com/api/pico-y-placa. Autenticación por API key en el header x-api-key. Los datos del ejemplo son ficticios.

Ejemplo cURL de la solicitud
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","tipoVehiculo":"carro"}'

Ejemplo de respuesta

Respuesta JSON (fragmento con los campos de esta consulta; la API integral devuelve todas las fuentes en el mismo objeto).

Ejemplo de respuesta JSON
{
  "source": "pico-y-placa",
  "status": "ok",
  "ubicacion": {
    "matched": true,
    "source": "ciudad",
    "ciudad": "Bogotá",
    "departamento": "Bogotá D.C."
  },
  "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"
    }
  ],
  "mode": "live"
}

Explicación campo por campo

CampoTipoDescripción
ubicacionobjectCómo se resolvió la ubicación (por ciudad o por lat/lng vía geocoder). matched=false si el lugar no está monitoreado.
data[0].tipoVehiculostringcarro o moto. Se envía en el request; default carro.
data[0].digitoPlacastringQué dígito de la placa se evaluó en esa ciudad: ultimo o primero. Lo fija el decreto local — por defecto último para carro y primero para moto, pero no en todas: las motos van por el último en Bucaramanga, Cartagena, Floridablanca, Girón, Piedecuesta y Popayán.
data[0].esquemastringbyDay (dígitos por día de semana) o parImpar (por paridad del día calendario, ej. Bogotá).
data[0].hoyAplicaboolean | nulltrue si la placa NO puede circular hoy. null si no se envió placa.
data[0].manianaAplicaboolean | nulltrue si la restricción aplica mañana (útil para planear con anticipación).
data[0].digitosHoynumber[]Dígitos que NO circulan hoy en esa ciudad (independiente de la placa).
data[0].diasSemanastring[]Solo esquema byDay con placa: días en que tu dígito está restringido (lun, mar…).
data[0].horariosstring | nullFranja horaria de la restricción en esa ciudad.

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

Las reglas se actualizan por temporada; la evaluación de “hoy” y “mañana” se calcula en el momento (hora Colombia) sobre las reglas vigentes.

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

  • Cubrimos 30 municipios (capitales y áreas metropolitanas); otros pueden no aparecer y devuelven matched:false.
  • Motos usan el primer dígito y carros el último en casi todas las ciudades, pero lo fija cada decreto (Bucaramanga, Cartagena, Floridablanca, Girón, Piedecuesta y Popayán): la posición evaluada viene en digitoPlaca. Taxis/transporte público aún no están cubiertos.
  • Ante medidas extraordinarias (día sin carro, contingencias ambientales) valida también con la secretaría local.
  • PlacApi no es una secretaría de movilidad; consolida las reglas vigentes por ciudad.

Códigos de error del endpoint (401, 402, 429, 5xx) en la referencia de errores.

Otras preguntas frecuentes

¿Sirve para motos?

+

Sí. Envía tipoVehiculo=moto y el API aplica la regla de motos de cada ciudad, incluido qué dígito se mira: el primero en la mayoría, el último donde el decreto lo diga (Bucaramanga, Cartagena, Floridablanca, Girón, Piedecuesta y Popayán). La posición usada viene en digitoPlaca. Por defecto es carro. En consulta-full no hace falta enviarlo: el tipo se detecta solo desde la clase del RUNT.

¿Necesito el documento del propietario?

+

No. Este endpoint no requiere documento ni placa: con placa indica si te aplica hoy/mañana; sin placa devuelve qué dígitos restringen.

¿Viene incluido en consulta-full?

+

Sí. POST /api/consulta-full trae el pico y placa dentro del bundle vehicular completo, con el mismo filtro por ciudad o coordenadas (lat/lng) y el tipo de vehículo detectado automáticamente desde el RUNT.

Seguir explorando

Última revisión: 27 de julio de 2026 · Versión de la API: v1 · Fuentes y metodología

Contacto