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 addresses, places, and point of interest coverage all over the globe, 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 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.

Mapbox + Foursquare

Mapbox Place Search has integrated Foursquare's global point of interest (POI) data to increase coverage, accuracy and relevance for millions of locations all over the world.

Search and Geocoding

We offer search and reverse geocoding so you can give your users location context by turning their GPS coordinates into city and place names, or place names into coordinates on the map. Run batch queries, store results in your database, and display them on a Mapbox map or anywhere you want.

Designed for developers

Get started using the Search SDK with support for

  {
    "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."
  }

Authentication is simple and results are returned in GeoJSON format. Learn more about how the Geocoding API works in this getting started guide.

Showcases

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.