> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Metro de Bogotá

> O metrô de Bogotá como dados: as 27 estações das Linhas 1 e 2, o traçado e as obras de cada linha, o quão perto qualquer ponto está delas, os imóveis necessários para a Linha 1, o avanço mensal das obras e o inventário de árvores.

A Empresa Metro de Bogotá S.A. constrói a primeira linha de metrô da cidade, um
viaduto elevado de 16 estações do sudoeste até a Calle 72, e tem em projeto a Linha 2,
11 estações, quase todas subterrâneas, em direção a Suba e Engativá. Publica por onde tudo passa: as
estações, o traçado de cada linha, o viaduto, o limite das obras e os edifícios por
onde se entra em cada estação.

Encontre as estações mais próximas de um ponto com a distância até cada uma, consulte
uma com seus edifícios de acesso, obtenha a linha como GeoJSON e leve os shapefiles
oficiais. Serve para medir a que distância um imóvel, uma agência ou um cliente fica
de uma futura estação.

Também publica quais imóveis a primeira linha requer, como as obras avançam a cada mês
frente ao planejado e o que acontece com cada árvore do corredor. Tudo está aqui:
verifique um imóvel por CHIP ou por ponto, acompanhe a série de avanço desde 2020 e
busque no inventário de árvores por espécie, tratamento ou local.

> [!NOTE]
>
> A fonte inteira, organizada e pronta para consultar: cada endpoint desta página responde em milissegundos. Cada resposta traz `as_of`: o quão atuais são os dados. [Como funcionam os datasets](https://docs.usecroma.com/pt/datasets.md).

## Buscar estações

`POST /co/metro-bogota/stations-search/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

Encontra estações pelo nome, pela linha ou pela proximidade de um ponto. Comece
aqui para obter o `id` que a consulta de uma estação usa.

| Campo | Tipo | Notas |
| - | - | - |
| `query` | string | Opcional. Palavras do nome ou do nome de trabalho, p. ex. `Kennedy`, `Calle 72`. |
| `line` | integer | Opcional. `1` (Linha 1, em construção) ou `2` (Linha 2, em projeto). `0`, o padrão, retorna todas as linhas. Por padrão `0`. |
| `latitude` | number,null | Opcional. Latitude de um ponto, p. ex. `4.6486`. Com `longitude`, as estações vêm da mais próxima à mais distante, com `distance_m`. Por padrão `null`. |
| `longitude` | number,null | Opcional. Longitude do ponto, p. ex. `-74.0633`. Por padrão `null`. |
| `radius_m` | integer | Opcional. Metros ao redor do ponto, até 50000. `0`, o padrão, mantém todas as estações seja qual for a distância. Por padrão `0`. |
| `page` | integer | Opcional. Página, começa em 1. Por padrão `1`. |
| `per_page` | integer | Opcional. Resultados por página, 1-100. Por padrão `20`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/stations-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "latitude": 4.6486, "longitude": -74.0633 }'
```

Retorna `as_of`, os filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` e `stations[]`; cada estação traz `distance_m`, os metros em linha reta até seu centro, quando a busca parte de um ponto.

Cada estação é `{ id, line, number, name, common_name, station_type, status, note, latitude, longitude, area_m2, geometry }`.

* `id`: a linha e o número da estação, p. ex. `l1-13`.
* `name`: o nome que a Metro de Bogotá publica, p. ex. `Estación 13- Central`. As estações da Linha 2 ainda têm nomes provisórios numerados (`ESTACIÓN 4`).
* `common_name`: o nome de trabalho do projeto, quase sempre a via onde fica a estação, p. ex. `Calle 26-13`.
* `status`: a etapa como publicada, em espanhol: `Construcción` (Linha 1) ou `Diseño` (Linha 2).
* `latitude`, `longitude`: o centro da estação.
* `geometry`: a área da estação, um polígono GeoJSON em WGS84.

## Uma estação

`POST /co/metro-bogota/station/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

Retorna uma estação pelo id, com os edifícios por onde se entra nela.

| Campo | Tipo | Notas |
| - | - | - |
| `station_id` | string | **Obrigatório.** O `id` da estação, obtido na busca, p. ex. `l1-13`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/station/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "station_id": "l1-13" }'
```

Retorna `as_of`, `found`, `station_id`, `station` (null quando não existe) e `access_buildings[]`, cada um com seu polígono.

Cada estação é `{ id, line, number, name, common_name, station_type, status, note, latitude, longitude, area_m2, geometry }`.

* `id`: a linha e o número da estação, p. ex. `l1-13`.
* `name`: o nome que a Metro de Bogotá publica, p. ex. `Estación 13- Central`. As estações da Linha 2 ainda têm nomes provisórios numerados (`ESTACIÓN 4`).
* `common_name`: o nome de trabalho do projeto, quase sempre a via onde fica a estação, p. ex. `Calle 26-13`.
* `status`: a etapa como publicada, em espanhol: `Construcción` (Linha 1) ou `Diseño` (Linha 2).
* `latitude`, `longitude`: o centro da estação.
* `geometry`: a área da estação, um polígono GeoJSON em WGS84.

## Um ponto em relação ao metrô

`POST /co/metro-bogota/proximity/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

