BesluitBron 1.4.4-23 Status Sign in

Tweede Kamer

Last changed on .

The Tweede Kamer’s Data Repository is the national parliament’s official register. It contains parliamentary documents, cases, decisions, votes, activities, reports and the individuals and party groups involved. It can be searched anonymously at gegevensmagazijn.tweedekamer.nl.

This is the authoritative source for the Parliamentary decision and how the vote was taken.

What’s inside

Determined on 13 August 2026 by measuring all 38 entity collections:

Component Number
Document versions 1.566.500
Votes 1.012.844
Decisions 732.603
Documents 706.237
Business 339.911
Activities 99.157
Reports 23.267
Parliamentary documents 7.741
Meetings 7.466
Commitments 6.452
People 4.470
Committees 234
Party groups 160

These figures are all too high. Deleted rows are included in the count and their fields have been cleared. The overestimation ranges from 0.4 per cent for individuals to 26.7 per cent for activities. BesluitBron filters out these rows, so that the reported figure corresponds to the number of existing rows.

Documents: 606,893, not 706,237

For documents, the overestimate was recorded on 17 August 2026. The register reports 706,414 documents if no filtering is applied, and 606,893 if the deleted rows are filtered out. That is an overestimate of 99,521 rows, or 16.4 per cent.

The number of documents from the Tweede Kamer is therefore 606,893. The graph on Startpagina uses that figure. Up to and including version 1.3.40, the figure shown there was 706,237.

That same figure answers a question about OpenTK. That platform had 606,873 documents on 14 August 2026. Based on the unfiltered figure, that appears to be 86 per cent of the register. Based on the filtered figure, it is 99.997 per cent: 606,873 out of 606,893, a difference of twenty documents. OpenTK therefore does not miss a seventh of the register. It contains virtually all of it, and the text is searchable.

What it offers in addition to local sources

Three things that Open Raadsinformatie and OpenBesluitvorming do not have:

  • votes by party group and by member, with the results shown alongside;
  • verbatim reports of plenary meetings, including the name of the speaker and the time;
  • commitments made by government ministers as independently recorded data.

The restriction that governs its use

The register searches titles only. A search for a subject therefore only returns items in which that word appears in the title. Items in which the subject is discussed in the text are not included. Our own random checks showed that 86 to 99 per cent of the hits in the text were thus overlooked.

That is why the connector retrieves the text from OpenTK when a text search is carried out. This is visible in the response via the ‘match_type’ field from Zoekprecisie. This allows the reader to know whether a match comes from the official register or from a third-party index.

Other restrictions

  • The previous version of the service, /OData/v4/2.0, will be discontinued on 1 October. BesluitBron uses only v5, in which around forty field names have been changed;
  • No request limit has been published, nor has one been observed. That is not the same as saying there is none;
  • The register relates to the Tweede Kamer. The Eerste Kamer is not included. For parliamentary documents relating to the States General as a whole, please refer to Officiële Bekendmakingen.

Address and tools

Address: https://besluitbron.nl/mcp/tweedekamer/v1. The old address without /v1 will remain accessible.

  • list_factions: the party groups, their size and their term of office;
  • search_documents: search the titles of parliamentary documents, as that is all the register can do;
  • search_document_text: search the text of those same documents. This tool retrieves its data from OpenTK and not from the register, as can be seen in the ‘match_type’ field of the response;
  • get_documents: a single parliamentary document together with its metadata;
  • get_case: a single case comprising the documents, decisions and activities associated with it. This is the entry point that holds the case file together;
  • get_vote: one vote with the result;
  • faction_votes: a party group’s voting behaviour across a series of votes;
  • upcoming_activities: the Chamber’s scheduled activities;
  • list_transcripts: the available verbatim reports;
  • get_transcript: a single report listing the speakers and the times;
  • datasets: each table in the register as rows and columns, with the column names provided by the platform itself. If no table name is specified, the tool returns the catalogue: all queryable tables with their columns, their expandable references and their exact number of rows. Available from version 1.2.24;
  • list_platform_calls: the calls to the platform in this session.

In addition, list_capabilities.

Tables and terms of office

In addition to queries on an individual or case-by-case basis, from version 1.2.24 onwards the register can also be viewed as a table. The tool dataset sends a filter, a sort order and a selection to the platform, in the platform’s own language. The response is returned as columns with rows, as a CSV file or as objects. The platform’s limitations are handled accordingly: deleted rows are omitted, a page contains a maximum of 250 rows, and larger sets are paginated on the server side. If a filter encounters the service’s undocumented node limit, this is reported before the service returns an error code.

Two sets of data are not provided by the platform but are calculated by BesluitBron. They are marked as such in the response. members provides one row per parliamentary term: the person, the party group, the role and the dates during which the term ran. member_tenure combines the terms of a single person to give the total length of service. A consecutive or overlapping term is counted as continuous, and a current term is counted up to the date of the reply.

The register of Members dates back to 1977 and covers the parliamentary terms administered by the House. It is not a list of the names of every Member since 1815. The fact that someone is not listed does not prove that they have never been a Member. Every reply makes this clear.

The two channels behind a single address

The connector refers to two services, and this distinction is made in each answer:

flowchart TD
    C["Address of the House of Representatives"] -->|"decisions, votes,<br/>cases, reports"| TK["Data warehouse<br/>official register"]
    C -->|"search in<br/>the text"| OTK["OpenTK<br/>one-third index"]

Entries from the register are authoritative. Entries from the index are references that must be verified against the register. See OpenTK for the reason behind this distinction.

Where to find this platform

These addresses belong to the organisation behind this source and not to BesluitBron. Anyone who finds an error in the data or in this source’s API should report it there:

The Tweede Kamer specifies a target timeframe of five working days, or longer during a parliamentary recess.

These addresses were checked on 18 August 2026. No email address has been included deliberately: where a party publishes only an address, BesluitBron refers to the page on which that address appears.

What this source is suitable for

Everything that Parliament has formally done: votes, decisions, commitments, and the exact words spoken.

What it is not for

For the Eerste Kamer, which is not included. For local authorities, for which the sources are Open Raadsinformatie and OpenBesluitvorming. And for the question of whether a regulation has been published, for which the source is Officiële Bekendmakingen.

Current situation, as of August 2026

Measured on 16 August 2026 with exact daily counts: 11 items dated 14 August, 32 on 13 August, 11 on 12 August, and none on Saturday or Sunday. This record is kept up to date. A gap of a day or two at the weekend is due to the meeting schedule and does not represent a backlog.

The text of a document is made available on get_document in three ways. For around one in four documents, the House of Representatives itself publishes a clean XML version alongside the document. Of the recent documents, the majority are Word documents (docx): in a sample of the hundred most recent documents, taken on 18 August 2026, 61 out of 100 were Word documents. get_document has been extracting the text directly from there since that same day, by opening the docx file as a zip archive and reading the text from word/document.xml. For the rest, get_document reads the text directly from the PDF, without OCR: this has been the case since 18 August 2026, following a survey of a sample of documents from 2015 to 2026, none of which contained an unreadable text layer. Only a document that exists solely as a scan, without a text layer in the PDF itself, remains inaccessible in this way; anyone wishing to search such a document will need OpenTK, which extracts the text using OCR.

The latest figures for each source are available on the ‘Laadstatus’, along with the thresholds and the figures behind them.