The Riksdag side is the deeper of the two: search_dokument carries the API's whole filter vocabulary rather than a simplification of it, and votes can be grouped by party or constituency without any post-processing on your side. The Government Offices side runs through g0v.se, which is why get_g0v_latest_update and get_sync_status exist — with an intermediary in the path, when the data was last refreshed is a question you will want answered.
A research surface over the Riksdag's open data and Government Offices documents reached through g0v.se, 32 tools covering members, documents, speeches, votes, committees and the parliamentary calendar.
- Members searched by name, party, constituency and status, and one member's record by intressent_id
- Riksdag documents searched across document type, committee, party, session and date range, or searched in full text
- The standing document classes on tools of their own: motions, government bills, committee reports, written questions and interpellations
- Speeches searched by speaker, party, debate and text, with paged retrieval for long series
- Votes searched and grouped by party or constituency for a given committee report and point
- Government Offices documents searched by department and date, returned as Markdown, summarised, or broken down per department
- One combined search across both institutions, plus the calendar, the committee list, available reports, and a dictionary of the datasets and their fields
- Paged and batched retrieval across several parliamentary sessions in one call
No account and no key. What you do need is the Riksdag's own vocabulary, because the parameters are the API's: rm identifies a parliamentary session, bet a committee report, intressent_id a member, and the Government Offices side is addressed through g0v.se rather than a government endpoint.
One command — npx -y @isak.skogstad/riksdag-regering-mcp