Entra uma coordenada, sai o quão perto ela está do metrô: estações, linhas e obras.

| Campo | Tipo | Notas |
| - | - | - |
| `latitude` | number | **Obrigatório.** Latitude em graus decimais (WGS84), p. ex. `4.6486`. |
| `longitude` | number | **Obrigatório.** Longitude em graus decimais (WGS84), negativa em Bogotá, p. ex. `-74.0633`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/proximity/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "latitude": 4.594147, "longitude": -74.097327 }'
```

Retorna `as_of`, `latitude`, `longitude` e:

* `nearest_station`: a estação mais próxima de qualquer linha, com `distance_m` até seu centro.
* `stations_within_1km`: quantas estações têm o centro a menos de 1.000 metros.
* `inside_intervention_limit`: se o ponto está dentro da área de obras da Linha 1.
* `intervention_limit_distance_m`: metros até a borda dessa área; `0` se estiver dentro.
* `parcel`: o imóvel necessário para a Linha 1 que contém o ponto, com seu CHIP, endereço e polígono; null quando nenhum o contém.
* `parcels_within_100m`: quantos desses imóveis têm o centro a menos de 100 metros.
* `lines[]`: por linha, `{ line, alignment_distance_m, nearest_station }`: a distância ao traçado da linha e a estação mais próxima dessa linha.

As distâncias são em linha reta, medidas sobre as formas publicadas, com precisão de cerca de um metro. Não são distâncias a pé.

## Imóveis necessários para a Linha 1

`POST /co/metro-bogota/parcels-search/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

Este imóvel está entre os que o metrô precisa? Pergunte por CHIP, por endereço ou por ponto.

| Campo | Tipo | Notas |
| - | - | - |
| `query` | string | Opcional. Palavras do endereço como Bogotá o escreve, p. ex. `KR 24B 2 10 SUR`. |
| `chip` | string | Opcional. O CHIP do imóvel, exato, p. ex. `AAA0011RDTO`. |
| `latitude` | number,null | Opcional. Latitude de um ponto, p. ex. `4.5967`. Com `longitude`, só o que está a menos de `radius_m`, o mais próximo primeiro, com `distance_m`. Por padrão `null`. |
| `longitude` | number,null | Opcional. Longitude do ponto, p. ex. `-74.0995`. Por padrão `null`. |
| `radius_m` | integer | Opcional. Metros ao redor do ponto, 10-5000. Padrão `200`. Por padrão `200`. |
| `page` | integer | Opcional. Página, começa em 1. Por padrão `1`. |
| `per_page` | integer | Opcional. Resultados por página, 1-100. Por padrão `20`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/parcels-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "chip": "AAA0011RDTO" }'
```

Retorna `as_of`, os filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` e `parcels[]`; cada imóvel traz `distance_m` quando a busca parte de um ponto (`0` quando o ponto está sobre ele). Uma lista vazia significa que o imóvel não está na consulta.

Cada imóvel é `{ id, chip, address, line, latitude, longitude, area_m2, geometry }`.

* `chip`: o identificador cadastral do imóvel em Bogotá, p. ex. `AAA0011RDTO`. Serve para cruzar com o cadastro da cidade.
* `address`: o endereço como publicado, p. ex. `CL 1 24 09`.
* `area_m2`: a área medida sobre o polígono.
* `geometry`: o imóvel, um polígono GeoJSON em WGS84.

> [!NOTE]
>
> São os imóveis que a Metro de Bogotá lista em sua consulta pública de imóveis da Linha 1. A lista diz que um imóvel é necessário para a linha, não em que etapa está sua aquisição, e não traz proprietário nem ocupante. Confirme a situação atual de um imóvel com a Metro de Bogotá.

