Protomaps is a global vector map API, powered by OpenStreetMap.

Embeddable maps for your sites and visualizations, with infinite design and customization possibilities.

Get a free API key

Currently in private beta.
Performance
Optimized yet highly detailed map tiles, deployed on a global content delivery network, minimizing latency to your users.
Privacy
Map don't collect any location data from your users, serve ads or set any tracking cookies - neither does this website!
Peace of Mind
Minimal vendor lock-in and simple CORS security. Generous free tier and affordable commercial plans.
Get Started Customizing Maps
Protomaps is compatible with all vector map renderers. For example, you can use the Tangram JS library for its minimal dependencies, localization and crisp text rendering, and powerful shader features.
<html lang="en">
  <head>
    <title>My Map</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://cdn.protomaps.com/leaflet/1.6.0/leaflet.css" />
    <!-- Dependencies such as leaflet and tangram.js can be securely loaded from the Protomaps CDN. -->
    <script src="https://cdn.protomaps.com/leaflet/1.6.0/leaflet.js"></script>
    <script src="https://cdn.protomaps.com/tangram/0.20.1/tangram.min.js"></script>
  </head>
  <body style="margin:0px">
    <div id="map" style="height:100%; width:100%;"></div>
    <script>
      window.addEventListener('load',() => {
        var map = L.map("map").setView([0,0], 3)
        var layer = Tangram.leafletLayer({
            scene: {
// One of the default styles. You can download the YAML file and customize it yourself.
              import: 'https://raw.githubusercontent.com/protomaps/styles/master/tangram/elements_light.yml',
// Replace YOUR_API_KEY with a key after signing up.
              global:{api_key:'YOUR_API_KEY'}
            },
            attribution: '<a href="https://protomaps.com">Protomaps</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap</a>'
            }).addTo(map)
      })
    </script>
  </body>
</html>
Continue this Example
The Documentation explains how map features are tagged, how to select and style features, and how to use the Protomaps API with other libraries such as Leaflet and OpenLayers.

Open Source Map Data

Like many other map APIs, Protomaps is built on OpenStreetMap data. Protomaps publishes some open source tools and services for OSM:
Minutely Extracts
Free, on-demand OpenStreetMap data for any selected region. Edits from openstreetmap.org appear within minutes. Contribute to OSM and download to use with many popular tools.
Start Downloading
OSM Express
The data format that powers Protomaps services - a command line tool, C++ library and serialization format for OSM.
Documentation GitHub
About OpenStreetMap
OpenStreetMap is often referred to as the free world map, collaboratively edited and openly licensed. However, it's better described as a database of geographical features.
Some advantages of using OSM data include:
  • - Multilingual place names
  • - Resistant to advertising and censorship
  • - Fast updates in heavily mapped areas in response to changes in the built environment
  • - Use for various applications such as cartography, routing and geocoding
OpenStreetMap, unlike most commercial GIS datasets, can be used at no cost for nearly any purpose. Projects that use it should follow the Open Database License and attribute © OpenStreetMap in the corner of your map.

FAQ

What's the difference from Google or Apple Maps?

Besides being based on open source data, Protomaps aims to have first-class support for a wide range of JavaScript frontends and mapping ecosystems.

What's the difference compared to other OpenStreetMap services?

Designing any basemap requires tradeoffs between detail, size and visibility of features at different zoom levels. The unique design goals of Protomaps are:

  • - A focus on "single origin" data sourced from OSM, at all scales, without relying on mixing in other datasets.
  • - A library of simple map styles to use as a base, targeting all popular map renderers.
  • - Frequent updates from the main OSM database.
  • - Including all name tags, enabling localization beyond dominant languages.
  • - Creative cartographic generalization techniques for large scale maps.

How do I report a problem with the map?

Protomaps is currently a work in progress and payment is optional. Help finding problems on the map is greatly appreciated! If you notice something that exists in OSM but is not rendered correctly, contact [email protected]

Who is developing Protomaps?

Protomaps is an independent project by Brandon Liu, and the newest generation of map rendering systems I've been working on since 2014. You can find me on twitter at @bdon.

Subscribe for updates
Monthly updates on Protomaps features and tools in the works.