Dois acervos públicos brasileiros, consultáveis pela mesma API. Microdados dos painéis da ANTAQ e do ONTL/Infra S.A. — 15 painéis, ~250 quadros, ~350 mil linhas, coletados diariamente — e o Comex Stat (MDIC/SECEX) inteiro: 141,8 milhões de registros de 1989 até hoje. As fontes de origem mostram os números na tela ou os publicam como 8,7 GB de CSV; aqui eles vêm estruturados, agregáveis, e com as ressalvas junto.
98,5% de tudo que o Brasil exporta em peso sai pela água — e é
por isso que os dois acervos moram no mesmo lugar. A ponte entre a unidade aduaneira do
Comex e a instalação portuária da ANTAQ está em /v1/comex/portos.
E um terceiro, menor e de outra natureza: o histórico dos leilões e audiências públicas da ANTAQ — 174 processos, 1.934 documentos e o texto de editais e minutas de contrato, 157.222 cláusulas pesquisáveis — das quais 12,2% a origem trunca em 255 caracteres, e a resposta marca uma a uma. É uma cópia manual, sem atualização automática: /v1/leiloes/estado diz de quando.
E um quarto: as publicações oficiais da ANTAQ no sistema Sophia — 21.091 atos de 2000 a 2026 (acórdãos, resoluções, portarias, deliberações) com o texto integral do PDF, 88.972.433 caracteres pesquisáveis por palavra e por semelhança. A espécie do ato é inferência nossa tirada do título, porque a origem não publica esse campo; e a cópia termina em 2026-08-27, o que toda resposta diz — /v1/publicacoes/estado diz de quando.
E um quinto, que responde a outra pergunta: o corpus normativo — 50 documentos curados e ancorados em artigo (Leis, Decretos, 25 Resoluções da ANTAQ, 8 Manuais de Fiscalização, obras de terminologia), 2.530 trechos. Os outros quatro dizem quanto; este diz o que a norma determina, com a citação do dispositivo colada em cada trecho. Não é o acervo de cima: lá está o que a ANTAQ publicou, aqui o que foi selecionado e ancorado. Congelado em 2023, e sem metadado de vigência — nada aqui diz se a norma foi revogada.
# 1. quanto Santos movimentou em 2024
curl "https://api-dados-antaq.up.railway.app/v1/movimentacao?ano=2024&filtro=instalacao=Porto%20de%20Santos"
# 2. não sabe a grafia? a origem escreve "Terminal de Tubarão", não "Tubarao"
curl "https://api-dados-antaq.up.railway.app/v1/instalacoes?termo=Tubar"
# 3. as multas da ANTAQ por ano, e por unidade regional
curl "https://api-dados-antaq.up.railway.app/v1/fiscalizacao?agrupar_por=ano"
curl "https://api-dados-antaq.up.railway.app/v1/fiscalizacao?ano=2023&agrupar_por=unidade"
# 4. os terminais privados do Pará, direto em planilha
curl -L "https://api-dados-antaq.up.railway.app/v1/terminais?filtro=uf=PA&formato=csv" -o terminais-pa.csv
# 5. quando vencem os arrendamentos, e quanta hidrovia navegável existe
curl "https://api-dados-antaq.up.railway.app/v1/arrendamentos?vigencia=vigente"
curl "https://api-dados-antaq.up.railway.app/v1/hidrovias"
# 6. comércio exterior: qual é o código da soja? (ordenado por valor comerciado)
curl "https://api-dados-antaq.up.railway.app/v1/comex/codigos?termo=soja&limite=3"
# 7. quanto o Brasil exportou de soja em 2025, por país
curl "https://api-dados-antaq.up.railway.app/v1/comex/consulta?periodo=2025&agrupar_por=pais&filtro=ncm=12019000"
# 8. e por onde saiu — só o que foi por navio
curl "https://api-dados-antaq.up.railway.app/v1/comex/consulta?periodo=2025&agrupar_por=porto&filtro=ncm=12019000&filtro=via=aquaviaria"
# 9. que audiências houve sobre o terminal RDJ07
curl "https://api-dados-antaq.up.railway.app/v1/leiloes?instalacao=RDJ07"
# 10. a cláusula de garantia de proposta, no texto dos editais
curl "https://api-dados-antaq.up.railway.app/v1/leiloes/busca?termo=garantia+de+proposta&limite=5"
# 11. a frota que um CNPJ opera hoje, direto em planilha (sem os rebocadores)
curl -L "https://api-dados-antaq.up.railway.app/v1/empresas/frota?cnpj=02709449000159&excluir_tipos=rebocador&formato=csv" -o frota.csv
# 12. e há quanto tempo essa empresa é autorizada pela ANTAQ
curl "https://api-dados-antaq.up.railway.app/v1/empresas/outorgas?cnpj=02709449000159"
# 13. as resoluções publicadas em 2025 — e o texto inteiro de uma delas
curl "https://api-dados-antaq.up.railway.app/v1/publicacoes?familia=resolucao&ano=2025"
curl "https://api-dados-antaq.up.railway.app/v1/publicacoes?documento=Resolu%C3%A7%C3%A3o+1274%2F2009"
# 14. a portaria que exonerou alguém: a família recorta, o texto responde
curl "https://api-dados-antaq.up.railway.app/v1/publicacoes/busca?termo=exonerar&familia=portaria_de_pessoal&limite=5"
# 15. o que a NORMA diz — busca no texto, com a citação do dispositivo em cada trecho
curl "https://api-dados-antaq.up.railway.app/v1/normas/busca?termo=dragagem&modo=hibrida&limite=5"
curl "https://api-dados-antaq.up.railway.app/v1/normas/lei_12815_2013?artigo=5"
# 16. e quando precisar do quadro CRU: o catálogo genérico continua ali
curl https://api-dados-antaq.up.railway.app/v1/paineis
curl "https://api-dados-antaq.up.railway.app/v1/paineis/fiscalizacao/quadros/base-de-dados/dados?limite=5"
As rotas acima — /v1/movimentacao, /v1/acidentes,
/v1/hidrovias, /v1/fiscalizacao, /v1/terminais e
companhia — leem os mesmos painéis que /v1/paineis/…. A
diferença é quem escolhe o quadro: ali é você, aqui é o servidor — e ele
declara qual escolheu, em fonte.
Escolher o quadro é onde mora o risco, e é por isso que estas rotas existem. Neste acervo, cada domínio tem mais de um quadro que responde a mesma pergunta com números diferentes e cara idêntica: dois painéis publicam a movimentação portuária e divergem no ano corrente; seis recortes de acidente são a mesma série e não se somam; duas famílias de quadros se chamam “Extensão” e discordam por 6.037x usando os mesmos nomes de região; a Base de Dados da fiscalização é 710 registros mais curta que os contadores do próprio painel. A ressalva que separa esses casos depende de qual quadro foi escolhido — e por isso ela vem no payload da rota que escolheu, medida no seu recorte, em vez de numa nota que vale para todos. A superfície genérica continua servindo os 250 quadros crus, sob a etiqueta Avançado no /docs.
import pandas as pd
url = "https://api-dados-antaq.up.railway.app/v1/paineis/instalacoes_privadas/quadros/terminais/dados?formato=csv"
terminais = pd.read_csv(url)
print(terminais.groupby("UF").size().sort_values(ascending=False).head())
O site da ANTAQ que detalhava a frota de uma empresa saiu do ar. As três rotas
transversais reconstroem aquilo a partir do painel de outorgas:
/v1/empresa?termo= (onde o CNPJ aparece em todos os acervos),
/v1/empresas/frota?cnpj= e /v1/empresas/outorgas?cnpj= — as duas
últimas também em formato=csv, para ligar direto numa planilha.
Duas coisas que elas dizem e que a leitura ingênua do painel erra. A idade
média da frota não sai do painel — ele não publica ano de construção.
Sai do cadastro de embarcações da ANTAQ, ligado ao painel pelo nome da
embarcação: ponte deste repositório, 96,1% de cobertura, e o
que não resolve aparece com o motivo em vez de sumir do denominador. A
média nacional por tipo de outorga vai junto, nomeada como do setor —
ela erra por até 9x contra a idade real de uma operadora de travessia. E o tempo de
outorga é a
união dos períodos, não a soma das linhas: somar conta duas vezes o tempo
de outorgas simultâneas — em 740 das
1.893 empresas outorgadas, e no extremo do acervo dá
467,7 anos onde o real são 19,3. A
vigência sai da data, não do campo Outorga Vigente da origem,
que diz “Sim” em todas as linhas do acervo — inclusive nas extintas há anos. E cada outorga
traz a sua travessia em linha_da_outorga, que também não sai
do painel: vem do cadastro interno de outorgas da ANTAQ
(811 vínculos para 730
termos), e é assim que deve ser citada.
Acesso aberto, sem cadastro. Para que continue aberto para todo mundo, há limites por faixa de IP — medidos em unidades, não em requisições:
| Chamada | Custo | Cota |
|---|---|---|
| Consulta de linhas | 2 | 120 unidades/minuto 2.000 unidades/hora |
| Agregação · valores de campo | 5 | |
| Painéis em português comum | 6 | |
| … exportação CSV delas | 8 | |
| Dossiê de empresa · dicionário | 10 | |
| Exportação CSV | 60 | |
| Comércio exterior (Comex Stat) | 20 | |
| Exportação CSV do Comex | 240 | |
| Leilões e audiências | 4 | |
| Frota e outorgas por CNPJ | 8 | |
| Publicações oficiais | 6 | |
| Corpus normativo | 4 | |
| Texto de um documento · de um ato | 20 | |
| Documentação | 1 |
Consulte /v1/limites para ver sua cota agora — é
a fonte autoritativa: as respostas de dados vêm de uma borda de CDN e por isso carregam só a
política, não a sua cota. Respeite Retry-After em 429/503 e mande
If-Modified-Since ou If-None-Match — o 304 é instantâneo, e o que
a borda serve não consome cota. Precisa de volume? Uma exportação CSV vale por milhares de
páginas.
O mesmo acervo é servido como servidor MCP (Streamable HTTP), com as mesmas funções e exatamente os mesmos números — as duas interfaces compartilham o mesmo núcleo de consulta:
https://dados-antaq.up.railway.app/mcp
As duas fontes têm cadências opostas, e cada uma é sincronizada na sua. Os painéis são
coletados de segunda a sexta às 10:00 BRT, que é a cadência com que a ANTAQ os atualiza;
/v1/status mostra o frescor de cada um. O Comex Stat
é publicado uma vez por mês, entre o 3º e o 7º dia corrido, e cada publicação reprocessa
todos os meses do ano corrente — /v1/comex/estado diz o que
está carregado e de quando, arquivo por arquivo, conferido contra as somas oficiais do MDIC. Quando uma extração fica parcial, a resposta avisa — o total nunca é apresentado
como se fosse completo. Cada painel traz notas com as ressalvas reais da
fonte: defasagem, rótulo errado no painel original, valores sentinela.
O acervo de leilões e audiências é o único que não vem de coleta automática: é uma cópia manual de uma base da ANTAQ, extraída em 2026-08-19, com dado até 2026-04-17. A ausência de um certame recente ali é falta de atualização, não ausência de certame — e /v1/leiloes/estado publica a data da cópia, as contagens medidas na origem e as colunas que a origem publica vazias. Duas ressalvas viajam em toda resposta: o tipo declarado discorda do nome do processo em 20,4% dos casos (e a resposta lista os divergentes em vez de escolher calado), e a maioria dos documentos não tem texto pesquisável porque a ANTAQ não o publicou em cláusulas. As contribuições de audiência pública são dado restrito e saem apenas como contagem agregada.
As publicações oficiais são a outra cópia manual, tirada do sistema
Sophia da ANTAQ, e o teto dela é o dado mais importante da resposta: o acervo termina em
2026-08-27, então não achar um ato aqui não é ele não existir na
ANTAQ — /v1/publicacoes/estado publica a data
da cópia, o hash do arquivo de origem e a distribuição por família. Três ressalvas viajam
com o dado, porque nenhuma delas é dedutível do que aparece na tela: a
espécie do ato é inferência nossa tirada do título — a origem grava
tipo_material = “Legislação” em 21.091 de
21.091 registros, e por isso filtrar por tipo_material,
autor ou esfera é recusado com a medição junto, em
vez de devolver o acervo inteiro com cara de recorte; a data de publicação é
nula em
3.492 atos, e não ao acaso — são
99,9% das Ementas de Acórdão, que sumiriam
inteiras de um recorte por data; e “Em vigor” é a situação declarada pelo cadastro,
não a garantia de que o texto está atual — 98
atos “Em vigor” dizem no próprio cabeçalho que foram alterados, e este acervo não publica o
grafo de revogações. O texto sai como foi publicado no Diário Oficial, sem máscara; o que
não existe é caminho para enumerar pessoas — assunto não é filtro, não é coluna
do CSV e não é campo do índice vetorial.