TomTom Search drop-in replacement
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.
Change one hostname
| Original host |
|
|---|---|
| Use instead | tomtom.mygeocode.com |
| Key parameter | key (put your My Geocode key here, or leave it out for the free 2,500 a day) |
curl "https://api.tomtom.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_TOMTOM_KEY"curl "https://tomtom.mygeocode.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_MYGEOCODE_KEY"Why people move
TomTom's free tier is 2,500 transactions a day, the same as ours, but a transaction there can cost several credits. Here every call is one request, and paid usage has a flat option.
Try it before you sign up for anything. Requests to tomtom.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 tomtom.mygeocode.com | What it does | Backed by |
|---|---|---|
/search/2/geocode/{query}.json | Geocode | Forward geocoding |
/search/2/structuredGeocode.json?countryCode=...&streetName=... | Structured geocode | Forward geocoding |
/search/2/reverseGeocode/{lat},{lon}.json | Reverse geocode | Reverse geocoding |
/search/2/search/{query}.json?typeahead=true | Fuzzy search with typeahead | Address autocomplete |
Example response
This is what the request above returns. Field names, nesting and types follow TomTom. Only the data behind them is ours.
{
"summary": {
"query": "avenida paulista 1578 sao paulo",
"queryType": "NON_NEAR",
"queryTime": 21,
"numResults": 1,
"offset": 0,
"totalResults": 1,
"fuzzyLevel": 1
},
"results": [
{
"type": "Point Address",
"id": "mg.br.addr.7d1a55f2",
"score": 11.98,
"address": {
"streetNumber": "1578",
"streetName": "Avenida Paulista",
"municipalitySubdivision": "Bela Vista",
"municipality": "São Paulo",
"countrySecondarySubdivision": "São Paulo",
"countrySubdivision": "São Paulo",
"countrySubdivisionCode": "SP",
"postalCode": "01310-200",
"countryCode": "BR",
"country": "Brasil",
"countryCodeISO3": "BRA",
"freeformAddress": "Avenida Paulista 1578, Bela Vista, São Paulo, SP 01310-200",
"localName": "São Paulo"
},
"position": { "lat": -23.561414, "lon": -46.655881 },
"viewport": {
"topLeftPoint": { "lat": -23.560514, "lon": -46.656881 },
"btmRightPoint": { "lat": -23.562314, "lon": -46.654881 }
}
}
]
}Details and differences
- type uses TomTom's labels: Point Address, Street, Geography, POI, Address Range, Cross Street.
- countrySet, limit, ofs, lat, lon, radius, language and view are honoured. Points of interest search by category is not included.
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
- HERE
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
How the drop-ins work, the overview, and the JavaScript library drop-ins.