How much grant money does a foundation in Amsterdam receive?
Amsterdam publishes every grant in an open register: 56,863 files on 15 October 2026, each with the applicant, the scheme and three amounts (requested, awarded and settled). It only has a name, no company number. Search for 'regenboog' and you find three different foundations. And multi-year grants appear with their full amount in the first year: in grant year 2025 the city awarded 1.67 billion euro, against 727 million in 2024, partly because of the Sociale basis 2025–2030 and the Kunstenplan 2025–2028.
Short answerFor Stichting De Regenboog Groep: 16.3 million euro awarded in grant year 2024 (15.6 million settled) and 40.3 million in 2025, with eight files carrying a multi-year term in their name. From 2016 to 2022 it was between 7 and 11 million a year.
City of Amsterdam grants by recipient: most Openbare Bibliotheek Amsterdam (32.3 million euro), then Stichting SEZO and Stichting HVO-Querido
City of Amsterdam grants by recipient, 2024, in million euro. Total: 727.3; the largest 12 of 1456 categories are shown. Openbare Bibliotheek Amsterdam is 4% of the total. 5,366 grant files in grant year 2024; summed per applicant name as written in the register (no company number).
Step by step
- 1
Search the foundation's name in the grants register.
- 2
Check the business register to confirm it is the same legal entity; the register has no company number.
- 3
Search Open Council Information for council papers about it.
Join on naam aanvrager → KvK-nummer
Start with AI
Paste this prompt into Claude or ChatGPT. It names the real endpoints, the join key and the pitfalls, so the assistant writes usable code straight away. Always check the result against the source itself.
Write a Python script (requests only) that shows how much grant money an organisation received from the City of Amsterdam per year.
API (DSO API, no key):
https://api.data.amsterdam.nl/v1/subsidies/v1/openbaar_subsidieregister/?aanvrager[like]=*regenboog*&_pageSize=1000&_format=json
What you need to know:
- Send the header Accept: application/hal+json; application/json returns a 406.
- Rows are in _embedded.openbaar_subsidieregister. Follow _links.next.href until it is gone.
- Fields: dossiernummer, aanvrager, regelingnaam, projectnaam, typePeriodiciteit, subsidiejaar, bedragAangevraagd, bedragVerleend, bedragVastgesteld. Limit them with _fields=…
- [like] uses * as a wildcard. With _count=true the total is in the X-Total-Count header.
- There is no company (KvK) number. First list every name found with its number of files and let me choose. A loose search term often hits several organisations.
- Awarded (verleend) is what was promised, settled (vastgesteld) what was paid out after the fact. For current years settled is still empty. Show both and say which one you add up.
- Multi-year schemes ('2025-2028', 'meerjarig', 'vierjarig' in regelingnaam or projectnaam) appear with their full amount in one grant year. Flag them; optionally spread the amount over the term.
- subsidiejaar can be empty: keep those rows separate.
Output: a table per grant year (files, requested, awarded, settled, number of multi-year files) in whole euros, and a CSV with all files for the chosen name.
Then, by hand: check the legal entity in the Business Register (the KVK API is paid) and search the name in Open Raadsinformatie around the year of the award.
Try it yourself
A small script that answers the core of the question. Needs: Python 3.10+ en requests. Tested on 2026-10-15; below is the real output of that run.
# Hoeveel subsidie krijgt een stichting van de gemeente Amsterdam? Per subsidiejaar: aangevraagd, verleend, vastgesteld.
# Bron: Subsidieregister Amsterdam (DSO-API). Geen sleutel nodig.
import re, requests
from collections import defaultdict
API = "https://api.data.amsterdam.nl/v1/subsidies/v1/openbaar_subsidieregister/"
UA = {"User-Agent": "opendataindex-voorbeeld/0.2 (+https://opendataindex.nl)", "Accept": "application/hal+json"}
ZOEK = "*regenboog*" # [like] met * als joker; het register heeft geen KvK-nummer, alleen een naam
NAAM = "Stichting De Regenboog Groep" # kies daarna de juiste aanvrager uit de gevonden namen
rijen, url = [], API
params = {"aanvrager[like]": ZOEK, "_pageSize": 1000, "_format": "json",
"_fields": "aanvrager,regelingnaam,projectnaam,subsidiejaar,bedragAangevraagd,bedragVerleend,bedragVastgesteld"}
while url:
j = requests.get(url, params=params, headers=UA, timeout=60).json()
rijen += j["_embedded"]["openbaar_subsidieregister"]
url, params = j["_links"].get("next", {}).get("href"), None # de next-link bevat alle parameters al
print(f"{len(rijen)} dossiers voor '{ZOEK}':")
for naam in sorted({r["aanvrager"] for r in rijen}):
print(f" {sum(r['aanvrager'] == naam for r in rijen):>4} {naam}")
rijen = [r for r in rijen if r["aanvrager"] == NAAM]
print(f"\n{NAAM}, per subsidiejaar:")
jaar = defaultdict(lambda: {"n": 0, "aangevraagd": 0, "verleend": 0, "vastgesteld": 0, "meerjarig": 0})
for r in rijen:
j = jaar[r["subsidiejaar"]]
j["n"] += 1
for k in ("aangevraagd", "verleend", "vastgesteld"):
j[k] += r[f"bedrag{k.capitalize()}"] or 0
# meerjarige regelingen staan in één jaar met het hele bedrag ('2025-2028', 'meerjarig')
if re.search(r"20\d\d ?- ?20\d\d|meerjarig|vierjarig", f"{r['regelingnaam']} {r['projectnaam']}", re.I):
j["meerjarig"] += 1
print(f"{'jaar':>5} {'dossiers':>8} {'aangevraagd':>14} {'verleend':>14} {'vastgesteld':>14} meerjarig")
for k in sorted(jaar, key=lambda x: x or 0):
v = jaar[k]
print(f"{k or '?':>5} {v['n']:>8} {v['aangevraagd']:>14,.0f} {v['verleend']:>14,.0f} {v['vastgesteld']:>14,.0f} {v['meerjarig']}")
print("\nBedragen in euro. 'Vastgesteld' komt pas na afloop; voor recente jaren is het nog leeg of laag.")
259 dossiers voor '*regenboog*':
255 Stichting De Regenboog Groep
3 Stichting Het Regenbooghuis
1 Stichting Regenboog Loket
Stichting De Regenboog Groep, per subsidiejaar:
jaar dossiers aangevraagd verleend vastgesteld meerjarig
? 3 3,135,762 0 0 3
2015 7 0 1,050,797 1,049,859 0
2016 23 9,175,631 7,155,402 7,069,890 0
2017 31 7,533,814 7,201,999 7,177,109 1
2018 21 7,931,094 7,445,972 7,426,160 0
2019 17 8,310,893 7,905,189 7,883,297 0
2020 18 11,918,123 10,649,538 9,979,897 0
2021 13 8,990,123 8,611,314 8,607,969 0
2022 14 10,647,167 9,519,073 8,716,111 0
2023 23 12,789,183 12,058,279 9,902,974 0
2024 16 21,848,584 16,309,321 15,599,644 0
2025 29 47,413,361 40,272,166 1,594,557 8
2026 27 20,905,997 15,888,378 0 1
2027 13 21,748,985 0 0 0
Bedragen in euro. 'Vastgesteld' komt pas na afloop; voor recente jaren is het nog leeg of laag.
The sources3

