Ir direto ao conteúdo
API · Eleições 2026

API pública

Tudo o que este portal mostra também sai em JSON. Sem chave, sem cadastro, sem cota — e sem pedir licença para usar.

Como ela funciona

São arquivos, não um serviço. O portal roda numa hospedagem compartilhada, sem processo residente. Cada endereço abaixo é um arquivo JSON gravado na mesma geração que desenha as páginas. Isso tem uma consequência boa e uma limitação, e as duas importam.

A boa: não cai sob carga, não tem limite de chamadas, não expira token, e o que a API devolve é exatamente o que a página mostra — sai da mesma build. Não existe caminho por onde um número divirja do outro.

A limitação: não há consulta. Não dá para filtrar, ordenar ou paginar pelo endereço; você baixa o arquivo e filtra do seu lado. Para uma base deste tamanho isso é honesto — o índice inteiro tem menos de um megabyte.

Os endereços

Endereços da API pública e o que cada um devolve
EndereçoO que devolve
/candidaturas.json Índice de todas as 20.836 candidaturas de 2026, em vetores enxutos: [sq, nome de urna, número, UF, cargo, partido, nome para busca, unidade eleitoral]. É o mesmo arquivo que alimenta a busca da home.
/comparar/<sq>.json A ficha de uma candidatura: patrimônio, receitas, despesas, situação, maiores doadores e histórico eleitoral. O sq é o número sequencial do TSE, que vem no índice acima.
/municipios.json Os municípios com página no portal, como [código, nome, UF].
/api/v1/disputas.json As 55 disputas majoritárias — Presidência, os governos e o Senado —, com o endereço da página de cada uma.
/api/v1/fontes.json As 23 fontes que o portal lê, quando cada uma foi lida, quantos registros vieram, em quantas horas ela deveria ser relida e se está atrasada. Serve para você desconfiar de nós com método.
/api/v1/veiculos.json Os veículos de imprensa acompanhados e a linha que cada um assume publicamente. Mesma lista de Na imprensa.
/api/v1/resumo.json Os totais do portal — candidaturas, bens, receitas, pesquisas, emendas, votos. Os mesmos números da sala de imprensa.

Um exemplo inteiro

Achar uma candidatura pelo nome e abrir a ficha dela, em três linhas:

curl -s https://meuvoto.org.br/candidaturas.json \
  | jq -r '.[] | select(.[6] | test("LULA")) | "\(.[0])\t\(.[1])\t\(.[5])"'

curl -s https://meuvoto.org.br/comparar/280002542548.json | jq .

O campo 6 é o nome completo já em maiúsculas e sem acento, para casar sem tropeçar em cedilha. O campo 0 é o sq_candidato, que é a chave de tudo.

O que pedimos, e o que não exigimos

Estabilidade e aviso de mudança

O prefixo /api/v1/ é uma promessa: enquanto ele existir, os campos que estão lá continuam existindo com o mesmo significado. Campo novo pode aparecer; campo antigo não muda de sentido sem mudar de versão.

Os três endereços da raiz — /candidaturas.json, /municipios.json e /comparar/ — nasceram para o próprio site e por isso não carregam essa promessa formal. São estáveis na prática, e qualquer mudança neles entra em /correcoes.

Erro em dado publicado é corrigido e registrado. Se você encontrar um, avise — a correção vale mais para nós do que para você.

Mantenha independente