## Avanço das obras

`POST /co/metro-bogota/progress/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

A porcentagem construída frente à planejada, mês a mês, e em que ponto o projeto está hoje.

| Campo | Tipo | Notas |
| - | - | - |
| `from_month` | string | Opcional. Primeiro mês da série, `yyyy-mm`, p. ex. `2026-01`. |
| `to_month` | string | Opcional. Último mês da série, `yyyy-mm`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/progress/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "from_month": "2026-01" }'
```

Retorna `as_of`, `line`, o intervalo pedido, `count` e:

* `latest`: o mês mais recente com avanço físico informado.
* `months[]`: `{ month, line, planned_pct, executed_pct, planned_month_pct, executed_month_pct, schedule_baseline, budget_planned_cop, budget_planned_cumulative_cop, budget_executed_cop, budget_executed_cumulative_cop, budget_executed_month_pct, budget_executed_cumulative_pct, budget_baseline }`. `planned_pct` e `executed_pct` são o avanço físico acumulado em porcentagem; os campos `_month_` são só o mês.
* `project`: o valor do projeto em pesos (`value_cop`), o início da concessão (`start_date`) e o início de operação previsto (`end_date`).
* `stages[]`: cada etapa com suas datas.
* `activities[]`: o que está em andamento, com `status` e a data de corte do relatório (`reported_on`).
* `milestones[]`: o que foi alcançado no último período informado, com a data (`end_date`).

Nomes, estados e notas vêm em espanhol, como publicados.

## Remanejamento de redes

`POST /co/metro-bogota/network-relocation-search/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

As redes de água, energia, gás e telecom que o metrô precisa mover, e como vai cada uma.

| Campo | Tipo | Notas |
| - | - | - |
| `query` | string | Opcional. Palavras do código de interferência ou da concessionária, p. ex. `COD-00`, `EAAB`. |
| `utility` | string | Opcional. Uma concessionária (ESP): `CODENSA`, `VANTI`, `EAAB`, `ETB`, `TELEFÓNICA`. |
| `status` | enum | Opcional. `por_iniciar`, `en_ejecucion`, `ejecutada` ou `eliminada`. |
| `page` | integer | Opcional. Página, começa em 1. Por padrão `1`. |
| `per_page` | integer | Opcional. Resultados por página, 1-100. Por padrão `20`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/network-relocation-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "utility": "EAAB" }'
```

Retorna `as_of`, os filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` e `interferences[]`. Cada uma é `{ id, line, utility, interference, segment, contract_group, agreement, status, planned_pct, executed_pct, compliance_index, compliance_status, deadline_status, planned_start, planned_end, deadline, slack_days, reported_on }`. As partes são concessionárias; não há dados pessoais. O relatório foi publicado pela última vez em 2022.

## Inventário de árvores

`POST /co/metro-bogota/trees-search/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

Cada árvore que as obras tocam: o que foi autorizado para ela, se foi feito e quando.

| Campo | Tipo | Notas |
| - | - | - |
| `query` | string | Opcional. Palavras do nome comum, da espécie ou da localização, p. ex. `Caucho sabanero`, `Ficus`. |
| `treatment` | enum | Opcional. `tala`, `traslado`, `tratamiento_integral`, `conservacion` ou `poda`. |
| `status` | enum | Opcional. `ejecutado`, `no_ejecutado` ou `sin_reporte`. |
| `locality` | string | Opcional. Uma localidad de Bogotá, p. ex. `KENNEDY`, `BOSA`, `CHAPINERO`. |
| `latitude` | number,null | Opcional. Latitude de um ponto, p. ex. `4.5967`. Com `longitude`, só o que está a menos de `radius_m`, o mais próximo primeiro, com `distance_m`. Por padrão `null`. |
| `longitude` | number,null | Opcional. Longitude do ponto, p. ex. `-74.0995`. Por padrão `null`. |
| `radius_m` | integer | Opcional. Metros ao redor do ponto, 10-5000. Padrão `200`. Por padrão `200`. |
| `page` | integer | Opcional. Página, começa em 1. Por padrão `1`. |
| `per_page` | integer | Opcional. Resultados por página, 1-100. Por padrão `20`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/trees-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "treatment": "traslado", "locality": "KENNEDY" }'
```

Retorna `as_of`, os filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` e `trees[]`; cada árvore traz `distance_m` quando a busca parte de um ponto.

