Design & media

senado-federal

Try it

Query Brazil's Federal Senate open data: senators, bills, votes, committees, CEAP expenses, contracts, and transparency records.

What it does

Access the Senate's two official open-data APIs with no authentication. The legislative API (legis.senado.leg.br/dadosabertos) covers senator profiles, mandate history, party affiliations, speeches, authored bills, voting records, legislative bills (matérias), plenary agendas and results, committee meetings and membership, presidential vetoes, budget amendments, and tramitação history. The administrative API (adm.senado.gov.br/adm-dadosabertos) covers CEAP expense reports, housing allowance, retired senators, staff (servidores) listings and monthly remuneration, overtime, corporate card (supridos) transactions, and contracts. Both return JSON or XML via the standard `.json` / `.xml` suffix …

When to use it

  • Pull a senator's full profile: mandates, speeches, authored bills, voting record
  • Track legislative bills (PL, PEC, PLS, INC, etc.) by type, year, author, or subject
  • Inspect plenary and committee agendas, meeting notes, and session results
  • Query CEAP expenses, staff remuneration, corporate card transactions, or contracts by year

The skill document

Senado Federal — API de Dados Abertos

Base URL: https://legis.senado.leg.br/dadosabertos Swagger: https://legis.senado.leg.br/dadosabertos/api-docs/swagger-ui/index.html No authentication required. Format: append .json or .xml to endpoint paths.


Key Endpoints

Senators (Senadores)

GET /senador/lista/atual.json           # all senators currently in office
GET /senador/afastados.json             # senators on leave
GET /senador/lista/legislatura/{leg}.json  # by legislature number (e.g. 57)
GET /senador/partidos.json              # party list

GET /senador/{codigo}.json              # full senator profile
GET /senador/{codigo}/mandatos.json     # mandate history
GET /senador/{codigo}/filiacoes.json    # party affiliations
GET /senador/{codigo}/cargos.json       # positions held
GET /senador/{codigo}/comissoes.json    # committee memberships
GET /senador/{codigo}/liderancas.json   # leadership roles
GET /senador/{codigo}/discursos.json    # speeches
  ?dataInicio=YYYYMMDD&dataFim=YYYYMMDD&tipoPronunciamento=
GET /senador/{codigo}/apartes.json      # interjections
GET /senador/{codigo}/autorias.json     # authored bills
GET /senador/{codigo}/relatorias.json   # reports authored
GET /senador/{codigo}/votacoes.json     # voting history
GET /senador/{codigo}/profissao.json    # professional background
GET /senador/{codigo}/historicoAcademico.json
GET /senador/{codigo}/licencas.json     # leave periods
GET /materia/pesquisa/lista.json
  ?sigla=PL          # type: PL, PEC, PLS, MSF, INC, etc.
  ?numero=123
  ?ano=2026
  ?autor=            # author name
  ?assunto=          # subject/keyword
  ?tramitando=S      # S=currently in progress
  ?codigoSituacao=

GET /materia/{codigo}.json              # by internal code
GET /materia/{sigla}/{numero}/{ano}.json  # e.g. /materia/PL/1234/2026.json
GET /materia/situacaoatual/{codigo}.json  # current status
GET /materia/votacoes/{codigo}.json     # votes on this bill
GET /materia/textos/{codigo}.json       # bill texts
GET /materia/emendas/{codigo}.json      # amendments
GET /materia/relatorias/{codigo}.json   # rapporteurs
GET /materia/autoria/{codigo}.json      # authorship
GET /materia/movimentacoes/{codigo}.json # full tramitação history
GET /materia/tramitando.json            # all currently in progress
GET /materia/legislaturaatual.json      # current legislature bills
GET /materia/atualizadas.json           # recently updated
  ?numdias=7         # last N days

Plenary Agenda & Results (Plenário)

GET /plenario/agenda/dia/{data}.json     # e.g. /plenario/agenda/dia/20260304.json
GET /plenario/agenda/mes/{data}.json     # e.g. /plenario/agenda/mes/202603.json
GET /plenario/agenda/cn/{data}.json      # Congresso Nacional joint session agenda
GET /plenario/agenda/atual/iCal          # iCal feed agenda atual

