Pricing by products

This guide will walk you through which line items match up to some typical applications of:

Not included in this guide

This page does not include the number of units included in the free tier, the exact cost per billable unit, or volume-based discounts. For this information, see the pricing page.

Web maps using older library versions

Pricing for web map usage is based on API requests (i.e. tile requests), sessions (i.e. map loads) or monthly users (i.e. seats). The pricing method that applies to your application depends on which product you are using, and in some cases, which version of that product. These are the libraries, tools, and versions that are included in this section:

For pricing information relating to Mapbox GL JS v1.0.0 and higher, see the current product pricing page.

Mapbox GL JS < v1.0.0

Overview
  • Billed by tile requests
  • Upgrade to new pricing by updating your Mapbox GL JS version
  • See rates and discounts per Vector Tiles API request or Raster Tiles API request in the pricing page's Maps section

Web maps using any version of Mapbox GL JS before v1.0.0 are billed by tile requests. There are two different types of tile requests that can be made by Mapbox GL JS:

  • Vector Tiles API requests for any tiles from vector tilesets including Mapbox-maintained tilesets like Mapbox Streets or any custom vector tileset uploaded to your Mapbox account.
  • Raster Tiles API requests for any tiles from raster tilesets including Mapbox-maintained tilesets like Mapbox Satellite or any custom raster tileset uploaded to your Mapbox account.

There are a few key differences between this tile-based pricing and the map load pricing used by higher versions of Mapbox GL JS, including:

  • Map interaction: The more the user interacts with the map, the more tiles are requested. Interact with the map in the demo below to see the relationship between user interaction and the number of tiles requested. (In map load based pricing, it counts as one map load regardless of how much the user interacts with the map.)
  • Composite sources vs. non-composite sources: You can combine any Mapbox style with a Mapbox-maintained tileset, like Terrain v2 or Traffic v1, or tilesets that you upload to Mapbox Studio. Sources added on the client will not be composited so every tile from each vector source will be requested separately, counting toward total tile requests. You can composite vector tile sources in Mapbox Studio to reduce the number of tiles that are requested.
  • Vector tiles vs. raster tiles: As described above, vector tiles and raster tiles are counted and billed separately.

Mapbox.js or Leaflet

Overview
  • Billed by tile requests
  • See rates and discounts per Static Tiles API request or Raster Tiles API request in the pricing page's Maps section

If you are using Mapbox.js or Leaflet with Mapbox-hosted map tiles, usage is determined by tile requests. Mapbox.js and Leaflet applications display raster tiles, however there are two different kinds of tile requests you may be making: Static Tiles API requests or Raster Tiles API requests.

Raster tiles from Mapbox GL styles

If you are using a Mapbox GL map style (using a style URL) via L.mapbox.styleLayer, you are requesting map tiles from the Static Tiles API, which takes GL-based styles and renders raster tiles.

The example below uses a GL-based style, mapbox://styles/mapbox/streets-v11, with Mapbox.js. Each tile has a red border to help you see how many are required to display the map you see on the screen.

L.map('map')
  .setView([38.8929, -77.0252], 14)
  .addLayer(L.mapbox.styleLayer('mapbox://styles/mapbox/streets-v11'));

Raster tiles from raster tilesets

If you are setting the map style via a raster tileset's tileset ID, you are requesting map tiles from the Raster Tiles API. Raster tiles can be satellite imagery or another raster data source.

The example below uses the raster tileset, mapbox.satellite, with Mapbox.js. Each tile has a red border to help you see how many are required to display the map you see on the screen.

L.mapbox.map('map', 'mapbox.satellite')
  .setView([38.8929, -77.0252], 14);

Mobile applications using older SDK versions

Pricing for mobile applications is either based on monthly active users (MAUs) or tile requests. The pricing method that applies to your application depends on which product you are using, and in some cases, the version of that product.

MAUs are users that accessed Mapbox services within your applications during a given month. The month-long period aligns with your billing period, which is likely not aligned with calendar months.

This guide does not include the number of units included in the free tier, the exact cost per billable unit, or volume-based discounts for each service. For this information, see the pricing page.

