MapTiler's Flex plan is $30 a month and includes 25,000 sessions and 500,000 tile requests. Which unit applies depends on the library you use, so both are shown. List prices, November 2026.
| Monthly volume | MapTiler | ExpressMaps |
|---|---|---|
| Free tier | 5,000 sessions and 100,000 requests, MapTiler logo required, no card | 100,000 loads, no logo, no card |
| 100,000 views | $217.50 by session (MapTiler SDK), or $30 by request (MapLibre) | Free |
| 250,000 views | $592.50 by session, or $105 by request | $29 |
| 1,000,000 views | $2,467.50 by session, or $555 by request | $99 |
| 5,000,000 views | $12,467.50 by session, or $2,955 by request (Custom plan likely cheaper) | $399 |
Session overage is $2.50 per 1,000; request overage is $0.15 per 1,000. The request figures assume MapTiler's own estimate of 4 vector tile requests per map view, which covers the first screen only; a user who pans and zooms generates many more. MapTiler Custom plans are not published. ExpressMaps plans: Free 100,000 loads; Essential $29 for 250,000; Business $99 for 1,000,000; Enterprise $399 for 5,000,000, then $0.05 per 1,000. One map load is one map initialisation; tiles, panning and zooming are not metered. Prices checked 12 November 2026 and may have changed; see the cost calculator for your own numbers.
A MapTiler session starts when a page with a map opens and includes unlimited tiles for up to 6 hours, but only when you use the MapTiler SDK or its Leaflet plugin. Use MapLibre, OpenLayers or plain Leaflet instead and you are billed per tile request: one per vector tile, four per 512-pixel raster tile. That is cheap for a static first view and expensive for a map people explore.
ExpressMaps counts one map load per map initialisation whatever library you use, and never counts tiles. A visitor who zooms around a city for ten minutes costs the same as one who glances at the map, and the monthly plan is a flat figure you can budget for.
MapTiler is the broader platform. ExpressMaps is the simpler, cheaper choice when what you need is a good-looking base map with predictable billing.
Change the style URL and drop the MapTiler SDK in favour of plain MapLibre if you were using it:
<!-- before (MapTiler SDK) -->
maptilersdk.config.apiKey = 'YOUR_MAPTILER_KEY';
var map = new maptilersdk.Map({ container: 'map', style: maptilersdk.MapStyle.STREETS, center: [-0.1276, 51.5072], zoom: 12 });
<!-- after (MapLibre GL JS) -->
<script src="https://unpkg.com/maplibre-gl@4.7.1/dist/maplibre-gl.js"></script>
var map = new maplibregl.Map({ container: 'map', style: 'https://tiles.expressmaps.com/styles/standard.json?key=YOUR_API_KEY', center: [-0.1276, 51.5072], zoom: 12 });
The embed generator writes this for any of our ten styles, and the docs cover Leaflet, OpenLayers and React.
No. OpenStreetMap attribution is required by the data licence and is included in the style; there is no ExpressMaps logo requirement on any plan.
Both pause the free plan until the next month. On ExpressMaps you get an email first, and starting a paid plan re-enables the maps immediately; paid plans also have a 30-day grace period and roll unused loads forward.
Both services rebuild from OpenStreetMap. MapTiler updates its planet tiles weekly; ours are rebuilt on a slower schedule, which suits store locators and contact maps more than mapping new construction. Ask us if you need a specific region refreshed.