GET /plenario/resultado/{data}.json      # plenary results for a date (YYYYMMDD)
GET /plenario/resultado/mes/{data}.json  # monthly results (YYYYMM)
GET /plenario/resultado/cn/{data}.json   # resultado sessão CN (YYYYMMDD)
GET /plenario/resultado/veto/{codigo}.json              # resultado de veto
GET /plenario/resultado/veto/materia/{codigo}.json      # resultado veto sobre PL
GET /plenario/resultado/veto/dispositivo/{codigo}.json  # resultado dispositivo de veto parcial

GET /plenario/lista/votacao/{dataInicio}/{dataFim}.json  # votes in date range (YYYYMMDD)
GET /plenario/votacao/nominal/{ano}.json  # all nominal votes in a year
GET /plenario/votacao/orientacaoBancada/{dataSessao}.json           # orientação bancada por data
GET /plenario/votacao/orientacaoBancada/{dataInicio}/{dataFim}.json # orientação bancada por período

GET /plenario/lista/discursos/{dataInicio}/{dataFim}.json  # speeches
GET /plenario/lista/legislaturas.json
GET /plenario/lista/tiposComparecimento.json  # tipos de comparecimento
GET /plenario/legislatura/{data}.json
GET /plenario/tiposSessao.json               # tipos de sessão

GET /plenario/encontro/{codigo}.json       # session detail
GET /plenario/encontro/{codigo}/pauta.json # session agenda
GET /plenario/encontro/{codigo}/resultado.json
GET /plenario/encontro/{codigo}/resumo.json

Committees (Comissões)

GET /comissao/lista/colegiados.json      # all standing committees
GET /comissao/lista/mistas.json          # joint CN/Congresso committees
GET /comissao/lista/{tipo}.json          # by type
GET /comissao/lista/tiposColegiado.json  # tipos de colegiado

GET /comissao/{codigo}.json              # committee detail
GET /comissao/agenda/{dataReferencia}.json   # YYYYMMDD
GET /comissao/agenda/{dataInicio}/{dataFim}.json
GET /comissao/agenda/mes/{mesReferencia}.json  # YYYYMM
GET /comissao/agenda/atual/iCal          # iCal feed

GET /comissao/reuniao/{codigoReuniao}.json
GET /comissao/reuniao/notas/{codigoReuniao}.json
GET /comissao/reuniao/{sigla}/documento/{tipoDocumento}.json  # doc da última reunião

GET /composicao/comissao/{codigo}.json                          # membership
GET /composicao/comissao/atual/mista/{codigo}.json             # composição atual comissão mista
GET /composicao/comissao/resumida/mista/{codigo}/{dataInicio}/{dataFim}.json

GET /comissao/cpi/{comissao}/requerimentos.json  # Requerimentos de CPI
  ?pagina=1&tamanho=20

Voting in Committees (VotaçãoComissão)

GET /votacaoComissao/comissao/{siglaComissao}.json
GET /votacaoComissao/materia/{sigla}/{numero}/{ano}.json
GET /votacaoComissao/parlamentar/{codigo}.json

Voting (Geral)

GET /votacao.json
  ?dataInicio=YYYYMMDD&dataFim=YYYYMMDD
  ?codigoSessao=

Leadership & Composition

GET /composicao/mesaSF.json           # Senate presiding board
GET /composicao/mesaCN.json           # CN presiding board
GET /composicao/lideranca.json        # leadership
GET /composicao/lideranca/tipos.json  # tipos de lideranças
GET /composicao/lideranca/tipos-unidade.json  # tipos de unidades de lideranças
GET /composicao/lista/liderancaSF.json
GET /composicao/lista/liderancaCN.json
GET /composicao/lista/cn/{tipo}.json  # composição comissões CN por tipo
GET /composicao/lista/partidos.json
GET /composicao/lista/blocos.json
GET /composicao/lista/tiposCargo.json # tipos de cargo
GET /composicao/bloco/{codigo}.json