These are the SDKs and versions that are included in this section:

Maps SDK for iOS and Android

Applications built with the Mapbox Maps SDK are billed based on monthly active users (MAUs). The MAU line item shown in your invoice will vary based on the version of the Maps SDK you are using. This guide discusses pricing for older versions of the Maps SDK (less than v5.0.0 for iOS or less than v8.0.0 for Android), which are billed by Legacy SDKs for mobile MAUs.

For pricing information about more recent versions of the Maps SDK, which are billed by Maps SDKs for mobile MAUs, see the product documentation for the Maps SDK for iOS (v5.0.0 and higher) and the Maps SDK for Android (v8.0.0 and higher).

Overview
  • Billed by Legacy SDKs for mobile MAUs
  • Upgrade to new pricing by updating your Maps SDK version
  • See rates and discounts per Maps MAUs in the pricing page's Session & user pricing section

The free tier and cost per Legacy SDKs for mobile MAU is equal to the free tier and cost for Maps SDK for mobile MAUs. To see the number of MAUs included in the free tier and the cost per MAU beyond the free tier, see the Maps SDK for mobile section of our pricing page.

Applications built with the Mapbox Navigation SDK are billed based on monthly active users (MAUs). The MAU line items shown in your invoices will vary based on the version of the Navigation SDK you are using. This guide discusses pricing for older versions of the Navigation SDK, which are billed either by Maps SDKs for mobile MAUs and Directions API requests, or Legacy SDKs for mobile MAUs, Directions API requests, and Vector Tiles API requests.

For pricing information about more recent versions of the Navigation SDK, which are billed by Navigation SDK MAUs, see the product documentation for the Navigation SDK for iOS (v1.0.0 and higher) and the Navigation SDK for Android (v1.0.0).

Maps SDKs for mobile MAUs + Directions API requests

Overview
  • Billed by Maps SDKs for mobile MAUs + Directions API requests
  • Upgrade to new pricing by updating your Navigation SDK version

This line item applies to the following versions of the Navigation SDK:

  • Android: 0.41.0 to 0.42.x
  • iOS: 0.36.0 to 0.40.x

Applications built with these versions are billed based on a combination of monthly active users (specifically "Maps SDKs for mobile" MAUs) and Directions API requests. Maps SDKs for mobile MAUs include Vector Tiles API and Raster Tiles API requests. Directions API requests will appear as a separate line item in your monthly invoice.

To see the number of MAUs and requests included in the free tier and the cost per MAU or request beyond the free tier, see:

Legacy SDKs for mobile MAUs + Directions API requests + Vector Tiles API requests

Overview
  • Billed by Legacy SDK MAUs + Directions API requests + Vector Tiles API requests
  • Upgrade to new pricing by updating your Navigation SDK version

This line item applies to the following versions of the Navigation SDK:

  • Android: less than 0.41.0
  • iOS: less than 0.36.0

Applications built with these versions are billed based on a combination of monthly active users (specifically "Legacy SDKs for mobile" MAUs), Directions API requests, and Vector Tile API requests. Legacy versions of the Navigation SDKs billed by Legacy SDKs for mobile MAUs do not include Vector Tiles API, Raster Tiles API requests, and Directions API requests - those will appear as separate line items in your monthly invoice.

Cost per Legacy SDKs for mobile MAU

The free tier and cost per Legacy SDKs for mobile MAU is equal to the free tier and cost for Maps SDK for mobile MAUs as listed on our pricing page.

To see the number of MAUs and requests included in the free tier and the cost per MAU or request beyond the free tier, see:

Vision SDK for iOS and Android

Applications built with the Mapbox Vision SDK for iOS and the Mapbox Vision SDK for Android are billed based on monthly active users (MAUs). The MAU line item shown in your invoice will vary based on the version of the Vision SDK you are using. This guide discusses pricing for older versions of the Vision SDK, which are billed by Legacy SDKs for mobile MAUs.

For pricing information about more recent versions of the Vision SDK (v0.6.0 and higher for iOS and Android), which are billed by Vision SDKs for mobile MAUs, see the product documentation for the Vision SDK for iOS and the Vision SDK for Android.

