BYTETOOLS

Câmara dos Deputados (Brazil) API

Free Brazilian Chamber of Deputies API with no key: deputies, parties, bills, votes, expense claims and committee membership, with HATEOAS links throughout. Tested example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Câmara dos Deputados (Brazil) API?

The Câmara dos Deputados open data API publishes Brazil's lower house of Congress as free, key-free JSON. It covers all 513 deputies with party and state, plus bills, votes, speeches, committee membership and the parliamentary expense quota each deputy claims against.

Brazil's Chamber of Deputies runs one of the most complete legislative APIs published by any national parliament, and unusually it is fully hypermedia-driven. Every response carries a `links` array with `self`, `next`, `first` and `last` relations, and every deputy object carries a `uri` pointing at their own detail resource plus a `uriPartido` pointing at their party. You can crawl the entire body without ever constructing a URL by hand, which makes a client resilient to the pagination changes that break hand-rolled path building.

The data goes well beyond a member directory. The expense endpoints expose the cota parlamentar — the monthly allowance deputies claim for flights, fuel, office costs and publicity — itemised down to individual receipts with supplier tax numbers. Combined with the voting endpoints, that is enough to build real accountability tooling, and several Brazilian civic tech projects do exactly that. Everything is in Portuguese, including field names: `nome`, `siglaPartido`, `siglaUf`, `idLegislatura`. Results live under `dados`, not `data`.

Quick facts

Base URL
https://dadosabertos.camara.leg.br/api/v2
Authentication
No API key or registration. The service is published by the Chamber's own open data programme.
Rate limit
No published limit. Default page size is 15; expense endpoints return many rows, so page rather than requesting everything.
Pricing
Free. Brazilian legislative data is public information.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Câmara dos Deputados (Brazil) API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. List deputies for a Brazilian state

GET https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&itens=1

curl
curl 'https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&itens=1'
JavaScript (fetch)
const res = await fetch("https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&itens=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&itens=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "dados": [
    {
      "id": 221328,
      "uri": "https://dadosabertos.camara.leg.br/api/v2/deputados/221328",
      "nome": "Adilson Barroso",
      "siglaPartido": "PL",
      "uriPartido": "https://dadosabertos.camara.leg.br/api/v2/partidos/37906",
      "siglaUf": "SP",
      "idLegislatura": 57,
      "urlFoto": "https://www.camara.leg.br/internet/deputado/bandep/221328.jpg",
      "email": "dep.adilsonbarroso@camara.leg.br"
    }
  ],
  "links": [
    {
      "rel": "self",
      "href": "https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&itens=1"
    },
    {
      "rel": "next",
      "href": "https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&pagina=2&itens=1"
    },
    {
      "rel": "first",
      "href": "https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&pagina=1&itens=1"
    },
    {
      "rel": "last",
      "href": "https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&pagina=70&itens=1"
    }
  ]
}

Parameters

ParameterTypeRequiredDescription
siglaUfqueryOptionalTwo-letter state code to filter by. SP
siglaPartidoqueryOptionalParty abbreviation. PL
idLegislaturaqueryOptionalLegislature number; omit for the current one. 57
itensqueryOptionalItems per page. Defaults to 15. 1
paginaqueryOptionalPage number. The `links` array supplies ready-made next and last URLs. 2
ordemqueryOptionalSort direction, `ASC` or `DESC`. ASC

Response fields

dadosarray
The records. Brazilian government APIs use `dados`, not `data` — a common cause of undefined reads.
dados[].idinteger
Deputy identifier, used by every related endpoint such as expenses and votes.
dados[].uristring
Absolute URL of the deputy's own detail resource. Follow it rather than building the path.
dados[].nomestring
Parliamentary name, which is frequently a nickname rather than the legal name.
dados[].siglaPartido / uriPartidostring
Party abbreviation and a link to the party resource.
dados[].siglaUfstring
State the deputy represents.
dados[].idLegislaturainteger
Legislature the record belongs to. Deputies appear once per legislature served.
dados[].urlFotostring
Official portrait image URL.
linksarray
HATEOAS relations — `self`, `next`, `first`, `last`. The `last` link reveals the total page count.

What you can build with the Câmara dos Deputados (Brazil) API

  • Build a directory of Brazilian federal deputies by state or party
  • Audit parliamentary expense claims against the cota parlamentar
  • Track how deputies voted on a specific bill
  • Monitor bill progress through the Chamber
  • Analyse party composition changes across legislatures

Common errors and how to fix them

Reading `data` gives undefined

The payload key is `dados`.

Fix: Read `dados`. Every API in this Brazilian family uses Portuguese keys throughout.

Only 15 records returned

That is the default page size.

Fix: Set `itens`, and follow the `next` link rather than incrementing `pagina` blindly.

A deputy appears several times

One record exists per legislature served.

Fix: Filter on `idLegislatura`, or omit it entirely to get only the current legislature.

404 on a constructed sub-resource URL

The path shape was guessed.

Fix: Follow the absolute `uri` on the record; the API is hypermedia-driven precisely so you never have to build paths.

Câmara dos Deputados (Brazil) API — frequently asked questions

Is the Câmara dos Deputados API free?

Yes, with no key and no registration. It is run by the Chamber's own open data programme and covers the full legislative record.

Can I see how much deputies spend?

Yes. The expense endpoints itemise the cota parlamentar — the monthly allowance covering flights, fuel, office costs and publicity — down to individual receipts with supplier tax numbers.

Why are the field names in Portuguese?

It is a Brazilian government service published for a Portuguese-speaking audience, so `nome`, `siglaPartido` and `dados` are the field names. There is no English variant, so map them in your own layer.

Does this cover the Senate as well?

No. The Chamber of Deputies is the lower house only. The Senate runs a separate open data service on its own domain with a completely different response structure.

Tools that pair with this API

Câmara dos Deputados (Brazil) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.