Authors / Autores

GET /autor/lista/atual.json
GET /autor/tiposAutor.json

Legislation / Normas

GET /legislacao/lista.json
  ?tipo=&ano=&numero=
GET /legislacao/{codigo}.json
GET /legislacao/urn.json?urn={urn}

Taquigrafia (Transcripts)

GET /taquigrafia/notas/sessao/{idSessao}.json
GET /taquigrafia/notas/reuniao/{idReuniao}.json
GET /taquigrafia/videos/sessao/{idSessao}.json
GET /taquigrafia/videos/reuniao/{idReuniao}.json

Speeches / Discursos

GET /discurso/texto-integral/{codigoPronunciamento}.json
GET /discurso/texto-binario/{codigoPronunciamento}.json

Vetos Presidenciais

GET /materia/vetos/{ano}.json         # Vetos de um ano (ex: 2026)
GET /materia/vetos/aposrcn.json       # Vetos posteriores à RCN 1/2013 em tramitação
GET /materia/vetos/antesrcn.json      # Vetos anteriores à RCN 1/2013 em tramitação
GET /materia/vetos/encerrados.json    # Vetos com tramitação encerrada

Orçamento e Emendas Parlamentares

GET /orcamento/lista.json              # Lotes de emendas ao orçamento
GET /orcamento/oficios.json            # Ofícios de apoio às emendas de orçamento
GET /orcamento/oficios/{numeroSedol}.json  # Detalhes de um ofício específico

Processo Legislativo (API Avançada)

GET /processo                          # Pesquisa avançada (SEM sufixo .json, retorna array)
  ?sigla=PL          # tipo
  ?numero=123
  ?ano=2026
  ?tramitando=S
  ?autor=            # nome do autor
  ?codigoParlamentarAutor=
  ?termo=            # palavra-chave no assunto
  ?dataInicioApresentacao=YYYYMMDD
  ?dataFimApresentacao=YYYYMMDD
  ?numdias=          # últimos N dias
GET /processo/{id}                     # Processo pelo ID
GET /processo/assuntos.json            # Assuntos gerais e específicos
GET /processo/documento.json           # Documentos de processo
GET /processo/documento/tipos.json
GET /processo/documento/tipos-conteudo.json
GET /processo/emenda.json
GET /processo/entes.json
GET /processo/prazo.json
GET /processo/prazo/tipos.json
GET /processo/relatoria.json
GET /processo/siglas.json
GET /processo/tipos-atualizacao.json
GET /processo/tipos-autor.json
GET /processo/tipos-decisao.json
GET /processo/tipos-situacao.json

Distribuição de Autoria e Relatoria

GET /materia/distribuicao/autoria.json
  ?siglaComissao=  # por comissão
  ?codParlamentar= # por parlamentar
GET /materia/distribuicao/relatoria/{sigla}.json

Prestação de Contas & Transparência

Existem duas APIs distintas do Senado para transparência:

APIBase URLFoco
Dados Abertos Legislativoslegis.senado.leg.br/dadosabertosAtividade legislativa
Dados Abertos Administrativosadm.senado.gov.br/adm-dadosabertosCEAP, servidores, contratos

Swagger ADM: https://adm.senado.gov.br/adm-dadosabertos/swagger-ui/index.html


API ADM — Senadores (Prestação de Contas)

Base URL: https://adm.senado.gov.br/adm-dadosabertos

GET /api/v1/senadores/despesas_ceaps/{ano}     # CEAP por ano (ex: 2026) - retorna JSON
GET /api/v1/senadores/despesas_ceaps/{ano}/csv # CEAP por ano em CSV
  Campos: id, tipoDocumento, ano, mes, codSenador, nomeSenador,
          tipoDespesa, cpfCnpj, fornecedor, valor, ...

GET /api/v1/senadores/auxilio-moradia          # Auxílio moradia por senador
GET /api/v1/senadores/auxilio-moradia/csv
  ?nomeParlamentarContains=
  ?estadoEleitoEquals=
  ?partidoEleitoEquals=

