Sistema de Acompanhamento de Investimentos — Agência Nacional de Transportes Aquaviários
Dados abertos dos investimentos em instalações portuárias acompanhados pela ANTAQ: contratos, execução verificada pela Fiscalização, consolidados e séries de índices econômicos — em JSON, CSV e Excel. Abra as seções abaixo para o essencial; a referência completa de cada endpoint está no final da página.
https://prd-apex.antaq.gov.br/ords/sfc_sai/dados
GET /dados/
lista recursos, parâmetros e valores válidos — não é preciso ler
o Swagger para começar.?formato=csv
ou ?formato=xlsx a qualquer listagem e receba o arquivo
completo, já com o recorte aplicado./dados/download/completo entrega um ZIP com todos os
conjuntos, um LEIAME e o dicionário de dados.data_reajuste traz os valores monetários para a data
pedida, pelos índices do próprio contrato.Todos os contratos com obrigação de investimento constam da API, com dados cadastrais e o investimento global previsto. Essa informação é produzida pela própria ANTAQ e é pública desde a celebração do contrato.
Os dados de execução — quanto já foi efetivamente investido, qual o percentual físico realizado — seguem critério mais estrito: só aparecem depois que o acompanhamento foi concluído pela Fiscalização. Enquanto o relatório do empreendedor está em análise, seus números não são publicados, porque ainda não foram verificados.
possui_execucao_validada = 0 e campos de execução nulos. O campo
cobertura_execucao_pct de /consolidado/resumo
informa que fração da carteira já passou pela Fiscalização. Comparar execução
com investimento global sem considerar isso subestima o percentual executado.
# Resumo da carteira
curl "https://prd-apex.antaq.gov.br/ords/sfc_sai/dados/consolidado/resumo"
# Contratos de um estado, em planilha Excel
curl -O -J "https://prd-apex.antaq.gov.br/ords/sfc_sai/dados/contratos?uf=SP&formato=xlsx"
# Valores corrigidos para dezembro de 2024
curl "https://prd-apex.antaq.gov.br/ords/sfc_sai/dados/contratos?data_reajuste=2024-12"
# Investimento por regiao
curl "https://prd-apex.antaq.gov.br/ords/sfc_sai/dados/consolidado/por/regiao"
# Pacote completo de dados abertos
curl -O -J "https://prd-apex.antaq.gov.br/ords/sfc_sai/dados/download/completo"
import pandas as pd
BASE = "https://prd-apex.antaq.gov.br/ords/sfc_sai/dados"
# O CSV ja vem com o recorte inteiro, sem paginar
contratos = pd.read_csv(f"{BASE}/contratos?formato=csv", sep=";")
# Ou via JSON, percorrendo as paginas
import requests
linhas, offset = [], 0
while True:
p = requests.get(f"{BASE}/contratos", params={"limit": 500, "offset": offset}).json()
linhas += p["items"]
if not p["has_more"]:
break
offset += p["returned_count"]
df = pd.DataFrame(linhas)
Cada contrato tem cláusula própria de reajuste, com um ou mais índices
econômicos (IPCA, IGP-M, INPC, INCC) e períodos de vigência. O parâmetro
data_reajuste define a data para a qual os valores são
trazidos; se for omitido, usa-se o mês corrente.
| Sufixo | Conteúdo |
|---|---|
_nominal | valor original, na data-base contratual |
_data_base | data-base a que o valor nominal se refere |
_fator | multiplicador acumulado aplicado, com 6 casas decimais |
_corrigido | nominal × fator, arredondado a 2 casas |
_correcao | diagnóstico do cálculo |
O diagnóstico existe porque um fator igual a 1 é ambíguo: pode significar “contrato sem reajuste” ou “não foi possível corrigir”. Os valores mais frequentes são:
| Valor | Significado |
|---|---|
APLICADA |
a série cobre todo o intervalo; correção integral |
APLICADA_ATE_ULTIMA_COMPETENCIA |
a data pedida é posterior à última competência publicada do índice, e o
fator acumulou até ela. É o caso normal quando
data_reajuste é omitido, porque as séries saem com
defasagem |
NAO_APLICAVEL |
contrato sem cláusula de correção; fator 1 é o correto |
SEM_DATA_BASE |
data-base ausente no cadastro; devolvido o valor nominal |
/dados/dominios, domínio
status_correcao. A competência efetivamente aplicada a cada
índice consta de metadados.ultima_competencia_indices, presente
em toda resposta.
JSON, CSV e XLSX saem da mesma consulta: o arquivo baixado é exatamente o recorte visto no JSON. O CSV usa UTF-8 com BOM, separador ponto-e-vírgula e textos entre aspas — abre no Excel em português sem etapa de importação.
csv e
xlsx devolvem o recorte inteiro, independentemente de
limit. Já as respostas JSON trazem no máximo 500 registros por
página; percorra somando returned_count ao offset
enquanto has_more for verdadeiro.
/ — documento de descoberta/contratos — lista os contratos com obrigação de investimento/contratos/{id} — ficha completa de um contrato/contratos/{id}/acompanhamentos — acompanhamentos validados do contrato/contratos/{id}/indices — índices econômicos do contrato/acompanhamentos — todos os acompanhamentos validados/consolidado/resumo — totais da carteira/consolidado/por/{dimensao} — agregação por região, UF, empresa, porto, situação, perfil de carga, tipo de instalação, índice ou ano/consolidado/evolucao-mensal — execução por mês de referência/consolidado/evolucao-carteira — formação da carteira ao longo do tempo/consolidado/faixas-execucao — distribuição por faixa de execução física/consolidado/reidi — comparativo REIDI/mapa — contratos georreferenciados/indices — índices econômicos utilizados/indices/{sigla} — série histórica de um índice/dominios — catálogos de códigos/metadados — cobertura, limites e dicionário de dados/download/completo — pacote ZIP com todos os conjuntosEsta API não expõe dado pessoal. Nomes, CPF, e-mail e telefone de representantes legais não estão em nenhum endpoint, assim como os campos de texto livre preenchidos durante a análise — observações e pareceres internos. A empresa aparece por razão social e CNPJ, que são dados de pessoa jurídica.
Referência completa. Abaixo, todos os endpoints, parâmetros e campos. Os exemplos podem ser executados diretamente na página pelo botão Try it out.