Render - GET
Resource URL
https://www.mapquestapi.com/tiles/v1/render/latest/{style}/{z}/{x}/{y}/{size}/{format}
Resource Information
| Response Formats | png, jpeg, webp, gif, heif |
| Authentication | Yes (Requires Key) |
| Rate Limited | Yes |
URL Structure
The tile URL is a template made up of a map style, a set of tile coordinates, a tile size, and an image format:
/tiles/v1/render/latest/{style}/{z}/{x}/{y}/{size}/{format}
The {z} (zoom), {x} (column), and {y} (row) values follow the standard {z}/{x}/{y} tile coordinate scheme used by common web-mapping libraries, so the URL can be dropped directly into a tile layer. You supply the {style}, {size}, and {format} you want; your mapping library substitutes {z}, {x}, and {y} automatically as the user pans and zooms.
Request Parameters
| Parameter | Description | Required |
|---|---|---|
| key | The API Key, which is needed to make requests to MapQuest services. | Yes |
Path Parameters
| Parameter | Description | Required |
|---|---|---|
| style | The map style to render. One of: vivid, night, satellite.Example: vivid | Yes |
| z | The zoom level (tile coordinate). An integer, where 0 is fully zoomed out (the whole world) and higher values zoom in.Example: 13 | Yes |
| x | The tile column at the given zoom level. An integer. Example: 1873 | Yes |
| y | The tile row at the given zoom level. An integer. Example: 3374 | Yes |
| size | The tile size in pixels. Must be either 256 or 512.For retina (high-DPI) tiles, append @2x to the size to render at double resolution.Example: Standard 512 Example: Retina 512@2x | Yes |
| format | The image format of the tile. One of: png, jpeg, webp, gif, heif.Example: png | Yes |
Retina (High-DPI) Tiles
To serve crisp tiles on high-density displays, append @2x to the {size} segment. A 512@2x tile is rendered at 1024x1024 pixels but is still treated as a 512-pixel tile by your map, doubling the effective resolution.
GET https://www.mapquestapi.com/tiles/v1/render/latest/vivid/13/1873/3374/512@2x/png?key=KEY
Using the Tiles API with Mapping Libraries
Because the URL uses the standard {z}/{x}/{y} template, you can use it as a raster tile source in most web-mapping libraries. Set the tile size to match the {size} segment in your URL.
Leaflet
L.tileLayer(
'https://www.mapquestapi.com/tiles/v1/render/latest/vivid/{z}/{x}/{y}/512/png?key=KEY',
{
tileSize: 512,
zoomOffset: -1
}
).addTo(map);When using 512 tiles, set tileSize: 512 and zoomOffset: -1 so Leaflet requests the correct zoom level. For 256 tiles, use the default tileSize and omit zoomOffset.
MapLibre GL JS
map.addSource('mapquest-tiles', {
type: 'raster',
tiles: ['https://www.mapquestapi.com/tiles/v1/render/latest/vivid/{z}/{x}/{y}/512/png?key=KEY'],
tileSize: 512
});
map.addLayer({
id: 'mapquest-tiles',
type: 'raster',
source: 'mapquest-tiles'
});OpenLayers
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import TileLayer from 'ol/layer/Tile.js';
import XYZ from 'ol/source/XYZ.js';
const map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new XYZ({
url: 'https://www.mapquestapi.com/tiles/v1/render/latest/vivid/{z}/{x}/{y}/512/png?key=KEY',
tileSize: 512,
maxZoom: 20
})
})
],
view: new View({
center: [0, 0],
zoom: 2
})
});Set tileSize to match the {size} segment in your URL (512 here). OpenLayers' XYZ source uses the same {z}/{x}/{y} template, so the tile URL drops in directly.
Example Requests
Example Request: Basic Tile
GET https://www.mapquestapi.com/tiles/v1/render/latest/vivid/13/1873/3374/512/png?key=KEY
Example Request: Retina Tile
GET https://www.mapquestapi.com/tiles/v1/render/latest/vivid/13/1873/3374/512@2x/png?key=KEY
Example Request: Night Style
GET https://www.mapquestapi.com/tiles/v1/render/latest/night/13/1873/3374/512/png?key=KEY
Example Request: Satellite Style
GET https://www.mapquestapi.com/tiles/v1/render/latest/satellite/13/1873/3374/512/jpeg?key=KEY