Powering the world's largest companies

The Mapbox Search API receives billions of requests per week and supports the scale of global companies such as Facebook, The Weather Company, Uber, Adobe, Snap, and Samsung.

160 data sources and translations for 39 languages

Mapbox integrates over 160 data sources to provide precise address, place, and point of interest coverage all over the world and in 39 languages.

Reliable results with 99.9% uptime

Mapbox’s Search API is fast, stable, and highly available for your apps. We offer 99.9% uptime and custom rate-limits up to millions of requests per second.

Search SDK

Developers around the globe use the Search SDK to confidently power search for Android and iOS apps. Benefit from over 200 location categories, fresh data updates and prebuilt UI components to get you up and running fast.

  {
    "type": "FeatureCollection",
    "query": [
      "1600",
      "pennsylvania",
      "ave",
      "washington",
      "dc"
    ],
    "features": [
      {
        "id": "address.170282823806239",
        "type": "Feature",
        "text": "Pennsylvania Ave NW",
        "place_name": "1600 Pennsylvania Ave NW, Washington,
        20006, District of Columbia, United States",
        "relevance": 0.8789999999999999,
        "center": [
          -77.036698,
          38.897102
        ],
        "geometry": {
          "type": "Point",
          "coordinates": [
            -77.036698,
            38.897102
          ]
        },
        "bbox": [
          -77.05781199999998,
          38.89252299999999,
          -77.01844799999999,
          38.905058999999994
        ],
        "address": "1600",
        "properties": {},
        "context": [
          {
            "id": "place.10719",
            "text": "Washington"
          },
          {
            "id": "postcode.757789931",
            "text": "20006"
          },
          {
            "id": "region.1190806886",
            "text": "District of Columbia"
          },
          {
            "id": "country.4150104525",
            "text": "United States"
          }
        ]
      },
      {
        "id": "address.224758605991745",
        "type": "Feature",
        "text": "Pennsylvania Ave SE",
        "place_name": "1600 Pennsylvania Ave SE, Washington,
        20003, District of Columbia, United States",
        "relevance": 0.8789999999999999,
        "center": [
          -76.982024,
          38.878977
        ],
        "geometry": {
          "type": "Point",
          "coordinates": [
            -76.982024,
            38.878977
          ],
          "interpolated": true
        },
        "bbox": [
          -77.00351899999997,
          38.87312999999999,
          -76.96982099999997,
          38.88761399999998
        ],
        "address": "1600",
        "properties": {},
        "context": [
          {
            "id": "place.10719",
            "text": "Washington"
          },
          {
            "id": "postcode.363597332",
            "text": "20003"
          },
          {
            "id": "region.1190806886",
            "text": "District of Columbia"
          },
          {
            "id": "country.4150104525",
            "text": "United States"
          }
        ]
      },
      {
        "id": "address.69793638887692",
        "type": "Feature",
        "text": "Pennsylvania Ave",
        "place_name": "1600 Pennsylvania Ave, Bremerton,
        98337, Washington, United States",
        "relevance": 0.798,
        "center": [
          -122.642074,
          47.575456
        ],
        "geometry": {
          "type": "Point",
          "coordinates": [
            -122.642074,
            47.575456
          ],
          "interpolated": true
        },
        "bbox": [
          -122.64210499999997,
          47.56737199999999,
          -122.64204299999996,
          47.577860999999984
        ],
        "address": "1600",
        "properties": {},
        "context": [
          {
            "id": "place.32283",
            "text": "Bremerton"
          },
          {
            "id": "postcode.3839047076",
            "text": "98337"
          },
          {
            "id": "region.429316995",
            "text": "Washington"
          },
          {
            "id": "country.4150104525",
            "text": "United States"
          }
        ]
      },
      {
        "id": "address.42492466560022",
        "type": "Feature",
        "text": "Pennsylvania Ave",
        "place_name": "1600 Pennsylvania Ave, Baltimore,
        21217, Maryland, United States",
        "relevance": 0.59,
        "center": [
          -76.634388,
          39.30307
        ],
        "geometry": {
          "type": "Point",
          "coordinates": [
            -76.634388,
            39.30307
          ]
        },
        "bbox": [
          -76.64626799999999,
          39.295034999999984,
          -76.62387699999998,
          39.313258999999995
        ],
        "address": "1600",
        "properties": {},
        "context": [
          {
            "id": "place.10950",
            "text": "Baltimore"
          },
          {
            "id": "postcode.1084729612",
            "text": "21217"
          },
          {
            "id": "region.928365533",
            "text": "Maryland"
          },
          {
            "id": "country.4150104525",
            "text": "United States"
          }
        ]
      },
      {
        "id": "address.207113032549700",
        "type": "Feature",
        "text": "Pennsylvania Ave",
        "place_name": "1600 Pennsylvania Ave, Oreland,
        19075, Pennsylvania, United States",
        "relevance": 0.59,
        "center": [
          -75.18526,
          40.120893
        ],
        "geometry": {
          "type": "Point",
          "coordinates": [
            -75.18526,
            40.120893
          ],
          "interpolated": true
        },
        "bbox": [
          -75.20100999999995,
          40.11483199999998,
          -75.17525899999997,
          40.12710399999999
        ],
        "address": "1600",
        "properties": {},
        "context": [
          {
            "id": "place.10547",
            "text": "Oreland"
          },
          {
            "id": "postcode.3010350676",
            "text": "19075"
          },
          {
            "id": "region.2184819983",
            "text": "Pennsylvania"
          },
          {
            "id": "country.4150104525",
            "text": "United States"
          }
        ]
      }
    ],
    "attribution": "NOTICE: © Mapbox and its suppliers.
    All rights reserved. Use of this data is subject
    to the Mapbox Terms of Service
    (https://www.mapbox.com/about/maps/).
    This response and the information it contains may
    not be retained."
  }

Address+POIs: Search SDK

Location bias and language automatically detected from the user’s devices. Fuzzy search and autocomplete are on by default.

Type-a-head

The Mapbox Geocoding API does two things: forward geocoding and reverse geocoding. Forward geocoding converts location text into geographic coordinates, turning 2 Lincoln Memorial Circle NW into -77.050,38.889.

History & Favorites: Search SDK

If a user has searched in app before, the Search SDK always suggests results from their search history  If the user has favorites saved, the SDK suggests recent results as well as any favorites nearby. As the user keeps typing, the ratio of favorites and history in the suggested results changes to most closely match the user’s text.

3D Maps & Destination Building Highlighting

For companies working in last-mile delivery, it is important to provide a navigation application that reduces driver confusion and increases delivery efficiency. The new Navigation SDKs feature the ability to highlight a building upon arrival in a different color, or even in 3D. This enables drivers to complete more on-time deliveries as they spend less time looking for their delivery location.

Category Search: Search SDK

A search for “coffee” prioritizes the category type “coffee” above specific POIs and features with coffee in the name like “Caribou Coffee” or “Coffeebush Lane.”
Our algorithm determines the most relevant mix of proximate and culturally prominent features that match the query. We plan to expose a parameter that gives the developer control over these dimensions.

Custom Search Data

Kiwi.com travelers input the origins and destinations they’d like to explore and view every trip combination on a map. As you scroll, the map updates to show each connection, including nearby airports and their prices. Mapbox GL is rendering the map client-side at 60 frames-per-second, the speed of a video game. The map and data overlays instantly update as Kiwi.com’s algorithms crunch complex user queries. Zooming, panning, and filtering results remain seamless.

Modern Data Platform

Mapbox Search is powered by hundreds of sources that are tested and validated every day. Our data improves every day, and we guarantee you'll see the following:

Precision: More than 75% of requests are returned with the most precise placement possible. 100% of responses have an accuracy rating, so you know exactly how to interpret our data.

Accuracy: 85% of our locations are in agreement with all major location providers. Why not 100%? Our standards for agreement are high and not everything makes the cut. We're constantly testing, analyzing, and ingesting new data to give you the best search experience available. But you shouldn't take our word for it - get in touch and we'll prove it to you.

Time based map

By removing literal geography, we can create a map that more closely reflects the way we think about our environment: a cluster of restaurants “five minutes that way” versus “ten minutes the other.” We can watch our surroundings literally expand and contract with different means of travel.

Learn about pricing for Search products on the pricing page.

Frequently asked questions

Getting Started

How does place search work?

The Geocoding API performs two main tasks: forward search and reverse geocoding. Forward search converts text into geographic coordinates, for example, turning 2 Lincoln Memorial Circle NW into -77.050,38.889. Reverse geocoding converts geographic coordinates into a text description, for example, turning -77.050,38.889 into 2 Lincoln Memorial Circle NW.

How do I use the API?

You can access the Geocoding API directly through Mapbox Studio, using one of several wrapper libraries, or call the API directly using your preferred HTTP client. If you would like to make calls directly, check out our full API documentation.

Can I test the API?

If you would like to get a feel for how the Geocoding API works without building a whole application, we also provide an API Playground. In addition to providing a convenient user interface to test queries, the API playground allows you to test the API’s URL and query parameters, such as type filters and proximity. If you need to test do bulk testing, contact us.

Data

What is the source data?

Mapbox Search contains data from open data projects, governments, and private companies, like Foursquare. Results may not match Mapbox Streets or OpenStreetMap data.

What are the data types?

Data type Description
country

Generally recognized countries or, in some cases like Hong Kong, an area of quasi-national administrative status that has been given a designated country code under ISO 3166-1.

region

Top-level sub-national administrative features, such as states in the United States or provinces in Canada or China.

postcode

Postal codes used in country-specific national addressing systems.

district

Features that are smaller than top-level administrative features but typically larger than cities, in countries that use such an additional layer in postal addressing (for example, prefectures in China).

place

Typically these are cities, villages, municipalities, etc. They’re usually features used in postal addressing, and are suitable for display in ambient end-user applications where current-location context is needed (for example, in weather displays).

locality

Official sub-city features present in countries where such an additional administrative layer is used in postal addressing, or where such features are commonly referred to in local parlance. Examples include city districts in Brazil and Chile and arrondissements in France.

neighborhood

Colloquial sub-city features often referred to in local parlance. Unlike locality features, these typically lack official status and may lack universally agreed-upon boundaries.

address

Individual residential or business addresses.

poi

Points of interest. These include restaurants, stores, concert venues, parks, museums, etc.

What languages do you support?

The API accepts a language query parameter, which allows you to specify the language in which you would like to search. One or more languages can be specified using ISO 639-1 codes. Multilingual geocoding coverage varies and you can expect more consistent results for areas where the specified language is most widely used. We currently support 39 languages, detailed here.

Can I upload my own data to the Geocoding API?

No, you cannot upload your own data so it can be queried from the Geocoding API.

What's the difference between mapbox.places and mapbox.places-permanent?

The mapbox-places endpoint is accessible to all geocoding customers. Requests to this endpoint must be triggered by user activity. Any results must be displayed on a Mapbox map and cannot be stored permanently, as described in Mapbox’s terms of service. The mapbox.places-permanent endpoint allows you to store results and perform batch geocoding. This endpoint does not include point-of-interest features, and the data available for other feature types may vary slightly compared to the data available in the ephemeral endpoint.

General

Can I customize my query to tune results?

There are a number of optional parameters you can use to customize your queries in order to return the most relevant results. These parameters can be specified using URL query parameters or as options when building your application with one of our client side libraries or plugins. The parameters allow you to filter results by geographic feature type and limit or bias results to a specified area. For example, if you want to limit your search results to addresses in the Washington DC Metro area, you could set the type parameter to address and the bbox parameter to -77.08,38.90,-76.99,38.95. With those parameters set, your query for Constitution Ave will only return street addresses in the DC Metro area, and will not include features you’re not interested in, such as Constitution Ave, El Paso, Texas 79908, United States. Check out the Geocoding API documentation for more information on available features.

Can I store the results?

Yes. The mapbox.places-permanent endpoint allows for permanent storage of results and for batch geocoding. This endpoint does not include point-of-interest features, and the data available for other feature types may vary slightly compared to the data available in the ephemeral endpoint. Contact us for pricing.

Billing

How much does it cost?

Go to the pricing page to learn about pricing for temporary geocoding, and contact us about pricing for the permanent endpoint.