Ir para o conteúdo

API ANTAQ

Fonte indisponivel desde 23/06/2026

A ANTAQ tirou o Estatistico Aquaviario do ar (aviso oficial). O host estatistica.antaq.gov.br não serve mais os arquivos: responde 403 (Cloudflare challenge) ou redireciona para o aviso de indisponibilidade, conforme o cliente. Chamadas a antaq.movimentacao() levantam SourceUnavailableError. Não ha fonte alternativa com cobertura equivalente — a Base dos Dados cobre apenas 2014-2020. Última verificacao: 31/08/2026.

O módulo ANTAQ fornece dados de movimentacao portuária de carga do Estatistico Aquaviario, publicados pela Agencia Nacional de Transportes Aquaviarios.

Funções

movimentacao

Movimentacao portuária de carga de um ano.

async def movimentacao(
    ano: int,
    *,
    tipo_navegacao: str | None = None,
    natureza_carga: str | None = None,
    mercadoria: str | None = None,
    porto: str | None = None,
    uf: str | None = None,
    sentido: str | None = None,
    as_polars: bool = False,
    return_meta: bool = False,
) -> DataFrameResult

Parâmetros:

Parâmetro Tipo Descrição
ano int Ano dos dados, de 2010 ao último ano publicado
tipo_navegacao str \| None longo_curso, cabotagem, interior, apoio_maritimo, apoio_portuario
natureza_carga str \| None granel_solido, granel_liquido, carga_geral, conteiner
mercadoria str \| None Filtro por mercadoria (substring case-insensitive)
porto str \| None Filtro por porto (substring case-insensitive)
uf str \| None Filtro por UF (ex: SP, PR, MT)
sentido str \| None embarque ou desembarque
as_polars bool Retorna polars.DataFrame
return_meta bool Se True, retorna tupla (DataFrame, MetaInfo)

Retorno:

DataFrame com colunas: ano, mes, data_atracacao, tipo_navegacao, tipo_operacao, natureza_carga, sentido, porto, complexo_portuario, terminal, municipio, uf, regiao, cd_mercadoria, mercadoria, grupo_mercadoria, origem, destino, peso_bruto_ton, qt_carga, teu

Exemplo:

from agrobr import antaq

# Movimentacao 2024
df = await antaq.movimentacao(2024)

# Filtrar por UF
df = await antaq.movimentacao(2024, uf="SP")

# Filtrar por tipo de navegacao e natureza da carga
df = await antaq.movimentacao(
    2024,
    tipo_navegacao="longo_curso",
    natureza_carga="granel_solido",
)

# Filtrar por mercadoria
df = await antaq.movimentacao(2024, mercadoria="soja")

Versão Síncrona

from agrobr.sync import antaq

df = antaq.movimentacao(2024)

Notas

  • Fonte: ANTAQ Estatistico Aquaviario (estatistica.antaq.gov.br) — licença livre. Fora do ar desde 23/06/2026
  • Dados: ZIP bulk (TXT com ;, encoding UTF-8-sig)
  • Historico: 2010+
  • ZIPs anuais (~80MB) — download pode levar alguns segundos

data_atracacao preserva a data e a hora publicadas em datetime64[ns]; erro de calendário vira NaT com aviso em MetaInfo.validation_warnings. Texto que não é data levanta ParseError. ano, mes e teu usam Int64; TEU em branco na fonte sai nulo, e o 0 publicado na carga não conteinerizada segue 0; peso_bruto_ton e qt_carga usam float64. Cheio e vazio têm os mesmos tipos. sentido, tipo_navegacao e natureza_carga aceitam os aliases documentados e os rótulos publicados inteiros, ignorando caixa, acento e espaço nas pontas. Valor não suportado levanta InvalidParameterError antes de baixar os ZIPs.