Skip to main content

Maps Products Overview

Mapbox provides a full suite of products and services that enable developers to add interactive maps and location visualizations to applications or data projects. These offerings include front-end libraries and SDKs for web and mobile apps, along with powerful APIs that can be integrated into any environment.

This guide introduces common map design and user experience patterns, as well as the Mapbox tools and services that support them. Find links to documentation, code examples, and API playgrounds for getting started.

Mapping Patterns

Mapbox maps integrate into any user interface. Popular use cases include:

  • Store Locators: Find the nearest store or location.
  • Real Estate Apps: Display properties on a map, with filters for price, size, and other attributes.
  • Data Dashboards: Visualize data on a map, such as live vehicle locations, heatmaps or choropleth maps.
  • Logistics: Plan a route from one location to another, showing the route and key turns along the way.
  • News and Media: Display news articles or media on a map, with filters for location, date, and other attributes.
  • Games: Create location-based games or experiences, such as scavenger hunts or augmented reality games.

See the Mapbox Customer Showcase for examples of how other companies are using Mapbox maps in their applications.

Below are some common mapping patterns and the Mapbox products that support them.

User Data on a Mapbox Style

The simplest way to use Mapbox maps is to add data to a predefined Mapbox map styles. Mapbox styles are also called a 'basemap' and include things like waterways, boundaries, labels, streets, etc. The default map style, Mapbox Standard, or any of the classic Mapbox styles provide the initial map, upon which data layers can be added in a variety of ways, including:

  • Markers and Annotations: Add UI overlay components to represent points on the map.
  • Custom Layers: Add custom layers to the map style either at runtime from local or third-party sources, or in advance using Mapbox Studio. Custom layers can represent, points, lines, or polygons, or even 3D models and imagery.

User Data on a Custom Style

For users who want full control over the map design, Mapbox Studio provides a powerful interface for creating custom map styles. Use Mapbox Studio to create a custom style from scratch or change/extend a Mapbox style. With a custom style, it is also possible to add custom data layers using the same methods described above.

See our style gallery for examples of custom map styles created with Mapbox Studio.

Static Map Images

For use cases that do not require an interactive map, Mapbox provides static map images. Static maps are useful for embedding maps in emails, PDFs, or other documents where interactivity is not required, or where loading an interactive map is not practical.

Spatial Data Pipelines

It is possible to upload smaller datasets in Mapbox Studio and use them in map styles, but for larger or frequently-changing datasets, it is recommended to use the Mapbox Tiling Service (MTS)to build automated data pipelines that generate vector tiles from data.

Use MTS to programmatically keep tilesets up-to-date and provide the latest data to users. MTS supports a wide range of data formats and can handle large datasets, making it a powerful tool for building automated data pipelines.

Other Mapping Use Cases

Game Development

The Mapbox Maps SDK for Unity supports building location-based games and experiences. Use Mapbox maps to create immersive environments, add real-world locations to a game, and provide players with a unique and engaging experience

Indoor Mapping

Mapbox rendering technology is also used in indoor mapping applications, such as airports, shopping malls, and other large venues. Use Mapbox maps to create interactive indoor maps that help users navigate complex spaces or venues.

Frontend Map Products

Mapbox provides a suite of frontend libraries and SDKs for rendering maps in web and mobile applications.

Map Rendering Libraries and SDKs

Mapbox map rendering libraries are designed to be easy to use and flexible, allowing for highly customized map experiences for any use case. They support advanced features like 3D terrain, vector tiles, and dynamic styling, and allow for full control of interactivity and user experience.

The renderers have feature parity, allowing for consistent map user experiences across platforms.

RendererPlatformLanguage
Mapbox GL JS (v3)WebJavaScript
Maps SDK for iOS (v11)iOSSwift, Objective-C
Maps SDK for Android (v11)AndroidJava, Kotlin

The Maps SDK for Flutter abstracts the iOS and Android SDKs, allowing developers to build cross-platform mapping applications using a single codebase.

Map Renderer Pricing

Mapbox GL JS is billed by Map Loads, which is the number of times a map is loaded in a web application. Mapbox GL JS has a free tier, and is billed based on usage. For full details, see the Mapbox GL JS pricing page.

The Maps SDKs for iOS and Android are billed by the number of monthly active users (MAUs) of a mobile application. The Maps SDKs have a free tier, and are billed based on usage. For full details, see the Maps SDK for iOS pricing page and the Maps SDK for Android pricing page.

