📖 Docs — API de Resultados Eleitorais

← voltar à consulta

Documentação das fontes de dados usadas pela aplicação. Todas são públicas e do TSE. Base de resultados servida com CORS aberto; bases de Dados Abertos (candidatos/votos por zona) são pré-processadas em JSON estático (a origem tem anti-bot Akamai que impede consumo direto por navegador).

1. Resultados oficiais CORS público

Host: https://resultados.tse.jus.br/oficial/ele2024 · Ciclo ele2024 · Eleição 619 = 1º turno, 620 = 2º turno.

RecursoEndpoint GET
Lista de municípios/{ele}/config/mun-e{ele:6}-cm.json
Resultado do município (unificado)/{ele}/dados/{uf}/{uf}{munCd}-c{cargo:4}-e{ele:6}-u.json
Foto do candidato/{ele}/fotos/{uf}/{sqcand}.jpeg
Acompanhamento (UF / Brasil)/{ele}/dados/{uf}/{uf}-e{ele:6}-ab.json

Cargo: 11=Prefeito, 13=Vereador (padded a 4 dígitos). {munCd} = código TSE (5 díg).

Estrutura do -u.json

{ ele, t (turno), dg/hg (data/hora),
  s:{ ts, st, pst },                // seções: total, totalizadas, %
  e:{ te, c, pc, a, pa },           // eleitorado: aptos, comparecimento, abstenção
  v:{ vv, vb, pvb, tvn, ptvn },     // votos: válidos, brancos, nulos
  carg:[ { cd, nmm, agr:[ { nm (coligação), par:[ { sg (partido),
      cand:[ { n (número), sqcand, nm, nmu, dt (nasc.), vap (votos), pvap (%), st, e } ] } ] } ] } ] }

2. Perfil de votação — reproduzido do SIG calculado

O painel "Perfil de Votação" do SIG é reproduzido cruzando os votos (acima) com os atributos dos candidatos (Dados Abertos consulta_cand), por SQ_CANDIDATO.

Arquivo estáticoConteúdo
cand_{UF}.json{ sqcand: { c:cor/raça, g:gênero, i:escolaridade, e:estado civil, o:ocupação } }

Faixa etária é calculada ao vivo do campo dt (nascimento) do -u.json. Origem: consulta_cand_2024.zip (nacional). Todas as 26 UFs pré-processadas.

3. Votação por zona eleitoral PB e PE

Arquivo estáticoConteúdo
zona_{UF}.json{ munCd: { turno: { zona: { sqcand: votos } } } }

Origem: votacao_candidato_munzona_2024.zip. Processado só para PB e PE (expansível).

4. SIG Eleição (painéis oficiais) só deep-link

Base: https://sig.tse.jus.br/ords/dwapr/r/seai/sig-eleicao-resultados (Oracle APEX). Filtros por query string (itens globais P0_*, gravados em session state):

/home?p0_ano=2024&p0_uf=SP&p0_municipio=SÃO PAULO&p0_cargo=Prefeito&p0_turno=1

Os dados dos gráficos não são consumíveis por página (sessão APEX + anti-bot F5/Shape + sem CORS). Só geramos os deep-links; por isso o perfil é reproduzido via Dados Abertos (seção 2).

5. Enriquecimento — Wikipédia CORS público

Buscar páginahttps://pt.wikipedia.org/w/rest.php/v1/search/title?q={nome}&limit=3
Resumo (bio+foto)https://pt.wikipedia.org/api/rest_v1/page/summary/{key}

6. Atualização dos dados

Resultados/fotos são ao vivo (não precisam atualizar). Perfil e zona são estáticos — regenere com:

# baixe pelo NAVEGADOR (Akamai bloqueia curl) e salve em ~/Downloads:
#   consulta_cand_2024.zip  e  votacao_candidato_munzona_2024.zip
python atualizar_dados.py --ufs all         # regenera cand_/zona_ de todas as UFs
python atualizar_dados.py --ufs SP,MG --deploy   # e publica via scp

Consumidor não-oficial de dados abertos do TSE · Fonte: tse.jus.br/eleicoes/resultados-eleicoes e dadosabertos.tse.jus.br.