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 (put your My Geocode key here, or leave it out for the free 2,500 a day) |
curl "https://geocode.search.hereapi.com/v1/geocode?q=Invalidenstra%C3%9Fe+116+Berlin&apiKey=YOUR_HERE_KEY"curl "https://here.mygeocode.com/v1/geocode?q=Invalidenstra%C3%9Fe+116+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 and flat or per-request pricing after that.
Try it before you sign up for anything. Requests to here.mygeocode.com count toward the same 2,500 a day you get on our own endpoints, with no key and no account. Above that, credits at $0.001 per request or €50 a month unlimited. Signing up takes an email address and nothing else.
Endpoints
| Path on here.mygeocode.com | What it does | Backed by |
|---|---|---|
/v1/geocode?q=... | Geocode | Forward geocoding |
/v1/geocode?qq=street=...;city=... | Geocode with qualified query | 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, Deutschland",
"id": "mg.de.addr.9a3f1c77",
"resultType": "houseNumber",
"houseNumberType": "PA",
"address": {
"label": "Invalidenstraße 116, 10115 Berlin, Deutschland",
"countryCode": "DEU",
"countryName": "Deutschland",
"stateCode": "BE",
"state": "Berlin",
"countyCode": "B",
"county": "Berlin",
"city": "Berlin",
"district": "Mitte",
"street": "Invalidenstraße",
"postalCode": "10115",
"houseNumber": "116"
},
"position": { "lat": 52.53041, "lng": 13.38527 },
"access": [ { "lat": 52.53039, "lng": 13.38533 } ],
"mapView": { "west": 13.38393, "south": 52.52951, "east": 13.38661, "north": 52.53131 },
"scoring": {
"queryScore": 1.0,
"fieldScore": { "city": 1.0, "streets": [1.0], "houseNumber": 1.0, "postalCode": 1.0 }
}
}
]
}Details and differences
- resultType follows HERE's vocabulary: houseNumber, street, locality, administrativeArea, postalCodePoint, place.
- The at, in (countryCode and circle), limit and lang parameters are honoured. The Discover and Browse endpoints, which search points of interest by category, are not included.
- Both apiKey as a query parameter and Bearer tokens in the Authorization header are accepted. A bearer token is treated as an API key.
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.