Skip to content

Render - GET ​

Resource URL ​

https://www.mapquestapi.com/tiles/v1/render/latest/{style}/{z}/{x}/{y}/{size}/{format}

Resource Information ​

Response Formatspng, jpeg, webp, gif, heif
AuthenticationYes (Requires Key)
Rate LimitedYes

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 ​

ParameterDescriptionRequired
keyThe API Key, which is needed to make requests to MapQuest services.Yes

Path Parameters ​

ParameterDescriptionRequired
styleThe map style to render. One of: vivid, night, satellite.

Example:
vivid
Yes
zThe zoom level (tile coordinate). An integer, where 0 is fully zoomed out (the whole world) and higher values zoom in.

Example:
13
Yes
xThe tile column at the given zoom level. An integer.

Example:
1873
Yes
yThe tile row at the given zoom level. An integer.

Example:
3374
Yes
sizeThe 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
formatThe 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 ​

js
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 ​

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 ​

js
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

More Resources ​