Geocoding — entry 072 of 80

TomTom

Verified Jul 2026

TomTom's Geocoding API converts addresses and place names into coordinates and back, drawing on TomTom's own commercial map data rather than open datasets like OSM, and sits alongside its routing, traffic, and search products. TomTom is steering new integrations toward its newer Orbis Maps platform while keeping this legacy Maps/Geocoding API live and documented. New accounts get 20,000 free geocoding requests a month with no card required, with metered paid tiers above that.

geocodingmapsaddress-lookupfreemium
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score81out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 81 on greatapis.com
<a href="https://greatapis.com/api/tomtom/"><img src="https://greatapis.com/badge/tomtom.svg" alt="Scored 81 on greatapis.com"></a>

Auth quickstart

  1. Get a key at the provider
  2. Send it on every request as a query param?key=<key>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.tomtom.com
Auth
api_key
Additional Data1
GET/search/{versionNumber}/additionalData.{ext}Additional Data
Parameters
NameInRequiredType
versionNumberpathyesinteger
extpathyesstring
geometriesqueryyesstring
geometriesZoomquerynointeger
Responses
StatusDescriptionSchema
200OK: additional data were retrieved and the body of the response contains requested data.
400Bad request: one or more parameters(i.e. geometries, ext) were incorrectly specified.
403Permission, capacity, or authentication issues: - Forbidden - Not authorized - Account inactive - Account over queries per second limit - Account over rate limit - Rate limit exceeded
404Not Found: the requested resource could not be found, but it may be available again in the future.
405Method Not Allowed: the client used a HTTP method other than GET.
408Request timeout.
414Requested uri is too long.
500An error occurred while processing the request. Please try again later.
502Internal network connectivity issue.
503Service currently unavailable.
504Internal network connectivity issue or a request that has taken too long to complete.
596Service not found.
Filters4
GET/search/{versionNumber}/geometryFilter.{ext}Geometry Filter
Parameters
NameInRequiredType
versionNumberpathyesinteger
extpathyesstring
geometryListqueryyesstring
poiListqueryyesstring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
POST/search/{versionNumber}/geometryFilter.{ext}Geometry Filter
Parameters
NameInRequiredType
versionNumberpathyesinteger
extpathyesstring
Request body

application/json

Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/routedFilter/{position}/{heading}.{ext}Routed Filter
Parameters
NameInRequiredType
versionNumberpathyesinteger
positionpathyesstring
headingpathyesnumber
extpathyesstring
poiListqueryyesstring
routingTimeoutquerynointeger
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
POST/search/{versionNumber}/routedFilter/{position}/{heading}.{ext}Routed Filter
Parameters
NameInRequiredType
versionNumberpathyesinteger
positionpathyesstring
headingpathyesnumber
extpathyesstring
routingTimeoutquerynointeger
Request body

application/json

Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
Geocoding2
GET/search/{versionNumber}/geocode/{query}.{ext}Geocode
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
storeResultquerynoboolean
typeaheadquerynoboolean
limitquerynointeger
ofsquerynointeger
countrySetquerynostring
latquerynonumber
lonquerynonumber
radiusquerynointeger
topLeftquerynostring
btmRightquerynostring
languagequerynostring
extendedPostalCodesForquerynostring
viewquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/structuredGeocode.{ext}Structured Geocode
Parameters
NameInRequiredType
versionNumberpathyesinteger
extpathyesstring
countryCodequeryyesstring
limitquerynointeger
ofsquerynointeger
streetNumberquerynostring
streetNamequerynostring
crossStreetquerynostring
municipalityquerynostring
municipalitySubdivisionquerynostring
countryTertiarySubdivisionquerynostring
countrySecondarySubdivisionquerynostring
countrySubdivisionquerynostring
postalCodequerynostring
languagequerynostring
extendedPostalCodesForquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
Reverse Geocoding2
GET/search/{versionNumber}/reverseGeocode/crossStreet/{position}.{ext}Cross Street lookup
Parameters
NameInRequiredType
versionNumberpathyesinteger
positionpathyesstring
extpathyesstring
limitquerynointeger
spatialKeysquerynoboolean
headingquerynonumber
radiusquerynointeger
languagequerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/reverseGeocode/{position}.{ext}Reverse Geocode
Parameters
NameInRequiredType
versionNumberpathyesinteger
positionpathyesstring
extpathyesstring
spatialKeysquerynoboolean
returnSpeedLimitquerynoboolean
headingquerynonumber
radiusquerynointeger
numberquerynostring
returnRoadUsequerynoboolean
roadUsequerynostring
callbackquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
Search10
GET/search/{versionNumber}/cS/{category}.{ext}Low Bandwith Category Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
categorypathyesstring
extpathyesstring
typeaheadquerynoboolean
limitquerynointeger
ofsquerynointeger
countrySetquerynostring
latquerynonumber
lonquerynonumber
radiusquerynointeger
topLeftquerynostring
btmRightquerynostring
languagequerynostring
idxSetquerynostring
viewquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/categorySearch/{query}.{ext}Category Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
typeaheadquerynoboolean
limitquerynointeger
ofsquerynointeger
countrySetquerynostring
latquerynonumber
lonquerynonumber
radiusquerynointeger
topLeftquerynostring
btmRightquerynostring
languagequerynostring
extendedPostalCodesForquerynostring
viewquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/geometrySearch/{query}.{ext}Geometry Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
geometryListquerynostring
limitquerynointeger
languagequerynostring
extendedPostalCodesForquerynostring
idxSetquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
POST/search/{versionNumber}/geometrySearch/{query}.{ext}Geometry Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
limitquerynointeger
languagequerynostring
extendedPostalCodesForquerynostring
idxSetquerynostring
Request body

