API
Open JSON API: Sejm votes linked to amendment texts, club results, named votes, MPs and changes to the law. Files are static and refreshed with the site; any website can fetch them (CORS enabled).
Base URL: https://sejmomat.pl/api/v1/ · index.json
Endpoints
| Path | Contents |
|---|---|
sittings.json | list of sittings with vote counts |
sittings/{sitting}.json | a sitting's votes: result, topic, prints, linked amendments (without text) |
votes/{sitting}/{votingNumber}.json | full vote: amendment text, committee recommendation, changes to the law, club results, club line, line-breakers, named votes |
bills.json, bills/{print}.json | bills (by the print opening the process), changes to existing law, proposers' success, votes |
mps.json, mps/{id}.json | MPs: turnout, line-breaking, signed motions, club history |
clubs.json | clubs: members, cohesion, effectiveness, agreement with other clubs |
prints/{print}.json | print: metadata and parsed amendments / minority motions / Senate amendments |
adopted-amendments.json | proposers' success (clubs, MPs) and adopted amendments |
Example
fetch("https://sejmomat.pl/api/v1/votes/66/21.json")
.then((r) => r.json())
.then((v) => console.log(v.result.label, v.amendments[0].text, v.clubs.KO));
Conventions
- MP and club ids are the same as in the Sejm API (api.sejm.gov.pl).
- Votes: yes / no / abstain / absent. Legal texts and labels are in Polish.
- Amendment texts and law comparisons are extracted automatically; the linked field says whether the text was found. The official print is authoritative.
- v1 is stable: fields may be added, but not removed or changed.