The Maps SDK for Flutter abstracts the iOS and Android SDKs, so billing is the same as if the SDKs were used directly.

Turf

Turf is a geospatial analysis library for JavaScript that provides a wide range of functions for working with geographic data. For example, Turf can calculate distances and areas or expand points and polygons with a buffer operation. Turf is designed to work with GeoJSON data, and can be used in conjunction with Mapbox GL JS to display geospatial analysis on a map.

Turf is not a Mapbox product, but it is often referenced in the Mapbox documentation and examples. Many Turf functions have been ported to Swift (turf-swift) and Java (mapbox-sdk-turf), for use along with the Maps SDKs for iOS and Android.

Plugins and Extensions

Mapbox GL JS has a rich ecosystem of plugins and extensions that add additional functionality to the library. Many plugins are community-driven, and can be used to extend the capabilities of Mapbox GL JS. See the full list of Mapbox GL JS plugins for more information.

rnmapbox is a community-maintained React Native wrapper for Mapbox GL JS, allowing for Mapbox maps in React Native applications. Like the Maps SDK for Flutter, it abstracts the iOS and Android SDKs for cross-platform application development using a single codebase.

Maps APIs

The Mapbox Maps APIs provide programmatic access to map data and services. Most users getting started with Mapbox maps do not need to use the APIs directly, as the frontend libraries and SDKs provide a higher-level interface for working with maps. The APIs are useful for advanced users who want to build custom map experiences or integrate Mapbox maps into their applications in a more programmatic way.

Static Images API

The Static Images API renders a static image of a map style at a specified location and zoom level. Customization options are available for the map style, size, overlays, and other parameters to generate the desired image. This is useful for embedding maps in emails, PDFs, or other documents where interactivity is not required or practical.

PLAYGROUND
Static Images API Playground

Experiment with request parameters for the Static Images API using a graphical interface, and inspect the resulting map image.

Tilequery API

The Tilequery API supports querying of vector tiles for specific features or data point without downloading the entire tile. Developers integrate this API to retrieve information about specific locations or features on the map, such as points of interest, roads, or other geographic data.

PLAYGROUND
Tilequery API Playground

Experiment with request parameters for the Tilequery API using a graphical interface, and inspect the response data.

Mapbox Tiling Service (MTS)

Mapbox Tiling Service (MTS) is a powerful tool for generating vector or raster tiles from spatial data. Developers use MTS to create custom tilesets that can be used in custom map styles. MTS supports a wide range of data formats and can handle large datasets, making it a powerful tool for building automated data pipelines.

TUTORIAL
Get started using the Mapbox Tiling Service and the Tilesets CLI

Experiment with request parameters for the Tilequery API using a graphical interface, and inspect the response data.

Tile APIs

The following APIs provide access to tilesets hosted on Mapbox cloud infrastructure using the standard z/x/y tiling scheme. These APIs are useful when consuming tilesets in third-party libraries or applications that support zxy tiling schemes such as GIS software, data science packages, and custom mapping implementations.

  • The Vector Tiles API serves vector tiles from Mapbox-hosted vector tilesets.
  • The Raster Tiles API serves raster tiles from Mapbox-hosted raster tilesets.
  • The Static Tiles API serves rendered images of map styles. This is useful for legacy map renderers that use raster tiles, allowing developers to use the same Mapbox-hosted data in a variety of frontend environments.

Styles API

The Styles API allows for programmatic access to map styles. Developers use this API to create, update, and delete map styles, as well as retrieve information about existing styles. This can be useful for automatically generating map styles based on user input or other data, or for managing a large number of map styles via a custom interface.

Learn more about how map styles work in the Mapbox Style Specification.

Maps API Pricing

Mapbox Maps APIs have a free tier, and are billed based on usage. The pricing is based on the number of requests made to the API, with different rates for different types of requests. For example, static images are billed per image generated, while vector tiles are billed per tile requested. For full details, see the Maps section of the pricing page.

When used via the Mapbox renderers, vector and raster tiles usage is not billed separately and are included in the usage pricing for the renderer. For details see the pricing guides for Mapbox GL JS, the Maps SDK for iOS, and the Maps SDK for Android.

Mapbox Tiling Service is billed based on a combination of data processing size, processing resources used, and storage size. For full details, see the Tilesets section of the pricing page.

Was this page helpful?