303,489 datasets indexed1,419 publishers
Open Data IndexThe index of open data about the Netherlands
Open Data Index›Worked-out question
Worked out · 3 sources · 3 steps

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).

Source: Gemeente Amsterdam, Subsidieregister (DSO-API) · opgehaald 25 oktober 2026 · selection: subsidiejaar 2024; bedragVerleendOpen the table Single block

Step by step

  1. 1

    Search the foundation's name in the grants register.

  2. 2

    Check the business register to confirm it is the same legal entity; the register has no company number.

  3. 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.")
Output
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

Gemeente AmsterdamAmsterdam, grant file

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

OpenAPIDownloadFinance
Up to date
updated 15 hours ago

Chamber of Commerce business register

Kamer van KoophandelNetherlands, company

Who is behind a company or foundation? Searching the website is free; the API needs a key and charges per request.

PaidAPIEconomy
Reachable
daily

Open Council Information

Open State Foundation en VNGNetherlands, municipality

Agendas, motions, proposals and minutes from hundreds of municipalities in one searchable index, with an open search API.

OpenSearch serviceAPIGovernment
Reachable
daily

How the sources fit together

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.

Other worked-out questions