# Bomenregister Amsterdam

Alle bomen die de gemeente Amsterdam beheert, elk met een stip op de kaart: soort, hoogteklasse, plantjaar, standplaats en of het een monumentale boom is. Op 15 oktober 2026 stonden er 326.279 in, waaronder 42.008 iepen.

- Uitgever: Gemeente Amsterdam
- Gebied: Amsterdam · Laagste detail: boom
- Periode: actuele stand · Ververst: dagelijks
- Toegang: Open · Licentie: Openbaar (geen standaardlicentie)
- Koppelsleutels: boom-id, buurt, coördinaten
- Status: ok (2026-10-15) · 326.324 bomen
- URL: https://api.data.amsterdam.nl/v1/docs/datasets/bomen.html

## Wat kun je ermee?
- **Welke bomen staan er in jouw straat?.** Zoek alle bomen binnen 250 meter van een punt, met soort, hoogte en plantjaar. In het Vondelpark staat zo een eik uit 1822.
- **De stad van de iep.** Tel per soort. Er staan 42.008 iepen, 28.493 esdoorns en 28.370 linden in het register. Maak er een kaart per buurt van.
- **Hoe oud is het groen per buurt?.** Bereken het mediane plantjaar per buurt. Laat bomen met plantjaar 0 of leeg weg, dat is ruim 41.000 keer.
- **Gekapt en herplant.** De tabel kapenherplant in dezelfde dataset (36.503 regels) volgt kap en herplant per boom. Koppel via boomId aan de stamgegevens.

## Zo verwerk je het
1. **Zoek rond een punt.** Met geometrie[within]=breedte,lengte,meters krijg je alle bomen in een straal. Zonder Accept-Crs herkent de API aan de waarden of het graden of RD-coördinaten zijn.
   `https://api.data.amsterdam.nl/v1/bomen/stamgegevens/?geometrie[within]=52.3580,4.8686,250&jaarVanAanleg[gt]=0&_fields=id,soortnaamTop,jaarVanAanleg,boomhoogteklasseActueel&_sort=jaarVanAanleg&_pageSize=3&_format=json`
2. **Alles als CSV.** Kies alleen de velden die je nodig hebt; dan is het hele register een handzaam bestand. Er is geen ZIP-export voor bomen.
   `https://api.data.amsterdam.nl/v1/bomen/stamgegevens/?_format=csv&_fields=id,soortnaamTop,soortnaamKort,jaarVanAanleg,boomhoogteklasseActueel,stamdiameterklasse,gbdBuurtId`
3. **Monumentale bomen op de kaart.** GeoJSON komt standaard in graden (WGS84), klaar voor een webkaart. 4.146 bomen hebben de status 'Monumentale boom'.
   `https://api.data.amsterdam.nl/v1/bomen/stamgegevens/?beschermingsstatus=Monumentale%20boom&_format=geojson&_fields=id,soortnaamTop,jaarVanAanleg`
4. **Koppel buurten aan CBS.** gbdBuurtId verwijst naar de dataset gebieden. Daar staat per buurt de CBS-code (cbsCode), bv. BU0363KG03.
   `https://api.data.amsterdam.nl/v1/gebieden/buurten/?_fields=identificatie,naam,cbsCode&_format=csv&_pageSize=1000`