Cada árvore é `{ id, tree_number, line, common_name, scientific_name, sigau_code, treatment, status, executed_on, scheduled_from, scheduled_to, permit, work_front, work_front_group, chainage, locality, locality_code, upz, location, relocation_site, height_m, trunk_perimeter_m, trunk_diameter_cm, height_category, stump_category, botanical_garden_record, latitude, longitude, coordinates_approximate, relocation_location, relocation_latitude, relocation_longitude, note }`.

* `treatment`: o que a licença ambiental autoriza: `tala` (corte), `traslado` (transplante), `tratamiento_integral`, `conservacion` ou `poda`.
* `status`: `ejecutado`, `no_ejecutado` ou `sin_reporte`; `executed_on` é a data em que foi feito.
* `permit`: o ato administrativo que respalda o tratamento.
* `relocation_site`: para uma árvore transplantada, para onde foi levada.
* `coordinates_approximate`: true quando o inventário indica que a árvore não tem coordenadas próprias.

## Traçado e obras

`POST /co/metro-bogota/infrastructure-search/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

A linha e o que se constrói ao seu redor, como formas para desenhar em um mapa
ou para medir em relação a elas.

| Campo | Tipo | Notas |
| - | - | - |
| `kind` | enum | Opcional. `alignment` (traçado), `viaduct` (viaduto), `intervention_limit` (limite de intervenção), `access_building` (edifício de acesso) ou `depot` (Patio Taller). Todos por padrão. |
| `line` | integer | Opcional. `1` (Linha 1, em construção) ou `2` (Linha 2, em projeto). `0`, o padrão, retorna todas as linhas. Por padrão `0`. |
| `page` | integer | Opcional. Página, começa em 1. Por padrão `1`. |
| `per_page` | integer | Opcional. Resultados por página, 1-100. Por padrão `20`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/infrastructure-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "kind": "alignment" }'
```

Retorna `as_of`, os filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` e `results[]`.

Cada resultado é `{ id, kind, line, name, station_id, note, latitude, longitude, length_m, area_m2, geometry, geometry_url }`.

* `kind`: `alignment` (o traçado da linha), `viaduct` (a estrutura elevada por onde circulam os trens da Linha 1), `intervention_limit` (toda a área de projeto, construção e operação da Linha 1), `access_building` (um edifício por onde se entra em uma estação) ou `depot` (o Patio Taller, o pátio e as oficinas da Linha 1).
* `station_id`: para um edifício de acesso, a estação a que pertence.
* `length_m`, `area_m2`: o comprimento de um traçado em metros; o perímetro e a área de um polígono.
* `geometry`: a forma como GeoJSON em WGS84. As formas mais detalhadas (o viaduto, o traçado da Linha 1, o limite de intervenção) vêm simplificadas com precisão de cerca de um metro, e com todos os pontos publicados em `geometry_url`.

## Camadas e shapefiles

`POST /co/metro-bogota/layers/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

As camadas publicadas, cada uma com o arquivo oficial para abrir em um SIG.

| Campo | Tipo | Notas |
| - | - | - |
| `line` | integer | Opcional. `1` (Linha 1, em construção) ou `2` (Linha 2, em projeto). `0`, o padrão, retorna todas as linhas. Por padrão `0`. |

```bash theme={"dark"}
curl https://api.croma.run/co/metro-bogota/layers/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "line": 1 }'
```

Retorna `as_of`, `line`, `count` e `layers[]`.

Cada camada é `{ id, line, kind, title, description, geometry_type, feature_count, file_name, bytes, modified_at, source_document_url, document_url, document_versions[] }`.

* `document_url`: o shapefile compactado da camada, exatamente como a Metro de Bogotá o publicou. `source_document_url` é o mesmo arquivo na Metro de Bogotá.
* `document_versions[]`: cada versão do arquivo, da mais antiga à mais recente, `{ document_url, modified_at, bytes }`. Surge uma nova quando a Metro de Bogotá substitui o arquivo.
* Os edifícios de acesso da Linha 1 são publicados sem arquivo: seu `file_name` e seus campos de documento são null.

> [card] [Referência completa](https://docs.usecroma.com/pt/api-reference/overview.md)
>
> Esquemas, todos os campos de resposta e um playground interativo.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.