3D maps where every roof is the real roof.

Tilt the map and the city stands up: measured building models, not footprints stretched to a guessed height. On by default at street zoom, on top of 3D terrain, in the same session. The map is touring by itself; drag it to take over.

Where it lands in your product.

Nobody ships a building model. They ship a listing where the buyer sees the actual house from the street, a planning tool where the new block stands among the old ones, a city map that looks like the city. This is what 3D looks like from the outside.

The same map, with height.

Footprints become buildings with measured roofs: a tower is a tower, a warehouse is a warehouse, a terrace has its pitched roof. Nothing guessed from a floor count, nothing extruded to an average.

The aerial under the roofs
Amsterdam canal houses in 3D, each gable a different heightAmsterdam
Utrecht's old town in 3D with the Dom tower rising over itUtrecht
A Den Haag neighbourhood in 3D, every terrace with its own roofDen Haag
© building data · © OpenStreetMap contributors

Every building, every roof.

Not landmarks only. Where the layer covers, every house, shed and church carries its real roof shape, so a whole neighbourhood reads at a glance.

The basemap underneath

One map session, the roofs switched on

  1. Streets map opensno extra unit
1unit, 3D buildings included

same session as Streets
same monthly pool

3D buildings cost nothing extra.

The building tiles are signed into the same map session as the basemap. Tilt, orbit, switch them off and on: still one unit. They also sit on top of 3D terrain.

See what a month costs
city.ts
import { Map } from '@rijwind/sdk';

const map = new Map({
  container: 'map',
  center: [4.485, 51.909], zoom: 16, pitch: 60,
}); // buildings are on by default

map.setBuildings({ color: '#334155' }); // or false, for a flat map

On by default, one call to tune.

The SDK loads the renderer only when a map reaches a covered city at street zoom, so flat maps stay light. Recolour the buildings to your palette or switch them off with one call.

Read the 3D buildings guide

The buildings are in the session already.

Opening any map issues one short-lived session, and it signs the building tilesets alongside the basemap, terrain and imagery. Tilt at street zoom and the models stream in: same session, same unit.

How sessions work, in the docs ↗
one map session
  1. {
  2. "url": "https://cdn.rijwind.com/tiles/planet.pmtiles?token=…&expires=1789039007",// the worldwide vector basemap, signed for this session; every Streets variant draws from it
  3. "terrainUrl": "https://cdn.rijwind.com/tiles/terrain.pmtiles?token=…&expires=1789039007",// elevation for hillshade, contours and 3D, in the same session at no extra unit
  4. "satelliteUrl": "https://cdn.rijwind.com/tiles/satellite.pmtiles?token=…&expires=1789039007",// imagery, plus sibling archives for ocean, base and the high-resolution aerial layers
  5. "satelliteNlUrl": "…", "satelliteBaseUrl": "…", "satelliteOceanUrl": "…", "satelliteBesUrl": "…",
  6. "buildings": { "countries": ["NL"], "baseUrl": "https://cdn.rijwind.com/buildings", … },// real 3D building models, per covered country, growing
  7. "expiresAt": 1789039007// minutes away on purpose; the SDK fetches the next one before it lapses, still the same session, still one unit
  8. }

The short version.

Everything a developer scans a product page for, in one place, without the adjectives.

Map session3D buildings, terrain, imagery in one map: still one.
1 unit
3D buildingsSigned into the same session as the basemap.
no extra unit
ModelsReal roof shapes and heights, not extruded footprints.
measured roofs
CoverageWhole regions at once, growing region by region.
every building, where covered
Shown fromRenderer loads lazily; flat maps stay light.
zoom 14, tilted
With 3D terrainBuildings sit on the terrain surface.
yes
ColourOne colour per map, set with one call.
yours
Textures, facades, interiorsA massing model of the city, not a photoreal one.
no
Free tierHard cap. No card, no sales call.
10,000 units / month
Paid plansOne unit pool across maps, geocoding and routing, plus a spending cap you set.
from €5 / month
ServingEuropean CDN for tiles and models, EU-issued sessions. DPA and sub-processor list published.
EU, end to end

Numbers as of September 2026. The pricing page has the full ladder.

3D, answered.

What is the 3D map?

The Streets basemap with real building models on it. Tilt the camera at street zoom and every building stands up with its measured roof shape: towers, gables, saddle roofs, flat warehouses, all as they are. It is a layer on the same session as every other map, not a separate product.

How is this different from extruded footprints?

Most map 3D is a footprint pulled up to a guessed height, often from a floor count, with a flat top. These are measured models: the roof has its actual pitch and ridge, a church has its spire, and a tower is as tall as it really is. The difference is obvious the moment you tilt over a historic centre.

What is it for?

Real estate and property, where the building is the product; urban planning and architecture; solar and roof assessment; navigation and delivery, where a recognisable skyline helps; tourism and city marketing; and any dashboard that wants a city to look like a city.

How is it priced?

Like everything on the map: one unit per map session. The building tiles are signed into the same session as the basemap, so tilting into 3D, orbiting and switching the buildings off and on add nothing. Ten thousand sessions a month are free; paid plans start at five euros.

Where does it cover?

Where we carry measured building data, every building in that area is included, not just landmarks. The map falls back to the flat basemap elsewhere, and the layer is growing region by region.

Does it slow the map down?

The rendering module loads only when a map reaches a covered area at street zoom, so a map that never gets there downloads nothing extra. Models stream at a level of detail that follows the camera, so a whole skyline renders at a distance and single roofs sharpen as you approach.

Where is it weakest?

Buildings are untextured, one colour you can set, with no facades, windows or interiors. There is no floor or address data on the models themselves, no trees, and no bridges or other structures. It is a very good massing model of a city, not a photoreal one.

Does it work with terrain?

Yes. With 3D terrain on, the buildings sit on the terrain surface instead of floating or sinking, so a town on a hill looks like a town on a hill.

Is there a free tier?

Yes. The free plan includes 10,000 units a month with no card and no sales call, which is 10,000 map sessions if that is all you spend them on. It is a hard cap, so a traffic spike cannot produce a bill.

Where are my visitors' requests served from?

The building tiles, like the basemap, come from a European CDN, and the session is issued from the European Union, end to end. No part of the path touches a US-controlled provider. We publish a DPA and a full sub-processor list.

Make the city stand up.

Ten thousand sessions a month, free. The same key covers search, routing and static images when you get to them.

new Map({ pitch: 60 })Get an API key
No credit card. No sales call. A spending cap you set yourself.Read the 3D buildings guide