GET /api/v1/senadores/escritorios              # Escritórios de apoio
GET /api/v1/senadores/escritorios/csv

GET /api/v1/senadores/aposentados              # Senadores aposentados e remuneração
GET /api/v1/senadores/aposentados/csv

GET /api/v1/senadores/quantitativos/senadores  # Quantitativo de senadores
GET /api/v1/senadores/quantitativos/senadores/csv

API ADM — Servidores

GET /api/v1/servidores/servidores              # Lista servidores
  ?tipoVinculoEquals=
  ?situacaoEquals=
  ?lotacaoEquals=
  ?cargoEquals=
GET /api/v1/servidores/servidores/ativos       # Apenas ativos
GET /api/v1/servidores/servidores/efetivos     # Apenas efetivos
GET /api/v1/servidores/servidores/comissionados
GET /api/v1/servidores/servidores/inativos
GET /api/v1/servidores/servidores/{formato}/csv  # Export CSV

GET /api/v1/servidores/remuneracoes/{ano}/{mes}  # Remuneração mensal
GET /api/v1/servidores/remuneracoes/{ano}/{mes}/csv
  Campos: sequencial, nome, mes, ano, remuneracao_basica, vantagens_pessoais,
          funcao_comissionada, gratificacoes, diarias, auxilios, ...

GET /api/v1/servidores/horas-extras/{ano}/{mes}  # Horas extras
GET /api/v1/servidores/horas-extras/{ano}/{mes}/csv

GET /api/v1/servidores/estagiarios             # Estagiários
GET /api/v1/servidores/pensionistas            # Pensionistas
GET /api/v1/servidores/pensionistas/remuneracoes/{ano}/{mes}
GET /api/v1/servidores/lotacoes                # Lotações
GET /api/v1/servidores/cargos                  # Cargos
GET /api/v1/servidores/previsao-aposentadoria  # Previsão de aposentadoria
GET /api/v1/servidores/quantitativos/pessoal   # Quantitativo de pessoal
GET /api/v1/servidores/quantitativos/cargos-funcoes

API ADM — Supridos (Cartão Corporativo)

GET /api/v1/supridos/{ano}                     # Lista de supridos do ano
GET /api/v1/supridos/{ano}/csv
GET /api/v1/supridos/atosConcessao/{ano}       # Atos de concessão
GET /api/v1/supridos/empenhos/{ano}            # Empenhos
GET /api/v1/supridos/movimentacoes/{ano}       # Movimentações
GET /api/v1/supridos/transacoes/{ano}          # Transações

API ADM — Contratações

GET /api/v1/contratacoes/contratos             # Contratos
  ?statusContratoParam=
  ?nomeFornecedorContains=
  ?cnpjCpfEquals=
  ?numeroContains=
  ?anoEquals=
  ?objetoDescricaoContains=
GET /api/v1/contratacoes/contratos/{id}/aditivos
GET /api/v1/contratacoes/contratos/{id}/pagamentos
GET /api/v1/contratacoes/licitacoes            # Licitações
  ?numeroEquals=
  ?objetoContains=
GET /api/v1/contratacoes/licitacoes/{id}/detalhamentos
GET /api/v1/contratacoes/notas_empenho         # Notas de empenho
GET /api/v1/contratacoes/atas_registro_preco   # Atas de registro de preço
GET /api/v1/contratacoes/empresas              # Empresas fornecedoras
GET /api/v1/contratacoes/terceirizados         # Terceirizados
GET /api/v1/contratacoes/{tipoContratacao}/{id}/itens
GET /api/v1/contratacoes/{tipoContratacao}/{id}/garantias
# Todos aceitam sufixo /csv para export

API Ergon — Diretores/Coordenadores

curl "https://adm.senado.gov.br/ergon-ng-reports/api/v1/diretores-e-coordenadores"
# Retorna: diretores, coordenadores, setores, telefones e e-mails do SF

Exemplo: CEAP de 2026

