# Overture Maps

A new world map every month in six themes: buildings, places (shops, restaurants, amenities), roads, addresses, boundaries and base layers. Merged from OpenStreetMap and other open sources; Dutch addresses come from the BAG. Everything as GeoParquet in the cloud, no account needed.

- Publisher: Overture Maps Foundation, OpenStreetMap
- Area: World · Finest detail: building and address
- Period: alleen de laatste releases (60 dagen) · Refreshed: monthly
- Access: Open · Licence: ODbL (gebouwen, wegen, grenzen, ondergrond); CDLA Permissive 2.0 en andere (plaatsen, adressen)
- Join keys: GERS-id (vast id per object), coördinaten (WGS84)
- Status: ok (2026-09-23) · release 2026-09-23.1
- URL: https://overturemaps.org

## What can you do with it?
- **Count places per neighbourhood.** Fetch the places for a Dutch city and count cafés, supermarkets or GPs per neighbourhood. Overture has 81.5 million places worldwide (release 2026-09-23.1).
- **Look across the border with one file.** Buildings in the Netherlands, Belgium and Germany share one schema. Useful for border regions like Limburg and Twente, where each country has its own register.
- **Compare with the BAG.** Put the Overture buildings next to the BAG buildings. Where is Overture missing something, and which source did it use (OpenStreetMap, Microsoft, Google)?
- **Follow an object over time.** Every object has a stable GERS id. Match your own data to those ids once, then compare each month which buildings or places were added or removed.

## How to process it
1. **Find the latest release.** The STAC catalogue lists the releases and which is the latest (field latest). On 15 October 2026 that was 2026-09-23.1.
   `https://stac.overturemaps.org/catalog.json`
2. **Choose theme and type.** Each type has a collection with row count, columns and licence, and one item per file with the area it covers. Buildings: 2.53 billion objects in 512 files.
   `https://stac.overturemaps.org/2026-09-23.1/buildings/building/collection.json`
3. **Download only your area.** A single file is easily 600 MB. Overture's Python client fetches only a bounding box (example from the documentation, here with central Utrecht): pip install overturemaps, then the command below.
   `overturemaps download --bbox=5.11,52.08,5.13,52.10 -f geojson --type=building -o utrecht_gebouwen.geojson`
