Satellite Tile

Service version: 1
Last edit: 2022.08.15


The Maps Raster Satellite Tile API endpoint provides satellite map data that is divided into gridded sections called tiles. Tiles are square images with a size of: 256 x 256 pixels. The tiles are available at 20 different zoom levels, ranging from 0 to 19. For zoom level 0, the entire earth is displayed on one single tile, while at zoom level 19, the world is divided into 238 tiles. See the: Zoom Levels and Tile Grid.

Data Source

Satellite imagery data comes from Maxar Satellite Imagery for all supported zoom levels. Most of the detailed imageries for urban areas, provided by Maxar, were captured in 2021.

Tile image format

The Maps Raster Tile API Satellite service supports the jpg format.


The overlay can be applied to the Maps Raster Satellite Tiles using Map Styles.

Tile Sizes

The following tiles size is currently supported:

  • 256 x 256 pixels

Run this endpoint

You can easily run this and other endpoints. Go to the TomTom API Explorer page and follow the directions.

Request data

HTTPS method: GET

  • Constants and parameters enclosed in curly brackets { } must be replaced with their values.
  • Please see the following Request parameters section with the required and optional parameters tables for their values. The generic request format is as follows.

URL format

Request URL

curl command format

Request curl command
curl 'https://{baseURL}/map/{versionNumber}/tile/{layer}/{style}/{zoom}/{X}/{Y}.{format}?key={Your_API_Key}

Request parameters

These parameters are used in calls to generate all tile layers.

  • Required parameters must be used or the call will fail.
  • Parameters and values are case-sensitive.
  • Optional parameters may be used.
Required parameters
The base URL for calling TomTom services.
The version of the service to call.
Value: The current version is 1.
Layer of the tile to be requested.
  • sat
Style of the tile to be requested.
  • main
Zoom level of the tile to be rendered.
Value: 0..19
The x coordinate of the tile on a zoom grid.
Value: 0..2 zoom -1
The y coordinate of the tile on a zoom grid.
Value: 0..2 zoom -1
The format of the response.
Value: jpg
An API Key valid for the requested service.
Value: Your valid API Key.

Request headers

The following table lists HTTP request headers of particular interest to clients of the Maps Raster Tile API Satellite endpoint.

Optional headersDescription
Accept-EncodingContains the content encoding (usually a compression algorithm), that the client is able to understand.
Value: gzip
If-None-MatchContains an identifier for a specific version of resource. The server will send back the requested resource, with a 200 HTTP status code, only if it doesn't have an ETag matching the given one.
Value: <string>
Tracking-IDSpecifies an identifier for the request. It can be used to trace a call. The value must match the regular expression '^[a-zA-Z0-9-]{1,100}'. An example of the format that matches this regular expression is a UUID (e.g., 9ac68072-c7a4-11e8-a8d5-f2801f1b9fd1). For details check RFC 4122. If specified, it is replicated in the Tracking-ID response header.
Value: <string>

Response data

The Maps Raster Tile API, for a single request, returns one square tile in jpg format.

Response examples

Example 1: Whole world at zoom = 0

Request (Zoom = 0) Response (Zoom = 0){Your_API_Key} Zoom 0

Example 2: Europe at zoom = 4

Request (Zoom = 4) Response (Zoom = 4){Your_API_Key} Zoom 4

Example 3: Amsterdam at zoom = 17

Request (Zoom = 17) Response (Zoom = 17){Your_API_Key} Zoom 17

Error response

The Maps Raster Tile API Satellite service for an invalid request returns a response body in XML or JSON format. The XML format is returned by default. To have an error response returned in JSON format, application/json has to be specified in the Accept HTTP request header.

Error response field structure

Main object of the error response.
One of a server-defined set of error codes.
A human-readable description of the error code.

Error response example

Error response example - JSON
2 "detailedError" : {
3 "code" : "BAD_REQUEST",
4 "message" : "Invalid tile position arguments"
5 }
Error response example - XML
1<errorResponse description="Invalid tile position arguments" errorCode="400" version="1.0.54-mascoma">
2 <code>BAD_REQUEST</code>
3 <message>Invalid tile position arguments</message>
4 </detailedError>

Response codes

CodeMeaning & possible causes
304Not Modified: The tile has not been modified. This code is returned when the If-None-Match request header is used and its value matches the ETag of the requested tile.
400Bad request: Probably malformed syntax.
  • Invalid format value.
  • Zoom n is out of range 0 <= zoom <= 19: The requested zoom level is out of the possible range.
  • x n is out of range [0,m]: The requested x coordinate is out of the possible range (the value of m will vary depending on the zoom level).
  • y n is out of range [0,m]: The requested y coordinate is out of the possible range (the value of m will vary depending on the zoom level).
  • The supplied API Key is not valid for this request.
429Too Many Requests: Too many requests were sent in a given amount of time for the supplied API Key.
500Internal Server Error: There is a problem with the TomTom Maps Satellite Tile API service.
503Service is currently unavailable.

HTTP response headers

The following table lists HTTP response headers of particular interest to clients of the Maps Raster Tile API satellite endpoint.

Access-Control-Allow-OriginThe Maps Raster Tile API allows cross-origin resource sharing (CORS).
Value: *
Cache-ControlContains directives for a caching mechanism.
Value: max-age=<decimal number>
Content-EncodingIndicates which encodings were applied to the response body.
Value: gzip
Content-LengthContains information about the size of the response body.
Value: <decimal number>
Content-TypeIndicates the media type of the resource returned.
Value: image/jpg
DateContains the date and time at which the message was originated.
Value: <http-date>
ETagContains an identifier for a specific version of resource.
Value: W/"2fdbd61f30456"
ExpiresContains the date after which the response is considered outdated.
Value: http-date
Transfer-EncodingSpecifies the form of encoding used to safely transfer the response to the user. If this header is specified, Content-Length header will be absent.
Value: chunked
Tracking-IDAn identifier for the request. If the Tracking-ID header was specified in the request, it is replicated in the response. Otherwise, it is automatically generated by the service. For details check RFC 4122.
Value: <string>