Join us online - 19th of November
Save your spot
For AI agents: a documentation index is available at /llms.txt. Markdown versions of all pages are available by appending .md to any URL.

MapTiler Service API

MapTiler Service API gives you full (read and write) access to the resources in your MapTiler account, so you can manage them from your own backend instead of the account interface. It’s the second part of the MapTiler API, next to the read-only public APIs that you use to display maps and call location services.

Service APIs

Use the Service API to upload data, manage tilesets and API keys, and pull usage analytics:

Key

The Service API works only with a service token – there’s no API key alternative. The token gives full access to your account, so keep it private and call the Service API only from a backend you control.

Request format

A request to the Service API typically looks like this:


https://service.maptiler.com/v1/{RESOURCE}/{ID}/{ACTION}
  • {RESOURCE} is what you work with, such as tiles, datasets, api_keys, or analytics.
  • {ID} identifies a specific item, such as a tileset or an API key. Leave it out to list all items.
  • {ACTION} is an optional operation on the item, such as change_metadata or cancel.

Every request needs your service token in the Authorization header, in the format Token YOUR_SERVICE_TOKEN. Get your token from the Credentials page of your account.

Example:


curl -H "Authorization: Token YOUR_SERVICE_TOKEN" https://service.maptiler.com/v1/tiles

Paginated lists

Endpoints that list items, such as your tilesets or API keys, return the results in pages:

  • limit sets how many items you get per page, from 10 to 100. The default is 50.
  • cursor in the response points to the next page. Pass it as the cursor query parameter in your next request.
  • Keep requesting pages until cursor is null; that means you’ve reached the last page. A page can come back with an empty items list even if it isn’t the last one, so don’t stop at an empty page.

Errors

Any Service API endpoint can return these error responses:

Code Description Note
400 Bad Request  
401 Not Authorized  
403 Forbidden Might be returned if you exceed your plan’s storage limit
404 Not Found  
410 Gone The requested resource is no longer available
Using the OpenAPI Specification?
Get the openapi.yaml
Was this helpful?