Skip to main content

Pricing

Tileset Pricing
This pricing guide applies to both the Mapbox Tiling Service (MTS) and the Uploads API. Both APIs use the same pricing outlined in this guide. Mapbox Studio is powered by the Uploads API, but is subject to usage restrictions and alternative pricing. See the Mapbox Studio pricing guide for more details.
  • Billed by tileset processing and tileset hosting
  • See rates and discounts per tileset processing and tileset hosting in the pricing page's Tilesets section

Tilesets pricing is billed monthly based on the number of processing jobs and hosted tilesets in your account. For processing jobs, you are billed for the processing resources each job consumes, including processed file size (in megabytes) and processed compute units (CUs).

Tilesets processing

Tileset processing is a one-time cost incurred when you publish an MTS job or create an upload with the Uploads API. You are only billed for successfully published tilesets or successfully created uploads.

Each tilesets processing job is billed in two ways: file size and compute units (or CUs).

File size

For each processing job, you are billed for the file size of your processed data, which is measured in megabytes (MB). Processed MB will appear on your invoice as Tilesets Processing File Size.

For MTS jobs, this is the file size of the tileset source of your job. For the Uploads API, this is the file size of the uploaded source file.

For MTS, uploading data to a tileset source is free. You are not billed for processing until you publish a job for a tileset.

Compute units (CUs)

Compute units (also called CUs) represent the processing resources a tilesets processing job from MTS or the Uploads API consumes on Mapbox infrastructure. For example, a tileset that uses 4.50 CUs consumes roughly three times more compute than a 1.50 CU tileset. Processed CUs will appear on your invoice as Tilesets Processing CU.

Most vector tileset processing jobs range from 0.3 CUs to 5 CUs. Large complex tilesets require more CUs than small simple tilesets. For example, a zoom level 0-16 tileset covering a large country with thousands of large polygon features and a 50 GB tileset source uses more CUs than a zoom level 10-11 tileset covering a single city with a hundred point features and a 10 MB source file size.

Tilesets hosting

Unlike tileset processing, tileset hosting is a recurring charge. You are billed on a monthly basis for the number of tilesets hosted in your account. Each day that you host a tileset counts as a tileset hosting day. For example, 3 tilesets hosted for 15 days is 45 tileset hosting days (3 tilesets * 15 days). Tileset hosting charges will appear on your invoice as Tileset Hosting Days.

The file size of hosted tilesets does not contribute to any hosting costs. You are only billed for the number of tileset hosting days per month. Tilesets created before October 1, 2020, are exempt from tileset hosting billing.

The table below shows how average monthly hosted tilesets convert to tileset hosting days. This table assumes a 30-day month. It also assumes you did not create or delete any additional tilesets during the 30-day period.

Average monthly hosted tilesetsTileset hosting days
5150
10300
501,500
1003,000
1,00030,000
5,000150,000
10,000300,000
100,0003,000,000

Viewing usage in the Tileset Explorer

You can view the processing billing metrics (CUs and file size) for your successfully published or processed tilesets in the Tileset Explorer. To access the Tileset Explorer, go to your Mapbox Studio Tilesets page and click on a tileset's name.

Once the Explorer has opened, the Billing metrics graph will appear in the bottom left corner of the page. This graph shows the CUs and file size of the latest processing event for the tileset.

For MTS jobs, you can also view the past CU and file size values for previous MTS jobs in the job history panel. To open the job history panel, click on Job history in the top right-hand corner when viewing a tileset in the Tileset Explorer.

Tracking usage in Statistics

You can track your tilesets usage in your account's Statistics page. There are three products for tilesets usage on the Statistics page: Tileset Processing CU, Tileset Processing File Size, and Tileset Hosting Days. For Tileset Hosting Days, the number of tileset hosting days for a given day is the same as the number of tilesets hosted in your account for that day. For example, this account hosted 21 tilesets on July 2.

Understanding your invoice

