303,525 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

What does my area look like from space?

Satellite images of your own area are free; clouds are the problem. Over Utrecht, Sentinel-2 took 33 images between 16 August and 15 October 2026, and only one of them had less than 20% cloud cover (25 September). Searching and fetching a small preview works without an account; the sharp 10-metre images do not. NASA GIBS serves ready-made images without an account, at night too, but there a pixel is hundreds of metres.

The Netherlands on an almost cloudless 12 April 2025, seen by NASA's VIIRS camera

True colour from NASA's GIBS map service, layer VIIRS_SNPP_CorrectedReflectance_TrueColor. You can see the Wadden Islands, the IJsselmeer and the Flevoland polders, the Zeeland delta and the light patches of the cities. The straight seam on the right is the edge between two overpasses. One pixel is hundreds of metres here: enough for the country, too coarse for your street.

Source: NASA GIBS (WMS), VIIRS true colour · opgehaald 18 oktober 2026Open the table Single block

Step by step

  1. 1

    For detail (10 m): find a cloud-free Sentinel-2 image.

  2. 2

    For the big daily picture, or at night: NASA GIBS.

  3. 3

    To know what is green or built-up: ESA WorldCover.

Join on coördinaten + datum

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 and Pillow) that finds the clearest Sentinel-2 images of the past 60 days over my address and puts the previews side by side in an HTML page.

Searching works without an account via STAC (CORS is open):
https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a/items?bbox=5.1214,52.0907,5.1214,52.0907&datetime=2026-08-16T00:00:00Z/2026-10-15T23:59:59Z&limit=100

What you need to know:
- properties.eo:cloud_cover is the cloud cover of the whole 100 by 100 km tile (properties.grid:code), not of my street. Sort on it, but let me look at the best three myself.
- assets.thumbnail.href is a small preview (jpg, about 343 pixels wide) you can download without an account.
- The real images (assets.TCI_10m and the separate bands) are on s3://eodata and need a free Copernicus Data Space account. Read credentials from environment variables, never from the code.
- There is no total count; paginate with the rel=next link. On HTTP 429, wait and retry.
- A black edge in an image is the edge of the satellite's swath, not data.

For the big picture without an account: NASA GIBS (WMS), for example the whole of the Netherlands on 12 April 2025:
https://gibs.earthdata.nasa.gov/wms/epsg3857/best/wms.cgi?SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&LAYERS=VIIRS_SNPP_CorrectedReflectance_TrueColor&STYLES=&CRS=EPSG:3857&BBOX=367354,6568398,812632,7094762&WIDTH=760&HEIGHT=900&FORMAT=image/jpeg&TIME=2025-04-12
At night: LAYERS=VIIRS_Black_Marble&TIME=2016-01-01.

Output: a list with date, satellite, tile and cloud cover, an HTML page with the previews of the five least cloudy images, and (if credentials are set) a 2 by 2 km true-colour crop as PNG.

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.

# Hoe ziet mijn omgeving eruit vanuit de ruimte? Zoek de Sentinel-2-opnamen van de afgelopen 60 dagen boven je
# eigen plek, sorteer op bewolking en sla het voorbeeldbeeld van de helderste op.
# Bron: Copernicus Data Space (STAC). Zoeken en voorbeeldbeelden kan zonder account; de volle 10 m-banden niet.
import requests
from datetime import datetime, timedelta, timezone

UA = {"User-Agent": "opendataindex-voorbeeld/0.2 (+https://opendataindex.nl)"}
LON, LAT = 5.1214, 52.0907   # Domtoren, Utrecht; zet hier je eigen plek
nu = datetime.now(timezone.utc)
tijd = f"{(nu - timedelta(days=60)):%Y-%m-%dT00:00:00Z}/{nu:%Y-%m-%dT%H:%M:%SZ}"

r = requests.get("https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a/items", headers=UA, timeout=60,
                 params={"bbox": f"{LON},{LAT},{LON},{LAT}", "datetime": tijd, "limit": 100})
r.raise_for_status()   # 429 = te veel verzoeken kort na elkaar: wacht even
opnamen = r.json()["features"]

# eo:cloud_cover geldt voor de hele tegel van 100 x 100 km, niet voor jouw straat: kijk dus altijd zelf.
opnamen.sort(key=lambda f: f["properties"]["eo:cloud_cover"])
print(f"{len(opnamen)} Sentinel-2-opnamen boven {LAT}, {LON} sinds {tijd[:10]}\n")
print("Minst bewolkt:")
for f in opnamen[:5]:
    p = f["properties"]
    print(f"  {p['datetime'][:16].replace('T', ' ')} UTC  {p['platform']:12} tegel {p['grid:code']:10} bewolking {p['eo:cloud_cover']:5.1f}%")
helder = sum(f["properties"]["eo:cloud_cover"] < 20 for f in opnamen)
print(f"\nOpnamen met minder dan 20% bewolking: {helder} van {len(opnamen)}")

beste = opnamen[0]
beeld = requests.get(beste["assets"]["thumbnail"]["href"], headers=UA, timeout=60)
with open("sentinel2-voorbeeld.jpg", "wb") as uit:
    uit.write(beeld.content)
print(f"Voorbeeldbeeld van {beste['id'][:24]}… opgeslagen: sentinel2-voorbeeld.jpg ({len(beeld.content) // 1024} kB)")
Output
33 Sentinel-2-opnamen boven 52.0907, 5.1214 sinds 2026-08-16

Minst bewolkt:
  2026-09-25 10:40 UTC  sentinel-2a  tegel MGRS-31UFT bewolking   3.5%
  2026-08-24 10:36 UTC  sentinel-2c  tegel MGRS-31UFT bewolking  24.8%
  2026-09-15 10:37 UTC  sentinel-2a  tegel MGRS-31UFT bewolking  25.2%
  2026-08-26 10:37 UTC  sentinel-2a  tegel MGRS-31UFT bewolking  29.5%
  2026-10-08 10:50 UTC  sentinel-2a  tegel MGRS-31UFT bewolking  29.7%

Opnamen met minder dan 20% bewolking: 1 van 33
Voorbeeldbeeld van S2A_MSIL2A_20260925T1040… opgeslagen: sentinel2-voorbeeld.jpg (23 kB)

The sources3

Copernicus Sentinel-2In depth

ESA en Europese CommissieWorld, 10 metres

The Sentinel-2 satellites image the whole of the Netherlands every few days, in thirteen spectral bands. Detail: 10 metres per pixel.

Satellite imageAPIEarth observationClimate and environmentHousing and land
Up to date
updated yesterday

NASA GIBS and WorldviewIn depth

NASAWorld, 250 – 750 metres

Over a thousand map layers from NASA satellites, ready to use as images: from the daily true-colour view to night lights, fires and snow.

OpenSatellite imageMap layerEarth observationClimate and environment
Up to date
updated 15 hours ago

ESA WorldCover

ESAWorld, 10 metres

A map of the whole earth in eleven land cover classes (forest, cropland, built-up, water …), based on Sentinel-1 and -2. Two editions, no new ones planned.

OpenMap layerDownloadEarth observationHousing and land
Reachable
complete

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