Legacy SDKs for mobile MAUs

Overview
  • Billed by Legacy SDKs for mobile MAUs
  • Upgrade to new pricing by updating your Vision SDK version
  • See rates and discounts per Vision MAUs in the pricing page's Session & user pricing section

This line item applies to the following versions of the Vision SDK:

  • Android: less than 0.6.0
  • iOS: less than 0.6.0

The free tier and cost per Legacy SDKs for mobile MAU is equal to the free tier and cost for Maps SDK for mobile MAUs. For details about this pricing, see the Maps SDK for Mobile section on our pricing page.

Maps SDK for Unity

Overview
  • Billed by Maps SDK for Unity MAUs or Legacy SDKs for mobile MAUs
  • Upgrade to new pricing by updating your Maps SDK for Unity version
  • See rates and discounts per Maps SDK for Unity MAUs in the pricing page's Maps SDK for Unity section

Applications built with the Mapbox Maps SDK for Unity are billed based on monthly active users. For more details, see the Maps SDK for Unity pricing documentation.

Web services APIs

Your use of Maps-related APIs is measured in tile requests, processing and hosting events, or API requests.

Tile requests

Use of the Vector Tiles API and the Raster Tiles API is measured in tile requests. For more information, see the relevant API documentation:

The Static Tiles API may be billed by tile requests if it is used with Mapbox.js or Leaflet, a third-party tool such as ArcGIS or Carto, or a hybrid framework. Otherwise, use of the Static Tiles API is billed by API requests rather than tile requests.

Processing and hosting events

Use of Mapbox Tiling Service (MTS) and the Uploads API is measured in processing and hosting events. For more information, see the relevant documentation:

API requests

Use of the Static Images API, the Static Tiles API, and the Tilequery API is measured in API requests. For more information, see the relevant API documentation:

Mapbox Studio

Prints

For pricing information about prints created using the Mapbox Studio print panel, see the Studio Manual.

Tilesets uploaded in Studio

While Mapbox Studio is powered by the Uploads API to create tilesets, it is subject to usage restrictions and alternative pricing. See the Studio Manual for pricing details.

Geocoding API

For pricing information for the Geocoding API, which is measured in API requests, see the Geocoding API documentation.

For pricing information for the Navigation-related APIs measured in API requests, see the relevant API documentation:

For pricing information for the Matrix API, which is measured in elements, see the Matrix API documentation.

Third-party tools

Overview
  • Billed by tile requests or Map Loads for Web
  • See rates and discounts per Vector Tiles API request, Static Tiles API request, or Raster Tiles API request in the pricing page's Maps section

Web maps that rely on Mapbox-hosted tiles, but are not served via Mapbox GL JS, are billed by tile requests. This includes vector tiles from vector tilesets, GL-based styles rendered as raster tiles, and raster tiles from raster tilesets. The table below includes some popular third-party integrations. Not all possible third-party tools are included in this list.

ProductsWhat will appear on your invoice
FramerXVector Tiles API
PowerBIMap Loads for Web
Carto with a style URLStatic Tiles API
ArcGIS with a style URLStatic Tiles API
QGIS with a style URLStatic Tiles API

Hybrid frameworks

Overview
  • Billed by Legacy SDK MAUs or tile requests
  • See rates and discounts per Vector Tiles API request, Raster Tiles API request, or Static Tiles API request in the pricing page's Maps section

Third-party frameworks built from the native Mapbox Mobile SDKs are typically billed based on monthly active users. Apps built with other third-party frameworks are billed based on tile requests. Below are some examples of popular SDKs and frameworks and whether Mapbox tracks usage through mobile users or tile requests.

SDK or frameworkLegacy SDK MAUsTile requests
Community-managed Maps SDK for React Native
Cordova + native SDK
Xamarin + native SDK
Phonegap + Mapbox.js
Cordova + Mapbox.js
Mapbox GL JS-based hybrid SDKs
Cost per Legacy SDKs for mobile MAU

For all products listed above, the free tier and cost per Legacy SDKs for mobile MAU is equal to the free tier and cost for Maps SDK for mobile MAUs as listed on our pricing page.