Pular para o conteúdo principal
A TransMilenio S.A. opera o sistema integrado de transporte público de Bogotá: os corredores do TransMilenio, suas rotas alimentadoras, os ônibus zonais do SITP e o TransMiCable. Publica todo o quadro de horários a cada manhã e a posição de cada veículo a cada poucos segundos. Cerca de 8.300 paradas e estações, 1.080 rotas e 9,4 milhões de paradas programadas por semana. Encontre uma parada pelo nome ou perto de um ponto, veja quais rotas passam por ela e quando saem as próximas, siga uma rota parada por parada no mapa e veja onde estão os ônibus agora. Os endpoints de horário respondem com dados atualizados diariamente; os endpoints ao vivo leem a rede enquanto ela opera, a cada cerca de 20 segundos.

Buscar paradas

POST /co/transmilenio/stops-search/v1 Dataset Encontra paradas e estações pelo nome, pela rota ou ao redor de um ponto. Comece aqui para obter o stop_id que os demais endpoints usam.
Retorna as_of, total, total_is_exact, page, per_page, total_pages, count e stops[]; cada parada traz distance_m quando a busca é ao redor de um ponto. Cada parada é { stop_id, code, name, kind, parent_station, latitude, longitude, wheelchair_boarding, zone_id, route_ids[], route_codes[], routes[], systems[], platforms[] }.
  • kind: station (uma estação do TransMilenio ou do TransMiCable, que tem plataformas) ou stop (uma plataforma dentro de uma estação, ou uma parada de rua do SITP).
  • routes[]: cada rota que para ali, { route_id, short_name, long_name, system }. Uma estação reúne as rotas de todas as suas plataformas.
  • platforms[]: para uma estação, o stop_id de cada plataforma.
  • systems[]: troncal, alimentador, dual, zonal_urbano, zonal_complementario, zonal_especial, transmicable.

Uma parada

POST /co/transmilenio/stop/v1 Dataset Retorna uma parada ou estação pelo id.
Retorna as_of, found, stop e, para uma plataforma, station. Um id desconhecido responde found: false.

Partidas de uma parada

POST /co/transmilenio/stop-departures/v1 Dataset O quadro de horários de uma parada: as próximas partidas a partir de agora, ou de qualquer horário em qualquer dia.
Retorna as_of, found, stop_name, date, from_time, services (os quadros de horários vigentes no dia), count e departures[]: { time, at, minutes_from_now, route_id, route_code, route_name, system, stop_id }. at é ISO 8601 no horário de Bogotá (-05:00); stop_id é a plataforma de onde o ônibus sai. Rotas que terminam na parada ficam de fora: elas chegam, não saem.

Buscar rotas

POST /co/transmilenio/routes-search/v1 Dataset Encontra rotas por código, destino, sistema ou uma parada em que param.
Retorna as_of, total, total_is_exact, page, per_page, total_pages, count e routes[]. Cada rota é { route_id, short_name, long_name, system, system_name, mode, color, text_color, stops_count, trips_per_week, first_departure, last_departure, services[], headways[] }.
  • route_id: cada sentido de uma rota tem o seu; long_name costuma ser o destino.
  • services[]: cada quadro de horários da rota, { service_id, days[], trips, first_departure, last_departure }. Os horários são HH:MM:SS do dia de serviço; depois de 24:00:00 é após a meia-noite.
  • headways[]: janelas em que a rota opera por frequência e não por horário fixo (TransMiCable).

Uma rota

POST /co/transmilenio/route/v1 Dataset Retorna uma rota com suas paradas em ordem e, se pedido, seu traçado.
Retorna as_of, found e route: os campos da rota mais patterns[], cada sequência de paradas distinta que ela opera, a mais frequente primeiro: { shape_id, trips_per_week, length_m, geometry, stops[] }. Cada parada é { sequence, stop_id, name, code, latitude, longitude, offset_seconds }, onde offset_seconds é o tempo programado desde a primeira parada.

Veículos ao vivo

POST /co/transmilenio/vehicles/v1 Live Onde estão os veículos agora, em uma rota ou ao redor de um ponto.
Retorna as_of (quando os veículos reportaram pela última vez), total, page, per_page, total_pages, count e vehicles[]: { vehicle_id, label, license_plate, latitude, longitude, bearing, speed_kmh, route_id, route_code, route_name, system, trip_id, trip_start_time, stop_id, stop_name, stop_status, reported_at, distance_m }. stop_status é incoming_at, stopped_at ou in_transit_to em relação à parada indicada.

Chegadas ao vivo em uma parada

POST /co/transmilenio/stop-arrivals/v1 Live Os veículos indo para uma parada agora, o mais próximo primeiro.
Retorna as_of, found, stop_name, count e arrivals[]: { predicted_at, minutes_away, delay_seconds, stop_id, route_id, route_code, route_name, system, trip_id, vehicle_id, vehicle_label, license_plate }. delay_seconds é positivo quando o veículo está atrasado em relação ao horário. Cada veículo é previsto na sua próxima parada, então a lista traz os veículos cuja próxima parada é esta.

Alertas do serviço

POST /co/transmilenio/alerts/v1 Live Os alertas vigentes agora, para toda a rede, uma rota ou uma parada.
Retorna as_of, count e alerts[]: { alert_id, cause, effect, header, description, url, active_periods[], routes[], stops[] }. effect é detour, no_service, reduced_service, significant_delays, stop_moved, …; os textos ficam em espanhol como o sistema os escreve.

Referência completa

Esquemas, todos os campos de resposta e um playground interativo.