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
  • api.tomtom.com
Use insteadtomtom.mygeocode.com
Key parameterkey (put your My Geocode key here, or leave it out for the free 2,500 a day)
Before
curl "https://api.tomtom.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_TOMTOM_KEY"
After
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.

See pricing Sign up with an email

Endpoints

Path on tomtom.mygeocode.comWhat it doesBacked by
/search/2/geocode/{query}.jsonGeocodeForward geocoding
/search/2/structuredGeocode.json?countryCode=...&streetName=...Structured geocodeForward geocoding
/search/2/reverseGeocode/{lat},{lon}.jsonReverse geocodeReverse geocoding
/search/2/search/{query}.json?typeahead=trueFuzzy search with typeaheadAddress autocomplete

Example response

This is what the request above returns. Field names, nesting and types follow TomTom. Only the data behind them is ours.

Response from tomtom.mygeocode.com
{
  "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

All REST drop-ins and JavaScript library drop-ins.