If you submitted tileset processing jobs that month, you should see three line items for tilesets usage on your monthly invoice:

  • Tilesets Processing File Size
  • Tilesets Processing CU
  • Tileset Hosting Days

If you did not submit any tileset processing jobs that month but are still hosting tilesets, your invoice will only have a single line item for Tileset Hosting Days.

Estimating costs

Estimating processing costs

Your number of monthly processing jobs (job frequency) has the largest impact on processing costs. To estimate your processing costs, first determine how many tilesets you need to create each month and the number of monthly updates (job frequency) for each tileset. Second, multiply the number of monthly jobs by the estimated file size in MB per job and estimated compute units (CUs) per job.

For example, one tileset with 5,000 jobs per month at 0.5 MB and 1.5 CUs is 2,500 MB and 7,500 CUs per month. 5,000 jobs times 0.5 MB per job is 2,500 total MB. 5,000 jobs times 1.5 CUs per job is 7,500 CUs.

To calculate processing costs, enter the number of monthly MB and CUs into the calculator for tileset processing on the pricing page.

Estimating job frequency

The table below converts common job frequencies (e.g., updates every 5 minutes, every hour, etc.) to monthly jobs. This table assumes a 30-day month.

Job frequencyMonthly jobs
1 minute43,200
5 minutes8,640
15 minutes2,880
30 minutes1,440
1 hour720
3 hours240
6 hours120
12 hours60
1 day30
1 week4
1 month1

Estimating file size

For MTS jobs, you can check the file size for a tileset source using the view-source command of the Tilesets CLI or the Retrieve tileset source information endpoint of the MTS API.

For the Uploads API jobs, use the file size of the uploaded source file.

Estimating compute units

The most accurate method to estimate CUs is to submit a single test job for a new tileset workload and review the CU values for that job. You can also review CUs for existing or previous similar jobs in your account. If you cannot submit a new test job or do not have previous tilesets jobs, you can use average CU values.

99% of tileset jobs, whether on MTS or the Uploads API, are 5 CUs or less. The average CU value for all tileset jobs on the Mapbox platform ranges from 0.90 to 1.00 CUs. On average, raster tileset jobs use twice as many CUs as vector tileset jobs. 1 CU per vector job and 2 CUs per raster job are good average CU values for estimating monthly processing CUs.

File size and zoom levels have the largest impact on CUs, with MTS recipe features having only a small impact. The larger the file size and the more zoom levels you tile, the more CUs a job will use. Jobs that use high zoom levels (11+) will generally use more CUs than jobs that use low zoom levels (10 or less).

The tables below show how file size and maximum zoom level typically affect CU values for jobs. These tables do not guarantee CU values, and your results may differ.

Maximum zoom level 10 or less
File sizeCU range
< 1 GB< 5
1 - 5 GB5 - 30
> 5 GB30+
Maximum zoom level 11 or greater
File sizeCU range
< 200 MB< 5
200 MB - 5 GB5 - 30
> 5 GB30+

Estimating hosting costs

To estimate your hosting costs, determine how many tilesets you need to host per month and how many days per month you need to host each tileset. To calculate tileset hosting days, multiply the number of tilesets times the days per month you host each tileset. For example, if you create 10 tilesets every day and delete each tileset after 7 days, that is 70 tileset hosting days.

To calculate hosting costs, enter the number of monthly tileset hosting days into the calculator for tileset hosting on the pricing page.

Managing costs

Managing processing costs

Tileset processing is a one-time cost incurred when you publish an MTS job or create an upload with the Uploads API. You cannot lower processing costs associated with any tilesets you have already published with MTS or uploaded with the Uploads API.

In general, being efficient and intentional with your tilesets processing jobs will reduce your costs. Only submit the minimum number of processing jobs you need and the minimum amount of data for your use case.

The following tips can help you reduce processing costs for future tilesets:

Reduce job frequency

Reducing job frequency will have the largest impact on decreasing your monthly processing costs. For example, switching from updates every 5 minutes (8,640 monthly jobs) to updates every 15 minutes (2,880 monthly jobs) will reduce your costs by 66%.

