Install
openclaw skills install tse-eleicoesCliente Python assíncrono para as APIs do TSE (Tribunal Superior Eleitoral). Integra DivulgaCandContas REST (candidatos, eleições, prestação de contas em tempo real) e CKAN Dados Abertos (datasets para download em massa). 30+ métodos cobrindo: eleições ordinárias e suplementares, candidatos (detalhe, bens, foto, redes sociais, filtros por partido e situação), prestação de contas, ranking de doadores, datasets CKAN e URLs de download. Sem autenticação. Python 3.11+, httpx, retry com backoff exponencial.
openclaw skills install tse-eleicoesUse esta skill para acessar dados eleitorais do TSE (Tribunal Superior Eleitoral) diretamente via Python assíncrono.
import asyncio
from tse_client import get_tse_client, ELEICOES_ORDINARIAS, nome_cargo
async def main():
client = get_tse_client()
try:
# Eleições disponíveis
anos = await client.get_anos_eleitorais()
# Candidatos a prefeito em SP — Municipais 2024
candidatos = await client.get_candidatos(
ano=2024,
municipio_cod="71072",
eleicao_id=ELEICOES_ORDINARIAS["2024"],
cargo_cod="11"
)
# Dados abertos
datasets = await client.get_datasets_candidatos()
url_zip = await client.get_url_download_candidatos(2024)
finally:
await client.close()
asyncio.run(main())
git clone https://github.com/olegantonov/tse-eleicoes.git
cd tse-eleicoes
pip install -r requirements.txt
https://divulgacandcontas.tse.jus.br/divulga/rest/v1https://dadosabertos.tse.jus.br/api/3/actionget_eleicoes_ordinarias() — lista eleições ordináriasget_anos_eleitorais() — anos disponíveisget_cargos_municipio(eleicao_id, municipio_cod) — cargos por municípioget_eleicoes_suplementares(ano, uf) — eleições suplementaresget_candidatos(ano, municipio_cod, eleicao_id, cargo_cod) — lista candidatosget_candidato(ano, municipio_cod, eleicao_id, candidato_id) — detalhe completobuscar_candidato_por_nome(nome, ...) — busca por nomeget_bens_candidato(...) — bens declaradosget_candidatos_eleitos(...) — só eleitosget_candidatos_por_partido(sigla, ...) — filtra por partidoget_prestacao_contas(eleicao_id, ano, municipio_cod, cargo_cod, candidato_id)get_ranking_doadores(...) — top doadores ordenados por valorget_datasets() — lista todos os datasetsbuscar_datasets(termo) — busca por palavra-chaveget_datasets_candidatos() / get_datasets_resultados() / get_datasets_eleitorado()get_url_download_candidatos(ano) / get_url_download_resultados(ano) — URLs dos ZIPsfrom tse_client import ELEICOES_ORDINARIAS, CARGOS, nome_cargo, nome_eleicao
ELEICOES_ORDINARIAS # {'2024': '2045202024', '2022': '2040602022', ...}
CARGOS # {'11': 'Prefeito', '13': 'Vereador', ...}
nome_cargo("11") # "Prefeito"
nome_eleicao("2045202024") # "2024"