## Interessante koppelingen
- Bomen per inwoner → [cbs-kwb](https://www.opendataindex.nl/bron/cbs-kwb.md) via buurtcode (gebieden → cbsCode). Tel bomen per buurt en deel door het aantal inwoners of de oppervlakte uit de CBS-buurtcijfers.
- Hoeveel groen zie je van boven? → [copernicus-sentinel2](https://www.opendataindex.nl/bron/copernicus-sentinel2.md) via coördinaten. Leg de bomen over een NDVI-kaart uit Sentinel-2. Buurten met veel bomen maar weinig groen kunnen jonge aanplant hebben.

## Vergelijkbare bronnen
- [Bomen van andere gemeenten](https://data.overheid.nl/datasets?search=bomen): Utrecht, Rotterdam, Eindhoven, Groningen, Nijmegen en Breda publiceren ook een bomenbestand, elk met eigen velden.
- [esa-worldcover](https://www.opendataindex.nl/bron/esa-worldcover.md): Boombedekking uit satellietbeelden, overal op aarde, maar geen losse bomen of soorten.
- [copernicus-sentinel2](https://www.opendataindex.nl/bron/copernicus-sentinel2.md): Laat zien hoe groen een plek is, ook in tuinen en parken die niet in het register staan.

## Waar je op moet letten
- **Alleen bomen van de gemeente.** Volgens de gemeente staan er in Amsterdam ongeveer een miljoen bomen, waarvan ze er zo'n 300.000 beheert. Bomen in tuinen ontbreken.
- **Plantjaar soms onbekend.** 20.829 bomen hebben plantjaar 0 en 20.758 hebben geen plantjaar. Filter met jaarVanAanleg[gt]=0.
- **Stamdiameter vaak leeg.** Bij 231.865 bomen is de stamdiameterklasse leeg. De hoogteklasse is vaker ingevuld (leeg bij 45.769).
- **Straatnaam en conditie zijn afgeschermd.** Velden als straatnaam, conditiescore en snoeifrequentie zijn alleen voor medewerkers. Filteren op de straatnaam geeft een 403; zoek daarom op coördinaten of buurt.
- **API-sleutel wordt verplicht.** Amsterdam gaat een API-sleutel verplicht stellen. Op 15 oktober 2026 was die nog optioneel; vraag hem gratis aan als je de API vaak gebruikt.

## API (OpenAPI 3.0.3)

- Basis: https://api.data.amsterdam.nl/v1/bomen
- Toegang: De beschrijving noemt oauth2 (oauth2), maar dit endpoint werkt zonder inloggen (getest). (getest)
- Formaten: JSON, CSV, GeoJSON
- Omvang: 326324 records (getest)
- Filteren: per veld als query-parameter: veld=waarde of veld[operator]=waarde; eq, in, isempty, isnull, like, not, intersects, within, gt, gte, lt, lte

### Endpoints
- `GET /gebrekregistratie`: bevat de actuele gebrekregistratie van de bomen in beheer van gemeente Amsterdam.
- `GET /gebrekregistratie/{id}`: 
- `GET /groeiplaatsboom`: Tabel met gegevens over groeiplaatsen voor bomen in de openbare ruimte, inclusief beheerstatus, locatiegegevens en boomsoorten.
- `GET /groeiplaatsboom/{id}`: 
- `GET /groeiplaatsmedebeheer`: 
- `GET /groeiplaatsmedebeheer/{id}`: 
- `GET /hoofdbomenstructuurbuffer`: deze tabel bevat de buffer van de hoofdboomstructuur (HBS). Voor bomen in de HBS geldt bij aanplant en vervanging een groeiplaatsverbetering van 25-40m3 …
- `GET /hoofdbomenstructuurbuffer/{id}`: 
- `GET /hoofdbomenstructuurlijnen`: deze tabel bevat de lijnen van de hoofdboomstructuur (HBS). Voor bomen in de HBS geldt bij aanplant en vervanging een groeiplaatsverbetering van 25-40m3 …
- `GET /hoofdbomenstructuurlijnen/{id}`: 
- `GET /kapenherplant`: Tabel met gegevens over het kappen en herplanten van bomen in de openbare ruimte, conform Handboek Bomen 2022 en IMBOR. Omvat het volledige proces van …
- `GET /kapenherplant/{id}`: 
- `GET /maatregelregistratie`: bevat de actuele maatregelregistratie van de bomen in beheer van gemeente Amsterdam.
- `GET /maatregelregistratie/{id}`: 
- `GET /ntometing`: Bij een Nader Technisch Onderzoek (NTO meting) wordt aan de hand van metingen bepaald of er sprake is van een verzwakking die gevolgen heeft voor de …
- `GET /ntometing/{id}`: 
- `GET /stamgegevens`: bevat de actuele stamgegevens van de bomen in beheer van gemeente Amsterdam. In Amsterdam staan ongeveer 1 miljoen bomen. Deze staan in tuinen, (sport)parken, …
- `GET /stamgegevens/{id}`: 
- `GET /stormmeldingen`: Tijdens een storm kan schade ontstaan aan (of door) bomen. Deze tabel bevat storm meldingen met betrekking tot de bomen in beheer van gemeente Amsterdam. …
- `GET /stormmeldingen/{id}`: 
- `GET /veiligheidsinspecties`: bevat de veiligheidsinspecties van de bomen in beheer van gemeente Amsterdam. Elke rij in de dataset is 1 inspectie van 1 boom.
- `GET /veiligheidsinspecties/{id}`: 
- `GET /vergunningsplichtigesnoei`: deze tabel bevat data over vergunningsplichtige snoei.Voor het kappen, rooien, verplanten of vormsnoei van een vergunningplichtige boom of andersoortige …
- `GET /vergunningsplichtigesnoei/{id}`: 

### Parameters
- `_count`: Include a count of the total result set and the number of pages.Only works for responses that return a page. (uit de beschrijving)
- `_csv_header`: Specify type of header for csv file (id, title, none) (uit de beschrijving)
- `_csv_separator`: Specify type of separator for csv file (,, ;) (uit de beschrijving)
- `_expand`: Allow to expand relations. (uit de beschrijving)
- `_expandScope`: Comma separated list of named relations to expand. (uit de beschrijving)
- `_fields`: Comma-separated list of fields to display (uit de beschrijving)
- `_format`: Select the export format (json, csv, geojson) (uit de beschrijving)
- `_pageSize`: Number of results to return per page. (uit de beschrijving)
- `_sort`: Which field to use when ordering the results. (uit de beschrijving)

### Velden (43)
`id` integer/int64, `gbdBuurtId` string, `geometrie` , `actueleOpkroonhoogte` string, `typeBeheerder` string, `typeBeheerderPlus` string, `beheergebied` string, `beoogdeOpkroonhoogte` string, `boombeeld` string, `boomhoogteklasseActueel` string, `conditiescore` string, `controlefrequentie` string, `conversieid` string, `typeEigenaar` string, `typeEigenaarPlus` string, `bgttype` string, `gemeente` string, `guid` string, `idOudebeheerindeling` string, `idGeovisia` string, `jaarVanAanleg` integer/int64, `jaarVolgendeInspectie` integer/int64, `omgevingsrisicoklasse` string, `openbareRuimte` string, `snoeifase` string, `snoeifrequentie` string, `soortnaam` string, `stamdiameterklasse` string, `standplaats` string, `standplaatsGedetailleerd` string, `takvrijeStam` string, `typeObject` string, `typeSoortnaam` string, `vrijeDoorrijhoogte` string, `vrijeDoorrijhoogtePrimair` string, `vrijeDoorrijhoogteSecundair` string, `groeiplaatsBoomId` integer/int64, `beschermingsstatusGedetailleerd` string, `beschermingsstatus` string, `geldigVanaf` string, `mutatieDatum` string/date-time, `soortnaamKort` string, `soortnaamTop` string

### Limieten en valkuilen
- _pageSize=5000 werkte (1,3 MB met twee velden, 0,7 s). De OpenAPI-beschrijving van de hele dataset is 1,5 MB (12 tabellen). (getest)
- geometrie[within]=breedte,lengte,straal in meters. Zonder Accept-Crs raadt de API aan de waarden of het graden of RD is. (uit de beschrijving)
- De tabel groeiplaatsboom geeft anoniem 403; de andere tabellen (kapenherplant, veiligheidsinspecties, gebrekregistratie …) zijn open (15 okt 2026). (getest)

### Voorbeeld
```
https://api.data.amsterdam.nl/v1/bomen/stamgegevens/?geometrie[within]=52.3580,4.8686,250&jaarVanAanleg[gt]=0&_fields=id,soortnaamTop,jaarVanAanleg,boomhoogteklasseActueel&_sort=jaarVanAanleg&_pageSize=3&_format=json
```

## Zo haal je het op

### curl
```bash
curl "https://api.data.amsterdam.nl/v1/bomen/stamgegevens/?geometrie%5Bwithin%5D=52.3580,4.8686,250&_fields=id,soortnaamTop,jaarVanAanleg,boomhoogteklasseActueel&_pageSize=20&_format=json"
```

### python
```python
import requests

url = "https://api.data.amsterdam.nl/v1/bomen/stamgegevens/"
for soort in ["Iep (Ulmus)", "Linde (Tilia)", "Esdoorn (Acer)"]:
    r = requests.get(url, params={"soortnaamTop": soort, "_count": "true",
                                  "_pageSize": 1, "_format": "json"})
    print(soort, r.headers["X-Total-Count"])
```

## Wie gebruikt het
- [Data en informatie Amsterdam](https://data.amsterdam.nl): De eigen dataportal van de gemeente


## Voorbeelden met echte cijfers (1)

Per voorbeeld de bevinding, de peildatum en de aanroep die precies deze cijfers ophaalt.

- **Bomen van de gemeente Amsterdam per soort: het meest Iep (Ulmus) (42.020 bomen), dan Esdoorn (Acer) en Linde (Tilia)** (oktober 2026). Tabel bomen/stamgegevens. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/ams-bomen-soorten)
  - `https://api.data.amsterdam.nl/v1/bomen/stamgegevens/?soortnaamTop=Eik%20(Quercus)&_pageSize=1&_count=true&_format=json`