4. **Or query with SQL.** DuckDB reads the GeoParquet files straight from S3 (s3://overturemaps-us-west-2/release/<release>/theme=…/type=…/*) and filters on the bbox column, so you don't fetch everything.
   `https://docs.overturemaps.org/getting-data/duckdb/`

## Interesting combinations
- How complete is an open world map in the Netherlands? → [pdok-bag](https://www.opendataindex.nl/en/bron/pdok-bag.md) via locatie (gebouwvorm) of adres. Join buildings by location and count per municipality how many BAG buildings have an Overture match.
- Which neighbourhoods have the most amenities? → [pdok-wijkenbuurten](https://www.opendataindex.nl/en/bron/pdok-wijkenbuurten.md) via ligging binnen de buurtgrens. Count places per neighbourhood polygon and divide by the number of residents from the neighbourhood figures.

## Similar sources
- [openstreetmap](https://www.opendataindex.nl/en/bron/openstreetmap.md): The source of much Overture data, but without stable ids, a fixed schema or merging with other sources.
- [pdok-bag](https://www.opendataindex.nl/en/bron/pdok-bag.md): The official register of all Dutch addresses and buildings, with construction year and use. Netherlands only.

## What to watch out for
- **Old releases disappear.** Overture keeps a release public for at most 60 days (two monthly releases), because of GDPR. Keep what you use yourself, with the release number.
- **Licence differs per theme.** Buildings, roads, boundaries and base layers fall under the ODbL (credit OpenStreetMap). Places come from Meta, Microsoft, Foursquare and others under CDLA Permissive 2.0 or Apache 2.0. Addresses have a licence per country; Dutch ones from the BAG are CC0.
- **Large files.** The building file covering the central Netherlands (5.2 to 6.8° east, 51.4 to 52.6° north) is 633 MB with almost 5 million buildings, including some in Germany. Always filter on bbox before downloading.
- **Places are not verified.** Places come from companies such as Meta, Microsoft and Foursquare. Every place has a confidence score for how likely it is to exist, and duplicates occur. Pick a minimum score before counting.

## API (Statische STAC-catalogus (1.1.0) + GeoParquet-bestanden op S3 en Azure; PMTiles-tegels)

- Base: https://stac.overturemaps.org
- Access: No account or key. S3 and Azure are public and not 'requester pays'. (tested)
- Formats: json, geoparquet, pmtiles
- Size: 2533842612 buildings worldwide in release 2026-09-23.1 (512 files); places 81.5 mln, addresses 474 mln, road segments 352 mln (tested)
- Filtering: No search API: the STAC is static (no /search, no queryables). Pick the file via the item bbox, or filter in SQL (DuckDB) on the bbox column and on fields such as class, subtype, country.; 

### Endpoints
- `GET /catalog.json`: All releases (child links) and the newest (latest; 16 Oct 2026: 2026-09-23.1), plus the GERS registry on S3.
- `GET /{release}/catalog.json`: One release: schema version (2.0.0) and the six themes: addresses, base, buildings, divisions, places, transportation.
- `GET /{release}/{thema}/{type}/collection.json`: One type (building, building_part, place, address, segment, connector, division, division_area, division_boundary, land, land_use, land_cover, water, infrastructure, bathymetry): licence, row count, columns, items.
- `GET /{release}/{thema}/{type}/{nnnnn}/{nnnnn}.json`: Item per file: bbox it covers, num_rows, and the assets aws and azure with address and file:size.
- `GET s3://overturemaps-us-west-2/release/{release}/theme={thema}/type={type}/*.zstd.parquet`: The GeoParquet files themselves (also via https://overturemaps-us-west-2.s3.us-west-2.amazonaws.com/… and Azure overturemapswestus2). Read them with DuckDB and filter on the bbox column.
- `GET https://tiles.overturemaps.org/{release}/{thema}.pmtiles`: Vector tiles per theme as PMTiles, readable with HTTP Range (buildings 180.7 GB, places 18.4 GB).

### Parameters
- `release`: Release number YYYY-MM-DD.n (2026-08-19.0, 2026-09-23.0, 2026-09-23.1 were online on 16 Oct 2026). (tested)
- `theme / type`: Folders in the S3 paths: theme=buildings/type=building and so on. (tested)
- `bbox (kolom)`: Every row has bbox.xmin/xmax/ymin/ymax: filter on it in DuckDB so only the needed parts are read (NL roughly 3.3–7.3° E, 50.7–53.6° N). (from the description)

### Columns in the GeoParquet files (selection, schema 2.0.0) (10)
`id` tekst, `geometry` WKB, `bbox` struct, `names` struct, `sources` lijst, `height` getal, `confidence` getal, `basic_category` tekst, `street, number, postcode` tekst, `version` getal

### Limits and pitfalls
- No rate limit documented. The files are large: a buildings file is ~525 MB with ~4.9 mln rows; read with a bbox filter or HTTP Range instead of downloading everything. (tested)
- Releases stay online for at most 60 days (GDPR). A URL with a release number therefore only works for two months; always start from latest in catalog.json. (experience)
- A HEAD request on a PMTiles file returns HTTP 400; a Range request (bytes=0-126) does work (206, with the total size in Content-Range). (tested)
- The STAC collections of places and addresses only say license 'other' with a link to the attribution page; the licence differs per source (places e.g. CDLA Permissive 2.0, Apache 2.0; addresses per country). (tested)
- Items follow a global layout: one buildings file covers a large strip (central Netherlands sits in a file that also includes Germany). Check the item bbox before fetching anything. (experience)
- The S3 bucket can also be browsed: ?list-type=2&prefix=release/&delimiter=/ lists the release folders. No robots.txt on stac.overturemaps.org and tiles.overturemaps.org (404). (tested)

### Example
```
https://stac.overturemaps.org/catalog.json
```

## How to fetch it

### curl
```bash
curl "https://stac.overturemaps.org/2026-09-23.1/places/place/collection.json"
```

### python
```python
import requests

cat = requests.get("https://stac.overturemaps.org/catalog.json").json()
release = cat["latest"]
col = requests.get(f"https://stac.overturemaps.org/{release}/buildings/building/collection.json").json()
print(release, col["license"], col["table:row_count"], "gebouwen wereldwijd")
```


## Examples with real figures (1)

For each example the finding, the reference date and the call that fetches exactly these figures.

- **Objects in the Overture Maps world map by type: most buildings (2,534 million objects), then addresses and network connectors** (oktober 2026). Table 2026-10-21.0. [Example](https://www.opendataindex.nl/en/voorbeeld/overture-objecten-per-type)
  - `https://stac.overturemaps.org/2026-10-21.0/buildings/building/collection.json`