Another way to reduce job frequency is to only update your tileset when geometries change. If most of your updates affect your data's attributes rather than their geometries, you may be able to leave the volatile attributes out of the tileset and instead join them on the client side. This way, you can update your data's attributes without updating the whole tileset.

For example, consider a state-level unemployment dataset: the state geometries rarely change, while the unemployment numbers change often. A cost-effective strategy would be to create a static state boundaries tileset and then join the unemployment data dynamically on the client. See the Data Joins with Mapbox Boundaries tutorial for more information on how to use this data-join technique.

Clean up source data

The cleaner and more efficient your source data, the lower your processing costs. The amount of data you process roughly correlates with file size. File size has the second greatest impact on your processing costs after job frequency.

The following tips can help you clean up your source data:

  • Limit latitude and longitude coordinates in your source dataset to 6 decimal points (10cm precision) or less using a tool like geojson-precision
  • Remove unnecessary layers from your tileset
  • Remove unnecessary features from your source dataset
  • Remove unnecessary feature attributes from your source dataset
  • Reduce feature attribute size (e.g., shorter strings)

Reduce zoom levels

The fewer zoom levels your tileset uses, the lower the CUs for your job and the lower your processing costs. Only tile the zoom levels needed for your use case. For example, a building footprint use case likely does not need zoom levels 0-11, so you could tile your data from zoom levels 12 through 15, and rely on overzooming for zoom levels 16 and higher.

Overzooming and the maxzoom value

The maxzoom value does not determine which zoom level a map zooms to. Your map will still zoom past the maxzoom specified in your tileset recipe because of overzooming.

The maximum zoom level of your tileset has a higher impact on CUs than the minimum zoom level. Maximum zoom levels of 11 or higher have a large impact on increasing CUs, with maximum zoom levels of 14 or higher having an even larger impact. To reduce costs, stick to zoom level 10 (10-meter precision) or less for your tileset processing jobs.

Uploads API and maximum zoom level

You cannot specify the maximum zoom level of a tileset when using the Uploads API or uploading data using Mapbox Studio. The Uploads API guesses what zoom levels your tileset needs, based on the data you upload. We recommend using MTS over the Uploads API so that you have more control over your tilesets, and, ultimately, your costs.

Use MTS recipes

Certain MTS recipe configurations may increase or decrease CUs for your processing jobs. MTS recipe configurations have a smaller impact on CUs than cleaning up source data and reducing zoom levels. Certain MTS recipe configurations, like simplification may either increase or decrease CUs depending on how they are used.

See the MTS recipe specification for detailed information on each recipe configuration.

Managing hosting costs

The following tips can reduce your tileset hosting costs:

  • Delete hosted tilesets after they are no longer needed.
  • Periodically delete inactive or unused hosted tilesets.
  • Where possible, reuse existing tileset IDs instead of creating new unique tilesets for each processing job.

Identifying inactive hosted tilesets in Studio

The Tileset hosting sidebar in Mapbox Studio Tilesets page can help you identify inactive tilesets for deletion. This sidebar shows the active and inactive tilesets for your account in the past 30 days. An active tileset had at least 1 API request in the past 30 days.

You can also view the number of API requests in the past 30 days for an individual tileset in the Mapbox Studio Tilesets page.

Deleting hosted tilesets

Deleting tilesets

You cannot restore any deleted tilesets so exercise caution when deleting tilesets.

You can delete tilesets in your account using the Mapbox Studio Tilesets page, the delete command in the Tilesets CLI, or the Delete tileset endpoint in the MTS API.

You can delete up to 25 tilesets at a time in Mapbox Studio. You can only delete tilesets one at a time via the Tilesets CLI or the delete tileset endpoint in the MTS API.

You will receive a warning before deleting any tilesets. You must confirm deletion before any tilesets are deleted. You can use the --force flag in the Tilesets CLI to override the warning for scripting and automation.

Was this page helpful?