303,525 datasets indexed1,419 publishers
Open Data IndexThe index of open data about the Netherlands
Sources›Finance

Iv3, municipal budgets and accounts

Municipalities submit their budget, four quarterly reports and annual accounts to CBS in a fixed format: Information for third parties (Iv3). CBS publishes these figures unprocessed, per municipality, per policy area (from administration to youth care and waste) and per type of income or expense. There is one table per reporting year, also for provinces, water boards and joint arrangements.

FinanceGovernmentOpenAPIDownloadNetherlands · municipality and policy area
Up to date · updated 25 days ago · checked 17:23
iv3statline.cbs.nl
Screenshot of iv3statline.cbs.nl

Budgeted general grant from the Municipalities Fund per resident: highest in Schiermonnikoog (4,844 euros), lowest in Bloemendaal (1,481 euros)

Budgeted general grant from the Municipalities Fund per resident per municipality, begroting 2026, in euros per resident. Netherlands as a whole: 2,590. 342 municipalities with a figure.

Source: CBS, Iv3-tabel 45078NED (Gemeenten 2026 onbewerkte Iv3-data), gedeeld door de bevolking uit CBS 37230ned · opgehaald 25 oktober 2026 · selection: taakveld 0.7; categorie B4.3.1; 2e plaatsing; inwoners op 1 januari 2026 (CBS 37230ned)Open the table Single block

Budgeted property tax revenue per resident: highest in Schiermonnikoog (874 euros), lowest in Ooststellingwerf (134 euros)

Budgeted property tax revenue per resident per municipality, begroting 2026, in euros per resident. Netherlands as a whole: 350. 342 municipalities with a figure.

Source: CBS, Iv3-tabel 45078NED (Gemeenten 2026 onbewerkte Iv3-data), gedeeld door de bevolking uit CBS 37230ned · opgehaald 25 oktober 2026 · selection: taakveld 0.61 + 0.62; categorie B2.2.1 + B2.2.2; 2e plaatsing; inwoners op 1 januari 2026 (CBS 37230ned)Open the table Single block

What you can build with it1

What can you do with it?4 ideas

Getting started

How much property tax does your municipality raise?

Add up income on policy areas 0.61 (property tax on homes) and 0.62 (non-residential). Amsterdam budgeted 172.7 million euros of income on 0.61 for 2025. Divide by residents and compare with neighbouring municipalities.

Getting started

Budget versus reality

Put the budget next to the annual accounts for the same year. On which policy areas does your municipality keep spending more than budgeted?

Advanced

Who hires the most external staff?

Category L3.5.1 (hired staff) against L1.1 (salaries and social charges) shows per municipality how much it relies on hired staff.

Advanced

Follow the reserves

Balance items P111 (general reserve) and P112 (earmarked reserves) with categories Primo and Ultimo show how a municipality's savings change over the year.

How to process it5 steps

  1. Find the table for the right year

    Each reporting year has its own table: 45071NED is Municipalities 2025, 45078NED Municipalities 2026, 45067NED Municipalities 2024. The catalogue lists them all.

    https://dataderden.cbs.nl/ODataCatalog/Tables?$format=json&$filter=Catalog%20eq%20'IV3'&$select=Identifier,Title,Modified
  2. Look at the codes

    Four dimensions: TaakveldBalanspost (145 codes), Categorie (78), Gemeenten (342) and Verslagsoort (6: budget, quarters 1 to 4, annual accounts).

    https://dataderden.cbs.nl/ODataApi/OData/45071NED/Verslagsoort
  3. Filter by municipality, report type and policy area

    Pad keys with spaces: municipality to 9 characters ('GM0363 '), policy area to 6 ('0.61 '), category to 8 ('B2.2.1 '). Without the spaces you get an empty list.

    https://dataderden.cbs.nl/ODataApi/OData/45071NED/TypedDataSet?$filter=Gemeenten%20eq%20'GM0363%20%20%20'%20and%20Verslagsoort%20eq%20'2025X000'%20and%20TaakveldBalanspost%20eq%20'0.61%20%20'
  4. Use the second release

    Each report type is released twice. The second release contains corrections municipalities sent in. Amounts are in thousands of euros.

  5. Or use the processed tables

    CBS also builds processed tables, but only per region and size class: 83641NED (budgets) and 84413NED (accounts). Levies are available per municipality in 83642NED.

    https://opendata.cbs.nl/ODataApi/OData/83642NED/DataProperties

Interesting combinations

Similar sources

What to watch out for

  • Unprocessed, so unchecked

    CBS takes no responsibility for the quality of these figures and its own publications need not match them one to one. A striking amount may be a booking error.

  • Municipalities book differently

    Amsterdam books property tax on homes under B2.2.1 (taxes on producers), not B2.2.2. Add up all income or expense categories of a policy area before comparing municipalities.

  • Quarterly figures are often missing

    Municipalities under 20,000 residents don't have to submit quarterly figures. Anything not submitted shows as '.' (missing).

  • Policy areas only from 2017

    The policy-area classification applies from 2017. Older years use a different classification (functions), see the discontinued CBS tables up to 2016. A long series takes extra work.

  • API pitfalls

    Keys are padded with spaces, and the length differs per dimension. At most 10,000 rows per request. A year table for all municipalities has 23.2 million rows: always filter by municipality or policy area.

APIOData v3 · read 16 Oct 2026

StandardOData v3docs
Access no key

No key or account; the description and our call work anonymously. tested

Size23,208,120

rows (cells) in TypedDataSet tested

Formats

JSONAtom/XML

Base URL

https://dataderden.cbs.nl/ODataApi/OData/45071NED

