Raster Tiles
On this page
Raster tiles are pre-rendered map images served as PNG files. They work with Leaflet, OpenLayers, and any other library that supports the standard slippy map tile format.
Use raster tiles when you need a simple setup or when your library does not support vector tiles.
Standard Map Styles
https://styles.maptoolkit.net/maptoolkit/maptoolkit.summer.json?api_key=YOUR_API_KEYhttps://styles.maptoolkit.net/maptoolkit/maptoolkit.winter.json?api_key=YOUR_API_KEYhttps://styles.maptoolkit.net/maptoolkit/maptoolkit.hiking.json?api_key=YOUR_API_KEYhttps://styles.maptoolkit.net/maptoolkit/maptoolkit.cycling.json?api_key=YOUR_API_KEYhttps://styles.maptoolkit.net/maptoolkit/maptoolkit.street.json?api_key=YOUR_API_KEYhttps://styles.maptoolkit.net/maptoolkit/maptoolkit.light.json?api_key=YOUR_API_KEYhttps://styles.maptoolkit.net/maptoolkit/maptoolkit.dark.json?api_key=YOUR_API_KEYYou can preview all styles at maptoolkit.com/map.
Tile URL
https://rtc-cdn.maptoolkit.net/rtc/{style_name}/{z}/{x}/{y}.png?api_key=YOUR_API_KEYFor high-resolution displays, use the @2x suffix:
https://rtc-cdn.maptoolkit.net/rtc/{style_name}/{z}/{x}/{y}@2x.png?api_key=YOUR_API_KEYReplace {style_name} with one of the bold style names from the Standard Map Styles list above.
Authentication
Add your API key as ?api_key=YOUR_API_KEY to every request. See Authentication for details.
Use Raster Tiles with Leaflet
const map = L.map('map').setView([47.268, 11.400], 13);
L.tileLayer(
'https://rtc-cdn.maptoolkit.net/rtc/maptoolkit-maptoolkit.summer/{z}/{x}/{y}{ratio}.png?api_key=YOUR_API_KEY',
{
ratio: L.Browser.retina ? '@2x' : '',
maxZoom: 18,
attribution: '© <a href="https://www.maptoolkit.com">Maptoolkit</a> © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}
).addTo(map);<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css" />
<style>
body { margin: 0; }
#map { height: 400px; }
</style>
</head>
<body>
<div id="map"></div>
<script src="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js"></script>
<script>
const map = L.map('map').setView([47.268, 11.400], 13);
L.tileLayer(
'https://rtc-cdn.maptoolkit.net/rtc/maptoolkit-maptoolkit.summer/{z}/{x}/{y}{ratio}.png?api_key=YOUR_API_KEY',
{
ratio: L.Browser.retina ? '@2x' : '',
maxZoom: 18,
attribution: '© <a href="https://www.maptoolkit.com">Maptoolkit</a> © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}
).addTo(map);
</script>
</body>
</html>Custom Styles
Custom map styles are available on request. Contact us for details.
Examples
Working examples for this API, each with copyable source:
Leaflet

Errors
Errors return the HTTP status code with a plain-text message in the body.
| Status | Meaning |
|---|---|
403 | The API key is missing (Access denied!) or not recognized (Api-key not found!). See First Steps. |
400 | The tile could not be rendered. |
404 | The tile does not exist. |
Known messages
| Message | Cause |
|---|---|
Tile cannot be rendered | The renderer failed to produce the tile. |
Rastertiles start at zoomlevel 1 | Zoom level 0 is not supported. |
Tile outside of zoom range <min>-<max> | The style is limited to a zoom range. Read minzoom/maxzoom from the TileJSON (/{style}.json) and set them on your tile layer. |
Tile does not exist | The tile is outside the style’s coverage area. |
Style initialization errors are forwarded as-is.
Rate limits
Limits are monthly request quotas tied to your plan rather than a per-second rate: the
service returns no RateLimit-* or Retry-After headers. Current allowances are on the
pricing page.
The free Basic plan has a hard limit, so requests are refused once it is reached. On Pro and Ultra, requests past the allowance are billed rather than refused. Enterprise plans have no request limit.
Tile requests are metered separately from API requests and at a lower rate, so a map-heavy application is budgeted differently from one making API calls.
Pricing
Self-service plans (Basic, Pro, and Ultra) are billed through RapidAPI; see RapidAPI for how to subscribe and authenticate. Plan limits and prices are listed on the Maptoolkit pricing page. Enterprise customers call the native hosts directly with a Maptoolkit API key.