HERE Geocoding and Search drop-in replacement
HERE splits its search API across several hosts. All of them collapse to here.mygeocode.com, which answers with the same items array, address object and position object that HERE clients read.
Change one hostname
| Original host |
|
|---|---|
| Use instead | here.mygeocode.com |
| Key parameter | apiKey (optional: any address gets 2,500 requests a day with no key; put your My Geocode key here for credit, packages and a usage history) |
curl "https://geocode.search.hereapi.com/v1/geocode?q=Invalidenstra%C3%9Fe+116%2C+10115+Berlin&apiKey=YOUR_HERE_KEY"curl "https://here.mygeocode.com/v1/geocode?q=Invalidenstra%C3%9Fe+116%2C+10115+Berlin&apiKey=YOUR_MYGEOCODE_KEY"Why people move
HERE prices by transaction with monthly commitments. A single hostname change moves you to 2,500 free calls a day per address, with or without a key, and flat or per-request pricing after that.
Same free allowance, key or not. Requests to here.mygeocode.com count toward the same 2,500 free requests a day your address, or your key, gets on our own endpoints. Above that, prepaid credit at €0.0001 per request, or €50 a month for an Unlimited key. Signing up takes a name and an email address, and no card.
Endpoints
| Path on here.mygeocode.com | What it does | Backed by |
|---|---|---|
/v1/geocode?q=... | Geocode | Forward geocoding |
/v1/revgeocode?at=lat,lng | Reverse geocode | Reverse geocoding |
/v1/autosuggest?q=...&at=lat,lng | Autosuggest | Address autocomplete |
/v1/autocomplete?q=... | Autocomplete | Address autocomplete |
Example response
This is what the request above returns. Field names, nesting and types follow HERE. Only the data behind them is ours.
{
"items": [
{
"title": "Invalidenstraße 116, 10115 Berlin, Germany",
"id": "here:mg:zP9Jfy3pJy_dkRvwXn1a9NZtt2auMPyBBg",
"resultType": "houseNumber",
"houseNumberType": "PA",
"address": {
"label": "Invalidenstraße 116, 10115 Berlin, Germany",
"countryCode": "DEU",
"countryName": "Germany",
"city": "Berlin",
"street": "Invalidenstraße",
"postalCode": "10115",
"houseNumber": "116"
},
"position": { "lat": 52.53077, "lng": 13.38501 },
"access": [{ "lat": 52.53077, "lng": 13.38501 }],
"mapView": { "west": 13.38448, "south": 52.53027, "east": 13.38548, "north": 52.53127 },
"scoring": {
"queryScore": 0.97,
"fieldScore": { "city": 1.0, "streets": [1.0], "houseNumber": 1.0, "postalCode": 1.0 }
}
}
]
}Details and differences
No key is needed for the first 2,500 requests a day. To use a My Geocode key, put it where your HERE key went: the apiKey query parameter (apikey is accepted too), or a Bearer token. The X-API-Key header, Authorization: Bearer and HTTP Basic authentication (the key as the user name) work on every host too, so client libraries that authenticate their own way keep working unchanged.
- Errors use HERE’s title, status, code, cause and action fields with a correlation id.
- No batch endpoint, because the original has none. For bulk work use
POST /v1/forwardor/v1/reverseonapi.mygeocode.com(up to 100 per call, one request each). show=tzaddstimeZone(the zone and its offset right now) andshow=countryInfothe country’s two and three letter codes, as HERE does.show=parsing,show=streetInfoandshow=postalCodeDetailsare answered too, andshowTranslations=city,stateadds the names of a place in other languages.
If your client depends on a field or behaviour that is not listed here, tell us. Compatibility gaps get fixed quickly because they are usually small.
Other drop-in hosts
- Google Maps
- Bing Maps
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- TomTom
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
How the drop-ins work, the overview, and the JavaScript library drop-ins.