Amsterdam grants registerIn depth
Every grant awarded by the City of Amsterdam: to whom, under which scheme, and how much was requested, granted and finally settled.

Chamber of Commerce business register
Who is behind a company or foundation? Searching the website is free; the API needs a key and charges per request.
Open Council Information
Agendas, motions, proposals and minutes from hundreds of municipalities in one searchable index, with an open search API.
How the sources fit together
- Amsterdam grants registerChamber of Commerce business registervia
naam → KvK-nummerWith the company number you find directors, addresses and linked companies.
- Amsterdam grants registerOpen Council Informationvia
naam organisatieSearch the name in council papers around the year of the award.
- Chamber of Commerce business registerAmsterdam grants registervia
naam → KvK-nummerConvert names from grant registers to company numbers; only then can you merge registers reliably.
- Open Council InformationAmsterdam grants registervia
naam organisatieSearch the name in council papers around the decision date.
More examples with this data
Also in the indexes
Datasets from data.overheid.nl, the National Georegister, CBS, Eurostat and city portals that fit this question.
- Data Spiritualiteit en Maatschappelijke Vernieuwing, interview met Dette Glashouwer (over geld; initiatief Money Money Money)DANS Data Station Social Sciences and Humanities
- Repertorium van Nederlandse gemeenten vanaf 1812 waaraan toegevoegd de Amsterdamse codeDANS Data Station Social Sciences and Humanities
- Inventariserend Veldonderzoek door middel van grondboringen (verkennende fase) Transportriool 57.015 MAA/Schimmert - RWZI Limmel, Gemeente Meerssen, Gemeente Nuth, Gemeente Beek en Gemeente Valkenburg aan de GeulDANS Data Station Archaeology
- Onderzoeksgebied Gemeent 21 te Delwijnen, gemeente Zaltbommel; archeologisch vooronderzoek: proefsleuven Onderzoeksgebied Gemeent 21 te Delwijnen, gemeente Zaltbommel; archeologisch vooronderzoek: proefsleuvenDANS Data Station Archaeology
- Onderzoeksgebied Gemeent 21 te Delwijnen, gemeente Zaltbommel; archeologisch vooronderzoek: proefsleuven Onderzoeksgebied Gemeent 21 te Delwijnen, gemeente Zaltbommel; archeologisch vooronderzoek: proefsleuvenDANS Data Station Archaeology
- Plangebied Smallertse Beek te Emst, gemeente Epe. Plangebied Nijmolense Beek te Vaassen, gemeente Epe. Plangebied Tongerense Veen te Epe, gemeente Epe. Plangebied Pollense Veen te Emst, gemeente Epe.DANS Data Station Archaeology
- Inventariserend veldonderzoek - karterende fase Ringlaan 54 te Nieuw Amsterdam, gemeente Emmen (DR) Inventariserend veldonderzoek - karterende fase Ringlaan 54 te Nieuw Amsterdam, gemeente Emmen (DR)DANS Data Station Archaeology
- Archeologisch bureauonderzoek aan de Spuistraat 3d/Nieuwezijds Voorburgwal 22 te Amsterdam, gemeente AmsterdamDANS Data Station Archaeology
- Bureauonderzoek en Inventariserend veldonderzoek - verkennende fase Ringlaan 54 te Nieuw Amsterdam, gemeente Emmen (DR) Bureauonderzoek en Inventariserend veldonderzoek - verkennende fase Ringlaan 54 te Nieuw Amsterdam, gemeente Emmen (DR)DANS Data Station Archaeology
- Archeologisch vooronderzoek ten behoeve van de herinrichting van N200 tussen Halfweg en Amsterdam, gemeente Amsterdam. Ruimtelijk advies op basis van bureauonderzoekDANS Data Station Archaeology
Other worked-out questions
- Is there more nuisance in my neighbourhood than last year?3 sources
- How much warmer has it become?2 sources
- How clean is the air on my street?3 sources
- What does my area look like from space?3 sources
- Did house prices rise faster here than elsewhere in Europe?2 sources
- How many cars in my municipality are electric?2 sources