curl "https://adm.senado.gov.br/adm-dadosabertos/api/v1/senadores/despesas_ceaps/2026" | \
  python3 -c "
import json, sys
despesas = json.load(sys.stdin)
# Filtrar por senador
for d in despesas:
    if 'MARCOS PONTES' in d.get('nomeSenador', ''):
        print(f\"{d['mes']:02d}/{d['ano']} | {d['tipoDespesa'][:40]} | R$ {d.get('valor', 0)}\")
"

Dados Disponíveis via API (accountability)

  • CEAP/Cota parlamentar: /api/v1/senadores/despesas_ceaps/{ano} (ADM)
  • Auxílio moradia: /api/v1/senadores/auxilio-moradia (ADM)
  • Escritórios de apoio: /api/v1/senadores/escritorios (ADM)
  • Remuneração servidores: /api/v1/servidores/remuneracoes/{ano}/{mes} (ADM)
  • Cartão corporativo: /api/v1/supridos/{ano} (ADM)
  • Contratos/licitações: /api/v1/contratacoes/contratos (ADM)
  • Emendas parlamentares: /orcamento/lista.json (LEGIS)
  • Votações/Discursos/Autorias: API LEGIS (/senador/{cod}/...)
  • ❌ Declaração de bens: apenas portal de transparência (web)

Today's plenary agenda

DATE=$(date +%Y%m%d)
curl "https://legis.senado.leg.br/dadosabertos/plenario/agenda/dia/$DATE.json"

Find a senator (search in lista/atual)

curl "https://legis.senado.leg.br/dadosabertos/senador/lista/atual.json" | \
  python3 -c "
import json,sys
data = json.load(sys.stdin)
senators = data['ListaParlamentarEmExercicio']['Parlamentares']['Parlamentar']
for s in senators:
    name = s['IdentificacaoParlamentar']['NomeParlamentar']
    if 'Pontes' in name:
        print(json.dumps(s, ensure_ascii=False, indent=2))
"

Search bills

curl "https://legis.senado.leg.br/dadosabertos/materia/pesquisa/lista.json?sigla=PL&ano=2026&tramitando=S&assunto=transporte"

Recent plenary votes

START=$(date -d '7 days ago' +%Y%m%d)
END=$(date +%Y%m%d)
curl "https://legis.senado.leg.br/dadosabertos/plenario/lista/votacao/$START/$END.json"

Committee agenda (current month)

MONTH=$(date +%Y%m)
curl "https://legis.senado.leg.br/dadosabertos/comissao/agenda/mes/$MONTH.json"

Bill tramitação

# By sigla/number/year:
curl "https://legis.senado.leg.br/dadosabertos/materia/movimentacoes/{codigo}.json"

Notes

  • Date formats vary: plenary agenda uses YYYYMMDD; senator speeches use YYYYMMDD; materia pesquisa uses YYYY
  • Current legislature: 57 (started Feb 2023)
  • Senator codes (CodigoParlamentar) found in /senador/lista/atual.json
  • Materia codes (codigo) found in /materia/pesquisa/lista.json results
  • API v1 /materia/{sigla}/{numero}/{ano} is deprecated since 2025; prefer /processo or /materia/pesquisa/lista
  • iCal feed available for committee agenda: /comissao/agenda/atual/iCal
  • Full endpoint list: see references/api-endpoints.md

API Quirks & Tips

  • Single-item responses: When an endpoint returns only 1 item, the Senado API may return a dict instead of a list. Always use the pattern: isinstance(x, list) else [x] if x else []
  • Deeply nested JSON: Responses are typically 3-4 levels deep (e.g., data["ListaParlamentarEmExercicio"]["Parlamentares"]["Parlamentar"]). The Python client's _get_list() uses DFS to find the first list.
  • Date format inconsistency: Plenário endpoints use YYYYMMDD; some senator endpoints also use YYYYMMDD; matéria pesquisa uses just YYYY for year filters.
  • Processo vs Materia: /processo/{codigo}.json returns richer data (autuações, situações, tramitação completa) than /materia/{codigo}.json. Prefer processo for detailed status tracking.
  • API v1 deprecation: /materia/{sigla}/{numero}/{ano} is deprecated since 2025. Use /materia/pesquisa/lista.json with params instead.
  • Retry recommended: The API can be slow or return 500s. The Python client implements exponential backoff (2^attempt seconds).
  • /composicao/comissao/{codigo}: requires a valid committee code from /comissao/lista/colegiados — passing 1 returns 400.
  • /plenario/agenda/mes/{data} and /plenario/resultado/mes/{data}: require format YYYYMM and must correspond to months with actual sessions; past months without sessions may return 400.
  • /votacao.json: requires codigoSessao parameter (not a date range) to return results. Use /plenario/lista/votacao/{inicio}/{fim} for date-based queries.
  • ADM API base URL: https://adm.senado.gov.br/adm-dadosabertos (separate from legis). No .json suffix needed. Returns arrays directly.
  • Processo search: /processo (no .json suffix) returns a raw JSON array, not a nested object. Params accept 20+ filters including dataInicioApresentacao, termo, codigoParlamentarAutor.

Python Client (async)

You can use the async Python client for programmatic access:

import asyncio
from senado_client import get_senado_client

async def main():
    client = get_senado_client()
    
    # Listar senadores atuais
    senators = await client.lista_senadores_atuais()
    
    # Buscar por nome
    resultado = await client.buscar_senador_por_nome("Bolsonaro")
    
    # Pesquisar matérias
    materias = await client.pesquisar_materia(sigla="PL", ano=2026)
    
    # Votações da semana
    from datetime import date, timedelta
    votacoes = await client.get_votacoes_periodo(
        date.today() - timedelta(days=7),
        date.today()
    )
    
    await client.close()

asyncio.run(main())

Requires: pip install httpx

Available Methods

Senadores:

  • lista_senadores_atuais() — Senadores em exercício
  • buscar_senador_por_nome(nome) — Busca por nome
  • get_senador_detalhe(codigo) — Detalhes completos
  • get_autorias_senador(codigo) — Matérias de autoria
  • get_discursos_senador(codigo, data_inicio?, data_fim?) — Discursos
  • get_senador_votacoes(codigo) — Histórico de votações
  • get_senador_comissoes(codigo) — Comissões
  • get_senador_mandatos(codigo) — Mandatos
  • get_senador_filiacoes(codigo) — Filiações partidárias
  • get_senador_cargos(codigo) — Cargos exercidos
  • get_senador_liderancas(codigo) — Lideranças
  • get_senador_apartes(codigo) — Apartes/intervenções
  • get_senador_relatorias(codigo) — Relatorias
  • get_senador_profissao(codigo) — Profissão
  • get_senador_historico_academico(codigo) — Histórico acadêmico
  • get_senador_licencas(codigo) — Licenças

Matérias/Proposições:

  • pesquisar_materia(sigla?, numero?, ano?, tramitando?) — Pesquisa
  • pesquisar_materia_por_assunto(assunto, tramitando?) — Por assunto
  • get_materia_detalhe(codigo) — Detalhes
  • get_materia_movimentacoes(codigo) — Movimentações
  • get_materia_tramitacao(codigo) — Tramitação
  • get_materia_por_sigla(sigla, numero, ano) — Por sigla completa
  • get_materia_situacao_atual(codigo) — Situação atual
  • get_materia_textos(codigo) — Textos
  • get_materia_emendas(codigo) — Emendas
  • get_materia_relatorias(codigo) — Relatorias
  • get_materia_autoria(codigo) — Autoria
  • get_materias_tramitando() — Em tramitação
  • get_materias_atualizadas(dias?) — Atualizadas recentemente

Plenário:

  • get_agenda_plenario_dia(data?) — Agenda diária
  • get_agenda_plenario_mes(ano, mes) — Agenda mensal
  • get_votacoes_periodo(data_inicio, data_fim) — Votações em período
  • get_resultado_plenario_dia(data) — Resultado do dia
  • get_resultado_plenario_mes(ano, mes) — Resultado do mês
  • get_votacoes_nominais_ano(ano) — Votações nominais
  • get_discursos_plenario(data_inicio, data_fim) — Discursos
  • get_encontro_plenario(codigo) — Detalhes de sessão
  • get_encontro_pauta(codigo) — Pauta de sessão

Comissões:

  • get_lista_comissoes() — Lista de comissões
  • get_agenda_comissao_dia(data?) — Agenda do dia
  • get_agenda_comissao_periodo(data_inicio, data_fim) — Agenda de período
  • get_comissao_detalhe(codigo) — Detalhes
  • get_comissao_reuniao(codigo_reuniao) — Reunião
  • get_composicao_comissao(codigo) — Membros
  • get_lista_comissoes_mistas() — Comissões mistas

Votação em Comissões:

  • get_votacao_comissao(sigla_comissao) — Votações
  • get_votacao_comissao_materia(sigla, numero, ano) — Por matéria
  • get_votacao_comissao_parlamentar(codigo) — Por parlamentar

Composição e Lideranças:

  • get_mesa_senado() — Mesa diretora do Senado
  • get_mesa_congresso() — Mesa do CN
  • get_liderancas() — Lideranças partidárias
  • get_blocos_parlamentares() — Blocos parlamentares

Processo:

  • get_processo(codigo) — Processo legislativo completo

Autores, Legislação, Discurso:

  • get_autores_atuais() — Autores atuais
  • pesquisar_legislacao(tipo?, ano?, numero?) — Pesquisa legislação
  • get_discurso_texto_integral(codigo_pronunciamento) — Texto integral

Vetos Presidenciais:

  • get_vetos_ano(ano) — Vetos de um ano
  • get_vetos_apos_rcn() — Vetos pós-RCN 1/2013 em tramitação
  • get_vetos_antes_rcn() — Vetos pré-RCN 1/2013
  • get_vetos_encerrados() — Vetos encerrados

Orientação de Bancada:

  • get_orientacao_bancada_data(data) — Orientação por data
  • get_orientacao_bancada_periodo(data_inicio, data_fim) — Por período

Resultado Plenário CN e Vetos:

  • get_resultado_plenario_cn(data) — Resultado sessão CN
  • get_resultado_veto(codigo) — Resultado voto de veto
  • get_resultado_veto_materia(codigo) — Resultado veto sobre PL

Orçamento/Emendas:

  • get_orcamento_lotes_emendas() — Lotes de emendas
  • get_orcamento_oficios() — Ofícios de emendas
  • get_orcamento_oficio(numero_sedol) — Ofício específico

CPI:

  • get_cpi_requerimentos(comissao, pagina?, tamanho?) — Requerimentos de CPI

Processo Legislativo (API Avançada):

  • pesquisar_processos(sigla?, numero?, ano?, tramitando?, autor?, assunto?, data_inicio_apresentacao?, data_fim_apresentacao?) — Pesquisa avançada

Distribuição:

  • get_distribuicao_autoria_comissao(sigla_comissao?, cod_parlamentar?) — Distribuição de autoria
  • get_distribuicao_relatoria_comissao(sigla) — Distribuição de relatoria
  • get_materia_lista_tramitacao(sigla?, comissao?) — Total em tramitação

Composição Mista:

  • get_composicao_comissao_mista_atual(codigo) — Composição atual de comissão mista

Utilitários:

  • get_materias_recentes(dias?) — Matérias recentes
  • get_votacoes_semana() — Votações da semana
  • get_agenda_semana() — Agenda da semana

Python Client — API ADM (Prestação de Contas)

from senado_client import get_senado_adm_client

async def main():
    adm = get_senado_adm_client()
    
    # CEAP do ano
    ceap = await adm.get_ceap(2026)
    
    # CEAP de um senador específico
    ceap_pontes = await adm.get_ceap_senador("Marcos Pontes", 2026)
    
    # Remuneração de servidores
    remuneracao = await adm.get_remuneracao_servidores(2026, 1)
    
    # Contratos
    contratos = await adm.get_contratos(objeto="limpeza")
    
    await adm.close()

Métodos Disponíveis (SenadoAdmClient)

Senadores — CEAP e Benefícios:

  • get_ceap(ano) — Todas as despesas CEAP do ano
  • get_ceap_senador(nome, ano) — CEAP filtrado por nome do senador
  • get_auxilio_moradia(nome?, estado?, partido?) — Auxílio moradia / imóvel funcional
  • get_escritorios_apoio() — Escritórios de apoio (endereço/telefone)
  • get_senadores_aposentados() — Senadores aposentados e remuneração

Servidores:

  • get_servidores(tipo_vinculo?, situacao?, lotacao?) — Lista com filtros
  • get_servidores_ativos() — Ativos
  • get_servidores_comissionados() — Comissionados
  • get_remuneracao_servidores(ano, mes) — Remuneração mensal
  • get_horas_extras(ano, mes) — Horas extras
  • get_estagiarios() — Estagiários
  • get_pensionistas() — Pensionistas
  • get_remuneracao_pensionistas(ano, mes) — Remuneração de pensionistas

Supridos (Cartão Corporativo):

  • get_supridos(ano) — Supridos do ano
  • get_supridos_transacoes(ano) — Transações
  • get_supridos_movimentacoes(ano) — Movimentações
  • get_supridos_empenhos(ano) — Empenhos

Contratações:

  • get_contratos(fornecedor?, cnpj?, ano?, objeto?) — Contratos
  • get_licitacoes(numero?, objeto?) — Licitações
  • get_notas_empenho(fornecedor?, ano?) — Notas de empenho
  • get_empresas_fornecedoras(nome?, cnpj?) — Empresas cadastradas
  • get_terceirizados() — Terceirizados

Questions people ask

Do these APIs require authentication or API keys?
No. Both are public open-data endpoints; append `.json` or `.xml` to the path to choose format.
What is the difference between the legislative and administrative APIs?
The legislative API (legis.senado.leg.br/dadosabertos) covers legislative activity — bills, votes, committees, plenary, speeches. The administrative API (adm.senado.gov.br/adm-dadosabertos) covers institutional transparency — CEAP, staff, remuneration, corporate card, contracts.
Can I export results to CSV?
The administrative API exposes CSV variants for several endpoints, including CEAP expenses by year, monthly staff remuneration, overtime, housing allowance, offices, retired senators, and supridos transactions.

Related skills

Research Brazil's Chamber of Deputies using its official open-data API. Use for federal deputies, Chamber bills, votes, events, committees, parliamentary fronts, and CEAP expenses; use senado-federal for Senate-only records.

27 installs

Interact with EpidBot - AI-powered assistant for Brazilian public health data (DATASUS/SINAN)

18 installs1 stars

Sanctions screening (OFAC+UN+EU+UK, 59k entries), KYB bundles for CO/MX/BR/CL/PE, LATAM central bank rates (TRM/TIIE/Selic/dólar blue), business registry lookup and AI market intelligence. x402 v2 micropayments in USDC — no API key, no account. Trial: X-TRIAL: true header.

1 installs1 stars

Consensus (consensus.app). Use this skill for ANY Consensus request — searching and reading data. Whenever a task involves Consensus, use this skill instead of calling the API directly.

Track congress stock trades and politician stock trades: Pelosi tracker, senate stock trades, House trades, congress trades by ticker, and STOCK Act disclosures sourced from House Clerk and Senate eFD filings. Use for congress stock trades, politician stock tracker, Pelosi stock trades, senate trading disclosures, what stocks is congress buying, STOCK Act filings by ticker. Read-only. No trading, no purchases, no write operations, no wallet access.

1 installs1 stars

Track official government documents in the Chinng AI-Agent Portal — US Federal Register, EU EUR-Lex, and Japanese agency feeds. Use for regulatory monitoring, comment deadlines, effective dates, and primary-source policy reading.

1 installs