Endpoints 9

  • GET/TableInfostitle, summary, period and modification date of the table
  • GET/UntypedDataSetthe figures, all values as text
  • GET/TypedDataSetthe figures, with numbers as numbers
  • GET/DataPropertiesall columns: dimensions and topics with unit
  • GET/CategoryGroupsgrouping of categories
  • GET/TaakveldBalanspostcodes and names of dimension TaakveldBalanspost
  • GET/Categoriecodes and names of dimension Categorie
  • GET/Gemeentencodes and names of dimension Gemeenten
  • GET/Verslagsoortcodes and names of dimension Verslagsoort

Filtering platform

OData expressions in $filter, keys in single quotes

eqnegtgeltleandorsubstringof()startswith()

Parameters 6

$filterselect rows, e.g. WijkenEnBuurten eq 'GM0363 'platform
$selectonly these columnsplatform
$top / $skippagingplatform
$orderbysortingplatform
$formatjson or atomplatform
$countafter a path: count onlyplatform

Dimensions · = space in the key

DimensionCodesExamples
TaakveldBalanspost
Taakveld/balanspost
145
0.1··· 0.1 Bestuur
0.2··· 0.2 Burgerzaken
0.3··· 0.3 Beheer overige gebouwen en gronden
Categorie
Categorie
78
L1.1···· L1.1 Salarissen en sociale lasten
L2.1···· L2.1 Belastingen
L3.1···· L3.1 Grond
Gemeenten
Gemeenten
342
GM1680··· Aa en Hunze
GM0358··· Aalsmeer
GM0197··· Aalten
Verslagsoort
Verslagsoort
6
2025X000 Begroting
2025X001 1e kwartaal
2025X002 2e kwartaal

Fields 2

NameTypeMeaning
k_1ePlaatsing_1
1e plaatsing
double · 1 000 euroCijfers met als onderwerp '1e plaatsing' worden gepubliceerd 10 dagen na de uiterste inzenddatum die geldt voor de betreffende verslagsoort. Valt deze dag in …
k_2ePlaatsing_2
2e plaatsing
double · 1 000 euroCijfers met als onderwerp '2e plaatsing' worden gepubliceerd 70 dagen na de uiterste inzenddatum die geldt voor de betreffende verslagsoort. Valt deze dag in …

Limits and pitfalls

  • At most 10,000 rows per request; page with $skip. The Municipalities 2025 table has 23,208,120 rows (15 Oct 2026). tested
  • Keys are padded with spaces and the length differs per dimension: Gemeenten 9 characters ('GM0363 '), TaakveldBalanspost 6 ('0.61 '), Categorie 8 ('B2.2.1 '). Note: in other CBS tables the municipality code is 10 characters. tested
  • One table per reporting year and type of government (45071NED = Municipalities 2025). Find new years in the catalogue with $filter=Catalog eq 'IV3'. tested
  • Two measures: k_1ePlaatsing_1 and k_2ePlaatsing_2 (1st and 2nd release), in 1,000 euros. The second release includes corrections from municipalities. from the description
  • Report-type codes contain the year (2025X000 budget, 2025X001 to 2025X004 the quarters, 2025X005 annual accounts). tested
  • robots.txt on opendata.cbs.nl and iv3statline.cbs.nl disallows /ODataAPI/OData/* (capital API) with Noindex; dataderden.cbs.nl has no robots.txt (404). tested

Try it HTTP 200 · 235 ms · 16 Oct

https://dataderden.cbs.nl/ODataApi/OData/45071NED/TypedDataSet?$filter=Gemeenten eq 'GM0363   ' and Verslagsoort eq '2025X000' and TaakveldBalanspost eq '0.61  ' and Categorie eq 'B2.2.1  '
{
  "odata.metadata": "https://dataderden.cbs.nl/ODataApi/OData/45071NED/$metadata#Cbs.OData.WebAPI.TypedDataSet",
  "value": [
    {
      "ID": 876294,
      "TaakveldBalanspost": "0.61  ",
      "Categorie": "B2.2.1  ",
      "Gemeenten": "GM0363   ",
      "Verslagsoort": "2025X000",
      "k_1ePlaatsing_1": 163897,
      "k_2ePlaatsing_2": 163897
    }
  ]
}

Shortened response, saved at harvest time. Click the URL for the real, current response.

Read from service document (list of endpoints) · dimensions and topics · full data model (XML). Labels: from the description stated in what the api itself publishes. tested from our own small call. platform applies to every api on this platform, per its documentation. experience learned while building open data index.

How to fetch it

curl "https://dataderden.cbs.nl/ODataApi/OData/45071NED/TypedDataSet?\$filter=Gemeenten%20eq%20'GM0363%20%20%20'%20and%20Verslagsoort%20eq%20'2025X000'%20and%20TaakveldBalanspost%20eq%20'0.61%20%20'"

Used by

More from CBS in our index

14,153 datasets in data.overheid.nl, CBS StatLine, Nationaal Georegister, NDE Datasetregister. These changed most recently.

All about CBS

More in this topic

See how this page is built
bron: iv3-gemeentefinancien
blokken: []
secties:
  - ideeen
  - verwerken
  - koppelingen
  - vergelijkbaar
  - beperkingen
  - code
  - gebruiktDoor
cache:
  tag: bron:iv3-gemeentefinancien
  ververs: na statuscheck, als de bron nieuwer is
statuscheck:
  methode: nieuwste Modified in de IV3-catalogus van dataderden.cbs.nl
  verwacht: elk kwartaal

Source: content/bronnen/iv3-gemeentefinancien.yaml · Markdown