Drop-in replacements for other geocoding APIs

Switching geocoding providers usually means rewriting the code that parses responses. We would rather you did not have to. Each host below accepts the paths and parameters of one provider's API and answers in that provider's JSON format, with our data behind it. Change the hostname, put your My Geocode key where the old one went, and ship.

  1. Find your provider below

    Each page lists the original host, the replacement host, and every path that is supported.

  2. Change the host in your config

    For example maps.googleapis.com becomes gapi.mygeocode.com. Paths and parameters stay the same.

  3. Swap the key, or drop it

    Put your My Geocode key in the same parameter the old key used. Or leave it out and use the free 2,500 requests a day.

REST hosts

Google Maps Platform

maps.googleapis.com → gapi.mygeocode.com

The Geocoding, Places Autocomplete, Time Zone and Elevation web services all answer at the same paths on gapi.mygeocode.com, with the same JSON shape Google returns.

Endpoints and response format

Bing Maps REST Services

dev.virtualearth.net → bing.mygeocode.com

Microsoft is retiring Bing Maps for Enterprise.

Endpoints and response format

HERE Geocoding and Search

geocode.search.hereapi.com, revgeocode.search.hereapi.com, autosuggest.search.hereapi.com, autocomplete.search.hereapi.com → here.mygeocode.com

HERE splits its search API across several hosts.

Endpoints and response format

Mapbox Geocoding

api.mapbox.com → mapbox.mygeocode.com

Both the older v5 Geocoding API and the current v6 endpoints answer at mapbox.mygeocode.com.

Endpoints and response format

Geocode.Farm

api.geocode.farm, www.geocode.farm → farm.mygeocode.com

Geocode.Farm's forward and reverse endpoints, in both the v3 and v4 URL styles, answer at farm.mygeocode.com.

Endpoints and response format

OpenStreetMap Nominatim

nominatim.openstreetmap.org → osm.mygeocode.com

The public Nominatim instance asks for at most one request per second and no heavy use.

Endpoints and response format

OpenCage

api.opencagedata.com → opencage.mygeocode.com

OpenCage uses one endpoint for forward and reverse geocoding and returns a rich annotations block.

Endpoints and response format

LocationIQ

us1.locationiq.com, eu1.locationiq.com → locationiq.mygeocode.com

LocationIQ's search, reverse, autocomplete and timezone endpoints answer at locationiq.mygeocode.com.

Endpoints and response format

Geoapify

api.geoapify.com → geoapify.mygeocode.com

Geoapify's geocoding endpoints return GeoJSON FeatureCollections with a flat properties object.

Endpoints and response format

TomTom Search

api.tomtom.com → tomtom.mygeocode.com

TomTom's Geocode, Reverse Geocode and Fuzzy Search endpoints answer at tomtom.mygeocode.com with the same summary and results structure, including the freeformAddress field most integrations display..

Endpoints and response format

MapQuest Geocoding

www.mapquestapi.com, open.mapquestapi.com → mapquest.mygeocode.com

Both the licensed and the Open Data MapQuest geocoding endpoints answer at mapquest.mygeocode.com, with the info, options and results envelope and the adminArea1 to adminArea6 naming that MapQuest clients parse..

Endpoints and response format

Geocodio

api.geocod.io → geocodio.mygeocode.com

Geocodio focuses on the United States and Canada.

Endpoints and response format

PositionStack

api.positionstack.com → positionstack.mygeocode.com

PositionStack's forward and reverse endpoints answer at positionstack.mygeocode.com with the same data array and flat field names.

Endpoints and response format

ip-api.com

ip-api.com, pro.ip-api.com → ipapi.mygeocode.com

ip-api's JSON endpoint is one of the most widely copied IP lookup formats.

Endpoints and response format

ipinfo.io

ipinfo.io → ipinfo.mygeocode.com

ipinfo's compact JSON with a loc string and an org string prefixed by the AS number is reproduced at ipinfo.mygeocode.com.

Endpoints and response format

ipstack

api.ipstack.com → ipstack.mygeocode.com

ipstack's standard lookup and check endpoints answer at ipstack.mygeocode.com with the same top-level fields and location object, over HTTPS on every plan..

Endpoints and response format

Open-Elevation

api.open-elevation.com → openelevation.mygeocode.com

Open-Elevation's public server is a volunteer project with no uptime promise.

Endpoints and response format

JavaScript libraries

The same approach works for map and geocoder libraries. Load the Google Maps JavaScript API from gapi.mygeocode.com and google.maps.Map, Geocoder and places.Autocomplete keep working with our tiles and data, with no charge for map loads. There are loaders for the Bing Maps V8 control, HERE Maps for JavaScript and MapQuest.js, and configuration for MapLibre and Mapbox GL with mapbox-gl-geocoder, and for the Leaflet geocoder plugins.

JavaScript drop-ins

What is the same and what is not

The same

  • Paths, query parameters and HTTP methods documented by the provider.
  • Response structure: field names, nesting, arrays, types and coordinate order.
  • Status vocabularies, for example Google's OK and ZERO_RESULTS or Bing's statusCode.
  • Error shapes, so your existing error handling keeps working.
  • Pricing. A request to a compatibility host costs the same as a request to our own endpoint. The free 2,500 a day applies.

Different

  • The data. Coordinates, formatted addresses and confidence values are ours, so they will not match the original provider digit for digit.
  • Identifiers. Place IDs are ours and are stable, but they cannot be passed to the original provider.
  • Features outside geocoding, IP, timezone and elevation, such as routing, places details and photos, are not included. Each page lists what is missing.
  • Keys. A key can be used from at most two IP addresses in 24 hours, as on our own endpoints. Whitelist server IPs for larger fleets.

Provider not listed?

Adding a compatibility host is a few days of work when the provider's format is documented. If you are on a service that is not here, tell us which one and roughly how many requests a day you send.