application/json

Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/nearbySearch/.{ext}Nearby Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
extpathyesstring
latqueryyesnumber
lonqueryyesnumber
limitquerynointeger
ofsquerynointeger
countrySetquerynostring
radiusquerynointeger
topLeftquerynostring
btmRightquerynostring
languagequerynostring
extendedPostalCodesForquerynostring
minFuzzyLevelquerynointeger
maxFuzzyLevelquerynointeger
idxSetquerynostring
viewquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/poiSearch/{query}.{ext}Points of Interest Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
typeaheadquerynoboolean
limitquerynointeger
ofsquerynointeger
countrySetquerynostring
latquerynonumber
lonquerynonumber
radiusquerynointeger
topLeftquerynostring
btmRightquerynostring
languagequerynostring
extendedPostalCodesForquerynostring
viewquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/routedSearch/{query}/{position}/{heading}.{ext}Routed Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
positionpathyesstring
headingpathyesnumber
extpathyesstring
typeaheadquerynoboolean
limitquerynointeger
multiplierquerynointeger
routingTimeoutquerynointeger
languagequerynostring
extendedPostalCodesForquerynostring
idxSetquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/s/{query}.{ext}Low bandwith Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
typeaheadquerynoboolean
limitquerynointeger
ofsquerynointeger
countrySetquerynostring
latquerynonumber
lonquerynonumber
radiusquerynointeger
topLeftquerynostring
btmRightquerynostring
languagequerynostring
idxSetquerynostring
viewquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
GET/search/{versionNumber}/search/{query}.{ext}Fuzzy Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
typeaheadquerynoboolean
limitquerynointeger
ofsquerynointeger
countrySetquerynostring
latquerynonumber
lonquerynonumber
radiusquerynointeger
topLeftquerynostring
btmRightquerynostring
languagequerynostring
extendedPostalCodesForquerynostring
minFuzzyLevelquerynointeger
maxFuzzyLevelquerynointeger
idxSetquerynostring
viewquerynostring
Responses
StatusDescriptionSchema
200
400
403
405
596
5XX
POST/search/{versionNumber}/searchAlongRoute/{query}.{ext}Along Route Search
Parameters
NameInRequiredType
versionNumberpathyesinteger
querypathyesstring
extpathyesstring
maxDetourTimequeryyesinteger
limitquerynointeger
Request body

application/json

Responses
StatusDescriptionSchema
200
400
403
405
596
5XX

Try it

Developer reference

Base URLhttps://api.tomtom.com
Rate limit

Free tier: per-API monthly allowances (e.g. ~20,000 geocoding calls/month); TomTom is revising this pricing structure as of July 2026

Key endpoints
  • GET/search/{versionNumber}/geocode/{query}.{ext}
  • GET/search/{versionNumber}/structuredGeocode.{ext}
  • GET/search/{versionNumber}/reverseGeocode/{position}.{ext}
  • GET/search/{versionNumber}/poiSearch/{query}.{ext}
  • GET/search/{versionNumber}/search/{query}.{ext}

Changelog

Spec version1.0.0
Tracked paths16

No change recorded yet.

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