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.
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 'https://dadosabertos.camara.leg.br/api/v2/deputados?siglaUf=SP&itens=1'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);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()){
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
siglaUf | query | Optional | Two-letter state code to filter by. SP |
siglaPartido | query | Optional | Party abbreviation. PL |
idLegislatura | query | Optional | Legislature number; omit for the current one. 57 |
itens | query | Optional | Items per page. Defaults to 15. 1 |
pagina | query | Optional | Page number. The `links` array supplies ready-made next and last URLs. 2 |
ordem | query | Optional | Sort 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
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
JSON Path Finder
Evaluate a dot/bracket path against your JSON and list every leaf path for discovery. Free online JSON path finder that runs 100% in your browser.
CSV Viewer & Table
View CSV as a clean HTML table online. Live search filter, row and column counts, delimiter and header options — all processed locally in your browser.
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.