Static basemap tiles or a vector basemap style: when a pre-rendered raster tile is the right answer
The ArcGIS Static Basemap Tiles service provides basemap data as pre-rendered, pre-styled map tiles for the world. The tiles are 512 x 512 pixel PNG files in Web Mercator, requested by level, row and column, at zoom levels 0 to 22. Its sibling, the Basemap Styles service, returns styles as Mapbox styles and web maps, with the data as vector tiles and/or map tiles. This post is about choosing between them: a raster tile the server already drew, or a style the client draws.
Every result labeled measured in this post comes from our own requests to the live services on October 22, 2026.
What the static service gives you
The static service offers a fixed list of 22 styles: 15 in the ArcGIS family and 7 in the
Open family. The tiles cannot be restyled on the client, and the service cannot display custom
styles. In the ArcGIS Maps SDK for JavaScript, a TileLayer pointed at a
style’s /static URL read the 512-pixel tiling scheme and its 23
levels from the service (measured).
Satellite imagery is where readers get caught. Only the imagery labels are available as static tiles; the imagery itself is fully supported only by the Basemap Styles service. Measured on October 22, 2026, a request for the imagery labels style returned a PNG, and a request for the imagery style returned 404.
Language and worldview: a much shorter list
On the static service, the language codes are en,
nl, da, fi,
fr, de, nb
and no, and the only worldview is currently
unitedStatesOfAmerica. In the service’s own style list, measured
on October 22, 2026, every ArcGIS style carried those codes and every Open style carried none.
The Basemap Styles service listed 43 languages and 10 worldviews when we queried it the same
day. If your audience reads labels in a language outside those eight codes, a static tile
cannot show it to them.
Who can use it, and how it is billed
The static service is ArcGIS Location Platform only: its reference marks ArcGIS Online and
ArcGIS Enterprise as not supported. API keys and short-lived tokens must be created from a
Location Platform account with the premium:user:staticbasemaptiles
privilege. At the time of writing (October 2026), billing occurs when basemap tiles are returned from a request; the current rates are
on the service’s reference page.
Basemap sessions do not apply to static tiles. Sessions are a Basemap Styles mechanism, and a session token can only access the basemap service it was created from. For how sessions work, see our earlier post on the two usage models. At the time of writing (October 2026), from the Basemap Styles service, an ArcGIS Online organization gets a different deal: basemap tiles are included in the subscription, and basemap sessions are not available.
When a raster tile is the right answer
Esri’s guide names the cases. The static service suits applications that do not support Mapbox styles or ArcGIS web maps, clients that do not support WebGL, clients that prefer map tiles from a single data source, and clients that operate under low bandwidth conditions. Esri’s compare table also lists CesiumJS as supported by static tiles and not by the Basemap Styles service, while Leaflet, MapLibre GL JS, OpenLayers and the ArcGIS Maps SDKs are supported by both. The static service’s reference says applications that use the service must display both basemap and data attribution.
| What you need | Static Basemap Tiles | Basemap Styles |
|---|---|---|
| The response | Pre-rendered 512 x 512 PNG tiles | A Mapbox style or web map, with vector tiles and/or map tiles |
| Satellite imagery | Labels only | Supported |
| Label languages and worldviews | 8 codes and 1 worldview, ArcGIS styles only | 43 languages and 10 worldviews listed (measured) |
| ArcGIS Online accounts | Not supported | Basemap tiles included in the subscription |
| Basemap sessions | Not available | Location Platform only |
| CesiumJS | Supported | Not supported |
Inside an ArcGIS Maps SDK for JavaScript app
One of Esri’s reasons above, clients that do not support WebGL, never applies here. The JavaScript SDK supports only WebGL2-enabled, 64-bit browsers, so choosing static tiles does not let a JavaScript SDK app run without WebGL. The other reasons can still apply: a team that prefers map tiles from a single data source, or an app used under low bandwidth, may still choose static tiles.
Esri’s documentation sample uses a TileLayer on the
style’s /static URL. We ran that shape, with the key set on
the layer’s apiKey:
<!-- ArcGIS Maps SDK for JavaScript 5.x: the CDN entry is a module script.
The TileLayer setup was run on 5.0.19 (/5.0/) and 5.1.27 (/5.1/), October 22, 2026.
The core stylesheet link follows Esri's get-started page. -->
<link rel="stylesheet" href="https://js.arcgis.com/5.1/esri/themes/light/main.css" />
<div id="viewDiv" style="height:400px"></div>
<script type="module" src="https://js.arcgis.com/5.1/"></script>
<script type="module">
const [Map, MapView, Basemap, TileLayer] = await $arcgis.import([
"@arcgis/core/Map.js",
"@arcgis/core/views/MapView.js",
"@arcgis/core/Basemap.js",
"@arcgis/core/layers/TileLayer.js"
]);
const STATIC = "https://static-map-tiles-api.arcgis.com/arcgis/rest/services/static-basemap-tiles-service/v1";
// Use a Location Platform key scoped to premium:user:staticbasemaptiles only.
const tiles = new TileLayer({ url: STATIC + "/arcgis/streets/static", apiKey: "YOUR_ACCESS_TOKEN" });
new MapView({
container: "viewDiv",
map: new Map({ basemap: new Basemap({ baseLayers: [tiles] }) }),
center: [-93.27, 44.98],
zoom: 11
});
</script>
With that setting, all 13 requests the view sent to the static host carried a
token= parameter (measured). If the key has referrer URLs set,
load the page from one of them: in our measurement, requests with no Referer or a disallowed
one were refused with HTTP 401.
Raster labels have a price on sharp screens. The compare table marks static tiles as not
optimized for retina or HiDPI displays, and the style metadata reports 96 dpi. Measured on
October 22, 2026, a @2x tile request returned 404, and at a device
pixel ratio of 2 the JavaScript SDK fetched the same 12 level-11 tiles it fetched at a ratio
of 1.
Securing the key
Esri recommends setting referrer URLs on API key credentials “in order to enhance the security of the token.” Services compare the request’s Referer header with the allowed list, and the caller sets that header. Measured on October 22, 2026, a command-line request that sent an allowed Referer received a tile, and requests with no Referer or a disallowed one were refused with HTTP 401. Our reading of that result: a referrer list deters reuse of a lifted key in other people’s browser pages, and it does not stop a script.
The privilege scope on the key limits what a lifted key can reach. Esri says that selecting
privileges lets you assign a minimal set to each token, “reducing the potential harm in
the event a token is compromised.” Scope a static-tiles key to
premium:user:staticbasemaptiles and nothing else. Scope does not
stop a lifted key from fetching static tiles, and billing occurs when basemap tiles are
returned from a request. Esri’s guidance for that case: “If your API key gets
stolen, it should be invalidated to avoid fraudulent charges to your subscription.”
Where ATS stands
The JavaScript SDK requires WebGL2, so the non-WebGL reason would not move us to static tiles; a client the Basemap Styles service does not support, such as CesiumJS, would.
Before you choose
- Confirm the account: static tiles need ArcGIS Location Platform.
- Name the client: of Esri’s two basemap services, only static tiles are listed for CesiumJS, and an app that uses static tiles must display both basemap and data attribution. For a JavaScript SDK app, the non-WebGL reason does not apply.
- Check the styles and label languages you need against the 22 styles and 8 language codes.
- Plan for imagery: only its labels come as static tiles.
- Scope the key to the static tiles privilege alone, and invalidate it if it is stolen.
References
- ArcGIS REST APIs: Static basemap tiles service (tile format, zoom levels, product support, privilege, billing and the attribution requirement; accessed 2026-10-22)
- ArcGIS Developers: Types of basemap services (the compare table for the Basemap Styles and Static Basemap Tiles services)
- ArcGIS Developers: Introduction to the static basemap tiles service (when to use the service, the style list and the JavaScript TileLayer sample)
- ArcGIS REST APIs: Basemap styles service (response formats, product support and the ArcGIS Online pricing column)
- ArcGIS Maps SDK for JavaScript: System requirements (the WebGL2 browser requirement)
- ArcGIS Developers: Privileges (the Static basemap tiles privilege and why to select a minimal set)
- ArcGIS Developers: API key authentication (the referrer URL recommendation)
- ArcGIS Developers: API key credentials (invalidating a stolen key)
Choosing a basemap source for a client app?
We can check your clients, accounts and keys against what the static and vector basemap services each support. Book a free intro call and we will go through it with you.
Book a free intro call