Copernicus Sentinel-2
The Sentinel-2 satellites image the whole of the Netherlands every few days, in thirteen spectral bands. Detail: 10 metres per pixel.
Amsterdam at 10 metres per pixel
Cloud-free mosaic of 2016 Sentinel-2 images. The canal ring, the IJ and Vondelpark are recognisable, individual cars are not. The newest image over Amsterdam is from 13 October 2026.
What can you do with it?3 ideas
Before and after
Find two cloud-free images of the same place, years apart. New housing, deforestation and sand nourishment stand out.
How green is your neighbourhood?
Compute NDVI from the red and near-infrared bands (B4 and B8) and average per neighbourhood.
Seeing drought
Track pasture NDVI through the summer and compare a dry year with a wet one.
How to process it4 steps
Search the catalogue
Use STAC with a bounding box, a period and a maximum cloud cover.
Fetch only what you need
Images are Cloud Optimized GeoTIFFs: you can read one band and one window without downloading the whole tile.
Choose the right bands
True colour: B4, B3, B2. Vegetation: B8 and B4. Water: B3 and B8.
Mask the clouds
The scene classification (SCL) says per pixel whether it's cloud, shadow, water or land.
Interesting combinations
Similar sources
NASA GIBS and WorldviewCoarser, but daily and as a ready-made image.
- SSatellietdataportaal (NSO) not in the index yet
Commercial imagery down to 30 cm, free for Dutch users.
- LP
What to watch out for
- Clouds
Many images over the Netherlands are (partly) cloudy. Filter by cloud cover or use a mosaic.
- Large files
One tile covers 110 by 110 km and is hundreds of megabytes. Request only the area and bands you need.
- Account needed to download
Searching the catalogue (STAC) works without an account; downloading via the Copernicus Data Space requires a free account.
- Mind the licence of mosaics
Raw Copernicus data is free. EOX mosaics after 2016 are for non-commercial use only.
APISTAC 1.1.0 · read 15 Oct 2026
Searching is anonymous. The files themselves require s3 (s3) or oidc (openIdConnect) (stated in the collection). from the description
GeoJSON (zoekresultaten)JPEG 2000XML
Base URL
https://stac.dataspace.copernicus.eu/v1
Endpoints 3
- GET
/collections/sentinel-2-l2a/itemsscenes in this collection, with bbox, datetime, limit - GET/POST
/searchsearch across collections, with filter (CQL2), sortby and fields - GET
/collections/sentinel-2-l2a/queryablesfilterable fields
Filtering from the description
CQL2 (text or JSON) on the queryables
Parameters 6
bbox | lon/lat box: west,south,east,north | platform |
datetime | date or period, e.g. 2026-06-01/2026-08-31 | platform |
limit | per page; next via link rel=next | platform |
sortby | sorting, e.g. -datetime (newest first) | from the description |
filter | CQL2 filter on the queryables, e.g. eo:cloud_cover < 10 | from the description |
fields | return only these fields | from the description |
Bands 12
| Name | Type | Meaning |
|---|---|---|
B01coastal | 60 m | Coastal aerosol (band 1) |
B02blue | 10 m | Blue (band 2) |
B03green | 10 m | Green (band 3) |
B04red | 10 m | Red (band 4) |
B05rededge071 | 20 m | Red edge 1 (band 5) |
B06rededge075 | 20 m | Red edge 2 (band 6) |
B07rededge078 | 20 m | Red edge 3 (band 7) |
B08nir | 10 m | NIR 1 (band 8) |
B8Anir08 | 20 m | NIR 2 (band 8A) |
B09nir09 | 60 m | NIR 3 (band 9) |
B11swir16 | 20 m | SWIR 1 (band 11) |
B12swir22 | 20 m | SWIR 2 (band 12) |
Limits and pitfalls
- You can search without an account, including on cloud cover (eo:cloud_cover). Downloading the bands needs a free account. experience
Try it HTTP 200 · 1,395 ms · 15 Oct
https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a/items?bbox=4.7,52.2,5.1,52.5&sortby=-datetime&limit=1&fields=id,properties.datetime,properties.eo:cloud_cover
{
"type": "FeatureCollection",
"links": [
{
"rel": "collection",
"type": "application/json",
"href": "https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a"
},
{
"rel": "parent",
"type": "application/json",
"href": "https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a"
}
],
"features": [
{
"properties": {
"datetime": "2026-10-13T10:40:01.025000Z",
"eo:cloud_cover": 99.41
},
"id": "S2C_MSIL2A_20261013T104001_N0513_R008_T31UFU_20261013T135612",
"links": [
{
"rel": "collection",
"type": "application/json",
"href": "https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a"
},
{
"rel": "parent",
"type": "application/json",
"href": "https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a"
}
]
}
],
"numberReturned": 1
}Shortened response, saved at harvest time. Click the URL for the real, current response.
Read from collection: bands, coverage, licence, access · fields you can filter on · what the search API supports (conformsTo). 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 bronwijzer.
How to fetch it
curl "https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a/items?bbox=4.7,52.2,5.1,52.5&sortby=-datetime&limit=1"
Used by
- Copernicus BrowserSearch and view images in the browser
- SatellietdataportaalSatellite images of the Netherlands, by the Netherlands Space Office
- Sentinel-2 cloudlessCloud-free annual mosaics by EOX
Questions this source helps answer
More in this topic
See how this page is built
bron: copernicus-sentinel2
blokken:
- type: beeld
data: null
secties:
- ideeen
- verwerken
- koppelingen
- vergelijkbaar
- beperkingen
- code
- gebruiktDoor
cache:
tag: bron:copernicus-sentinel2
ververs: na statuscheck, als de bron nieuwer is
statuscheck:
methode: "STAC: nieuwste opname boven Amsterdam"
verwacht: dagelijks
Source: content/bronnen/copernicus-sentinel2.yaml · Markdown




