Eleições 2026

Os dados do painel Eleições 2026, agora também por API pública

Desde o primeiro dia do painel Eleições 2026 a premissa foi transparência. Ontem dei mais um passo nessa direção: subi uma API pública, sem autenticação, sem cadastro e…

Leonardo Fontes de Sales 3 min
Composição geométrica abstrata em estilo cartaz político brasileiro dos anos 60: círculo vermelho central com anéis concêntricos azul e âmbar, atravessados por linhas pretas radiais sobre fundo creme. Representa a distribuição aberta dos dados do painel Eleições 2026 via API pública.

Desde o primeiro dia do painel Eleições 2026 a premissa foi transparência. Ontem dei mais um passo nessa direção: subi uma API pública, sem autenticação, sem cadastro e sem chave, expondo os dados agregados que alimentam o dashboard.

Endereço: https://eleicoes2026.sapienslabs.com.br/api/v1/. A documentação interativa (Swagger) lista os sete endpoints disponíveis; a página de apresentação explica em linguagem humana o que a API serve, o que ela não serve e os exemplos de uso.

Que dados estão lá

São sete endpoints, todos GET, todos retornando JSON com envelope { data, meta }:

  • /stats — totais do banco (artigos, pré-candidatos, fontes, última coleta)
  • /candidates — lista dos pré-candidatos com volume e sentimento médio
  • /candidates/{slug} — ficha de um pré-candidato (top fontes, top tópicos, distribuição de sentimento)
  • /candidates/{slug}/sentiment — série temporal de sentimento por dia
  • /articles — listagem paginada de matérias com filtros (candidato, fonte, data, espectro editorial)
  • /articles/{id} — metadados de uma matéria específica
  • / — índice da API

No banco neste momento: 23.099 artigos, 15 pré-candidatos, 1.244 fontes de imprensa. Recorte oficial: tudo publicado a partir de 25 de março de 2026.

Como bater

curl -s https://eleicoes2026.sapienslabs.com.br/api/v1/stats

Em Python:

import requests
BASE = "https://eleicoes2026.sapienslabs.com.br/api/v1"
print(requests.get(f"{BASE}/candidates").json()["data"])

CORS aberto, então funciona direto do navegador. Cache de 5 minutos no Cloudflare. Sem rate limit explícito por enquanto, mas com proteção padrão da CDN.

O que a API não entrega

Aqui está a parte importante, e quero deixar claro antes que alguém descubra na marra:

  • Não devolve o corpo da matéria. Só metadados: título, descrição curta (limitada a 320 caracteres), URL original, data, fonte, sentimento, tópicos. Pra ler o texto completo, o leitor segue pra fonte. É decisão editorial de respeito a quem produz o jornalismo, não limitação técnica.
  • Não tem autenticação. Significa que não tem usuário, não tem cota personalizada, não tem garantia de SLA. Use pra pesquisa, estudo, jornalismo de dados, dashboards experimentais. Não use pra construir produto comercial em cima sem combinar antes.
  • Não retorna em tempo real. Os dados refletem o último snapshot público, regenerado ao fim de cada coleta (três vezes por dia: 07h, 14h e 21h BRT).

Licença

Os dados expostos pela API ficam sob Creative Commons CC BY 4.0. Pode usar, redistribuir, transformar e construir em cima, pedindo só que atribua a fonte: “Painel Eleições 2026, SapiensLabs” com link pra https://eleicoes2026.sapienslabs.com.br/.

O contexto

Esta API não é um produto separado; é a mesma camada de dados que alimenta o dashboard, agora exposta como recurso JSON. Para quem só quer ler os números, o dashboard continua sendo o caminho mais rápido. Para quem quer cruzar com outros dados, montar visualização própria, rodar análise estatística ou usar em aula, a API encurta tudo.

Dúvidas, sugestões de endpoint, problemas: escreva pra contato@sapienslabs.com.br. Toda crítica é bem-vinda; é assim que o painel evoluiu até aqui.