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

- Publisher: Copernicus, European Space Agency
- Area: World · Finest detail: 10 metres
- Period: 2015 – heden · Refreshed: daily
- Access: Account · Licence: Vrij gebruik (Copernicus)
- Join keys: tegel (MGRS), opnamedatum
- Status: ok (2026-10-13)
- URL: https://dataspace.copernicus.eu

## What can you do with it?
- **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 it
1. **Search the catalogue.** Use STAC with a bounding box, a period and a maximum cloud cover.
2. **Fetch only what you need.** Images are Cloud Optimized GeoTIFFs: you can read one band and one window without downloading the whole tile.
3. **Choose the right bands.** True colour: B4, B3, B2. Vegetation: B8 and B4. Water: B3 and B8.
4. **Mask the clouds.** The scene classification (SCL) says per pixel whether it's cloud, shadow, water or land.

## Interesting combinations
- Greenery per neighbourhood → [pdok-wijkenbuurten](http://localhost:3471/en/bron/pdok-wijkenbuurten.md) via geometrie. Clip the NDVI per neighbourhood boundary and average.
- Is it green or built-up? → [esa-worldcover](http://localhost:3471/en/bron/esa-worldcover.md) via coördinaten. WorldCover gives a ready-made classification from the same satellites.

## Similar sources
- [nasa-gibs](http://localhost:3471/en/bron/nasa-gibs.md): Coarser, but daily and as a ready-made image.
- [Satellietdataportaal (NSO)](https://www.satellietdataportaal.nl): Commercial imagery down to 30 cm, free for Dutch users.
- [Luchtfoto's PDOK](https://www.pdok.nl): Aerial photos of the whole country at 8 to 25 cm, once a year.

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

## API (STAC 1.1.0)

- Base: https://stac.dataspace.copernicus.eu/v1
- Access: Searching is anonymous. The files themselves require s3 (s3) or oidc (openIdConnect) (stated in the collection). (from the description)
- Formats: GeoJSON (zoekresultaten), JPEG 2000, XML
- Filtering: CQL2 (text or JSON) on the queryables; id, datetime, geometry, platform, grid:code, published, product:type, eo:snow_cover, eo:cloud_cover, sat:orbit_state, processing:version, sat:relative_orbit

### Endpoints
- `GET /collections/sentinel-2-l2a/items`: scenes in this collection, with bbox, datetime, limit
- `GET/POST /search`: search across collections, with filter (CQL2), sortby and fields
- `GET /collections/sentinel-2-l2a/queryables`: filterable fields

### Parameters
- `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)
`B01` 60 m, `B02` 10 m, `B03` 10 m, `B04` 10 m, `B05` 20 m, `B06` 20 m, `B07` 20 m, `B08` 10 m, `B8A` 20 m, `B09` 60 m, `B11` 20 m, `B12` 20 m

### Limits and pitfalls
- You can search without an account, including on cloud cover (eo:cloud_cover). Downloading the bands needs a free account. (experience)

### Example
```
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
```

## How to fetch it
```bash
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"
```