ANTAQ

API Pública de Dados do SAI v1.0.0

Sistema de Acompanhamento de Investimentos — Agência Nacional de Transportes Aquaviários

Especificação OpenAPI Endpoint raiz

Guia de Integração Rápida

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.

Comece por aqui
Acesso aberto, sem cadastro. Nenhuma autenticação, nenhuma chave, nenhuma cota — basta chamar a URL. Especificação OpenAPI 3.0.3, respostas em JSON, CSV e XLSX, sob a Licença de Dados Abertos do gov.br.

URL base

https://prd-apex.antaq.gov.br/ords/sfc_sai/dados

Quatro coisas que resolvem a maior parte dos casos

  • A API se descreve sozinha. GET /dados/ lista recursos, parâmetros e valores válidos — não é preciso ler o Swagger para começar.
  • Planilha pronta. Acrescente ?formato=csv ou ?formato=xlsx a qualquer listagem e receba o arquivo completo, já com o recorte aplicado.
  • Tudo de uma vez. /dados/download/completo entrega um ZIP com todos os conjuntos, um LEIAME e o dicionário de dados.
  • Valores atualizados. O parâmetro data_reajuste traz os valores monetários para a data pedida, pelos índices do próprio contrato.
O que é publicado

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.

Ao somar execução, observe a cobertura. A carteira aparece inteira, mas parte dos contratos vem com 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.
Primeiros exemplos

Linha de comando

# 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"

Python, com pandas

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)
Valores corrigidos

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.

Todo valor monetário vem em campos que permitem refazer a conta

SufixoConteúdo
_nominalvalor original, na data-base contratual
_data_basedata-base a que o valor nominal se refere
_fatormultiplicador acumulado aplicado, com 6 casas decimais
_corrigidonominal × fator, arredondado a 2 casas
_correcaodiagnóstico do cálculo

Diagnóstico da correção

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:

ValorSignificado
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
A lista completa está em /dados/dominios, domínio status_correcao. A competência efetivamente aplicada a cada índice consta de metadados.ultima_competencia_indices, presente em toda resposta.
Formatos e paginação

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.

As exportações não paginam. 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.
Endpoints disponíveis

Contratos e execução

  • GET/ — documento de descoberta
  • GET/contratos — lista os contratos com obrigação de investimento
  • GET/contratos/{id} — ficha completa de um contrato
  • GET/contratos/{id}/acompanhamentos — acompanhamentos validados do contrato
  • GET/contratos/{id}/indices — índices econômicos do contrato
  • GET/acompanhamentos — todos os acompanhamentos validados

Consolidados

  • GET/consolidado/resumo — totais da carteira
  • GET/consolidado/por/{dimensao} — agregação por região, UF, empresa, porto, situação, perfil de carga, tipo de instalação, índice ou ano
  • GET/consolidado/evolucao-mensal — execução por mês de referência
  • GET/consolidado/evolucao-carteira — formação da carteira ao longo do tempo
  • GET/consolidado/faixas-execucao — distribuição por faixa de execução física
  • GET/consolidado/reidi — comparativo REIDI
  • GET/mapa — contratos georreferenciados

Referência e pacote completo

  • GET/indices — índices econômicos utilizados
  • GET/indices/{sigla} — série histórica de um índice
  • GET/dominios — catálogos de códigos
  • GET/metadados — cobertura, limites e dicionário de dados
  • GET/download/completo — pacote ZIP com todos os conjuntos
Dado pessoal

Esta 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.