Reference The whole surface, on one page. Ten services, seventeen endpoints. Everything here is generated from the same OpenAPI document the SDKs are built from, so the page cannot drift from the implementation.
The reference is maintained in English only. Translating it would mean either stale copies or machine output, and neither belongs in documentation people debug against.
Basics
Base URL https://api.apinavi.com
Auth Authorization: Bearer $APINAVI_KEY on every request
Format JSON in, JSON out. Tiles return MVT or PNG.
Versioning Major version in the path. Additive changes never bump it.
Errors One envelope, stable codes, explicit retryable flag.
Limits Per key, per service, published on the developers page. Geocoding & Search Forward, reverse and batch geocoding over 250M addressed points in 200+ countries.
GET /v1/geocodeBilled as: Geocoding & search · $0.44 Parameters qrequired Torstraße 66, Berlin — inoptional countryCode:DEU restrict the search space langoptional de — limitoptional 5 —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/geocode" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "q=Torstraße 66, Berlin" \
-d "in=countryCode:DEU" Sample response Sandbox data
{
"items" : [
{
"id" : "navi:pl:addr:DEU:BER:10119:torstrasse:66" ,
"title" : "Torstraße 66, 10119 Berlin, Germany" ,
"resultType" : "houseNumber" ,
"address" : {
"label" : "Torstraße 66, 10119 Berlin, Germany" ,
"countryCode" : "DEU" ,
"countryName" : "Germany" ,
"state" : "Berlin" ,
"city" : "Berlin" ,
"district" : "Mitte" ,
"street" : "Torstraße" ,
"postalCode" : "10119" ,
"houseNumber" : "66"
},
"position" : {
"lat" : 52.52883 ,
"lng" : 13.40417
},
"access" : [
{
"lat" : 52.52871 ,
"lng" : 13.40423
}
],
"mapView" : {
"west" : 13.40287 ,
"south" : 52.52793 ,
"east" : 13.40547 ,
"north" : 52.52973
},
"scoring" : {
"queryScore" : 1 ,
"fieldScore" : {
"streets" : [
1
],
"houseNumber" : 1
}
}
}
]
}GET /v1/revgeocodeBilled as: Geocoding & search · $0.44 Parameters atrequired 52.5296,13.4030 — typesoptional address,street — langoptional en —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/revgeocode" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "at=52.5296,13.4030" \
-d "types=address,street" Sample response Sandbox data
{
"items" : [
{
"title" : "Torstraße 66, 10119 Berlin, Germany" ,
"resultType" : "houseNumber" ,
"address" : {
"label" : "Torstraße 66, 10119 Berlin, Germany" ,
"countryCode" : "DEU" ,
"city" : "Berlin"
},
"position" : {
"lat" : 52.52883 ,
"lng" : 13.40417
},
"distance" : 12
}
]
}POST /v1/geocode/batchBilled as: Geocoding & search · $0.44 Parameters rowsrequired up to 50 000 per job — callbackoptional https://your.app/hooks/geocode —
curl JavaScript Python Go
Copy curl -s "https://api.apinavi.com/v1/geocode/batch" \
-H "Authorization: Bearer $APINAVI_KEY" \
-H "Content-Type: application/json" \
-d '{
"rows": "up to 50 000 per job"
}' Sample response Sandbox data
{
"jobId" : "job_4b19c7" ,
"status" : "accepted" ,
"rows" : 42188 ,
"estimatedCompletion" : "2026-07-27T06:41:00Z" ,
"resultUrl" : "https://api.apinavi.com/v1/geocode/batch/job_4b19c7/result"
}Routing Routes, matrices, isolines and fleet-wide tour optimisation on one road graph.
GET /v1/routesBilled as: Routing · $0.75 Parameters originrequired 52.5296,13.4030 — destinationrequired 52.5170,13.3889 — transportModeoptional truck car · truck · bike · pedestrian · scooter departureTimeoptional 2026-07-27T08:30:00Z enables live + historical traffic returnoptional polyline,summary,actions —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/routes" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "origin=52.5296,13.4030" \
-d "destination=52.5170,13.3889" Sample response Sandbox data
{
"routes" : [
{
"id" : "r_8c1f2a" ,
"sections" : [
{
"type" : "vehicle" ,
"transport" : {
"mode" : "truck"
},
"departure" : {
"time" : "2026-07-27T08:30:00+02:00" ,
"place" : {
"location" : {
"lat" : 52.52883 ,
"lng" : 13.40417
}
}
},
"arrival" : {
"time" : "2026-07-27T08:47:12+02:00" ,
"place" : {
"location" : {
"lat" : 52.517 ,
"lng" : 13.3889
}
}
},
"summary" : {
"duration" : 1032 ,
"length" : 4180 ,
"baseDuration" : 878 ,
"tollCost" : {
"value" : 0 ,
"currency" : "EUR"
}
},
"polyline" : "BG0xhkDo1sZ_D3B7EnF3JzMvGrJ_EnG3BzC…" ,
"spans" : [
{
"offset" : 0 ,
"speedLimit" : 13.9 ,
"functionalClass" : 3
},
{
"offset" : 42 ,
"speedLimit" : 8.3 ,
"functionalClass" : 4 ,
"truckRestriction" : "weight:7.5t"
}
]
}
]
}
]
}POST /v1/matrixBilled as: Matrix routing · $2.50 Parameters originsrequired [{lat,lng} × 500] — destinationsrequired [{lat,lng} × 500] — regionDefinitionoptional world —
curl JavaScript Python Go
Copy curl -s "https://api.apinavi.com/v1/matrix" \
-H "Authorization: Bearer $APINAVI_KEY" \
-H "Content-Type: application/json" \
-d '{
"origins": "[{lat,lng} × 500]",
"destinations": "[{lat,lng} × 500]"
}' Sample response Sandbox data
{
"matrixId" : "mx_5f0c11" ,
"matrix" : {
"numOrigins" : 3 ,
"numDestinations" : 3 ,
"travelTimes" : [
0 ,
812 ,
1441 ,
795 ,
0 ,
934 ,
1408 ,
921 ,
0
],
"distances" : [
0 ,
3120 ,
6042 ,
3080 ,
0 ,
3714 ,
5980 ,
3702 ,
0
]
},
"regionDefinition" : {
"type" : "world"
}
}GET /v1/isolinesBilled as: Isolines · $0.75 Parameters originrequired 48.8566,2.3522 — range[type]optional time time · distance · consumption range[values]optional 600,1200,1800 —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/isolines" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "origin=48.8566,2.3522" \
-d "range[type]=time" Sample response Sandbox data
{
"isolines" : [
{
"range" : {
"type" : "time" ,
"value" : 600
},
"polygons" : [
{
"outer" : "BG8-ihBw_qFvHnLzKrOzFnI3B_C…"
}
],
"departure" : {
"place" : {
"location" : {
"lat" : 48.8566 ,
"lng" : 2.3522
}
}
}
}
]
}POST /v1/toursBilled as: Tour planning · $17.49 Parameters fleetrequired vehicle types, shifts, capacities — planrequired jobs with time windows — objectivesoptional minimise cost, then lateness —
curl JavaScript Python Go
Copy curl -s "https://api.apinavi.com/v1/tours" \
-H "Authorization: Bearer $APINAVI_KEY" \
-H "Content-Type: application/json" \
-d '{
"fleet": "vehicle types, shifts, capacities",
"plan": "jobs with time windows"
}' Sample response Sandbox data
{
"statistic" : {
"cost" : 412.66 ,
"distance" : 268430 ,
"duration" : 27180 ,
"times" : {
"driving" : 21540 ,
"serving" : 5640
}
},
"tours" : [
{
"vehicleId" : "van_1" ,
"stops" : [
{
"location" : {
"lat" : 41.3874 ,
"lng" : 2.1686
},
"time" : {
"arrival" : "2026-07-27T08:00:00Z"
},
"activities" : [
{
"jobId" : "depot" ,
"type" : "departure"
}
]
},
{
"location" : {
"lat" : 41.3954 ,
"lng" : 2.1601
},
"time" : {
"arrival" : "2026-07-27T08:14:00Z"
},
"activities" : [
{
"jobId" : "job_18" ,
"type" : "delivery"
}
]
}
]
}
],
"unassigned" : []
}Maps MVT tiles at 0.044 per thousand at volume, four ready styles, full style spec.
GET /v1/tiles/vector/{z}/{x}/{y}.mvtBilled as: Vector tiles · $0.25 Parameters styleoptional navi-night navi-night · navi-day · terrain · minimal langoptional fr —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/tiles/vector/z/x/y.mvt" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "style=navi-night" \
-d "lang=fr" Sample response Sandbox data
{
"note" : "binary Mapbox Vector Tile" ,
"contentType" : "application/vnd.mapbox-vector-tile" ,
"bytes" : 41892 ,
"layers" : [
"water" ,
"landuse" ,
"roads" ,
"buildings" ,
"places" ,
"boundaries"
],
"style" : "navi-night"
}GET /v1/tiles/raster/{z}/{x}/{y}.pngBilled as: Raster tiles · $0.25 Parameters scaleoptional 2 1 or 2 for HiDPI styleoptional navi-day —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/tiles/raster/z/x/y.png" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "scale=2" \
-d "style=navi-day" Sample response Sandbox data
{
"note" : "image/png" ,
"contentType" : "image/png" ,
"bytes" : 28714 ,
"scale" : 2 ,
"style" : "navi-day"
}GET /v1/staticBilled as: Raster tiles · $0.25 Parameters centerrequired 41.3874,2.1686 — zoomoptional 13 — sizeoptional 1200x630 — overlayoptional route:polyline,pin:41.39,2.17 —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/static" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "center=41.3874,2.1686" \
-d "zoom=13" Sample response Sandbox data
{
"note" : "image/png" ,
"contentType" : "image/png" ,
"bytes" : 184320 ,
"width" : 1200 ,
"height" : 630
}Traffic Speeds, jam factors and incident geometry referenced to the same road graph as routing.
GET /v1/traffic/flowBilled as: Traffic · $1.25 Parameters inrequired bbox:13.30,52.48,13.48,52.56 — locationReferencingoptional olr,shape —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/traffic/flow" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "in=bbox:13.30,52.48,13.48,52.56" \
-d "locationReferencing=olr,shape" Sample response Sandbox data
{
"results" : [
{
"location" : {
"description" : "Karl-Marx-Allee" ,
"length" : 1840 ,
"olr" : "CwRbWyNG9RpsCQ…"
},
"currentFlow" : {
"speed" : 6.7 ,
"speedUncapped" : 6.7 ,
"freeFlow" : 13.9 ,
"jamFactor" : 7.4 ,
"confidence" : 0.97
}
}
],
"sourceUpdated" : "2026-07-27T06:31:04Z"
}GET /v1/traffic/incidentsBilled as: Traffic · $1.25 Parameters inrequired circle:48.86,2.35;r=5000 — criticalityoptional major,critical —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/traffic/incidents" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "in=circle:48.86,2.35;r=5000" \
-d "criticality=major,critical" Sample response Sandbox data
{
"results" : [
{
"incidentDetails" : {
"id" : "inc_2b81f" ,
"type" : "roadClosure" ,
"criticality" : "major" ,
"description" : {
"value" : "Rue de Rivoli closed between Louvre and Châtelet"
},
"startTime" : "2026-07-27T05:00:00Z" ,
"endTime" : "2026-07-27T16:00:00Z"
},
"location" : {
"shape" : {
"links" : [
{
"points" : [
{
"lat" : 48.8601 ,
"lng" : 2.3388
}
]
}
]
}
}
}
]
}Places Autosuggest, category browse and lookup across 1 200 categories.
GET /v1/autosuggestBilled as: Places & autosuggest · $1.00 Parameters qrequired torstr — atrequired 52.5296,13.4030 — limitoptional 8 —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/autosuggest" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "q=torstr" \
-d "at=52.5296,13.4030" Sample response Sandbox data
{
"items" : [
{
"title" : "Torstraße, Berlin, Germany" ,
"resultType" : "street" ,
"highlights" : {
"title" : [
{
"start" : 0 ,
"end" : 5
}
]
}
},
{
"title" : "Torstraße 66, 10119 Berlin" ,
"resultType" : "houseNumber" ,
"position" : {
"lat" : 52.52883 ,
"lng" : 13.40417
}
},
{
"title" : "Torstraßen-Apotheke" ,
"resultType" : "place" ,
"categories" : [
{
"id" : "600-6900-0087" ,
"name" : "Pharmacy"
}
]
}
],
"queryTerms" : [
{
"term" : "Torstraße" ,
"replaces" : "torstr" ,
"start" : 0 ,
"end" : 6
}
]
}GET /v1/browseBilled as: Places & autosuggest · $1.00 Parameters atrequired 40.4168,-3.7038 — categoriesoptional ev-charging,fuel 1 200+ categories radiusoptional 3000 —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/browse" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "at=40.4168,-3.7038" \
-d "categories=ev-charging,fuel" Sample response Sandbox data
{
"items" : [
{
"title" : "Ionity — Madrid Norte" ,
"categories" : [
{
"id" : "700-7600-0322" ,
"name" : "EV charging station" ,
"primary" : true
}
],
"position" : {
"lat" : 40.4712 ,
"lng" : -3.6899
},
"distance" : 2140 ,
"extended" : {
"evStation" : {
"connectors" : [
{
"type" : "ccs2" ,
"maxPowerKw" : 350 ,
"count" : 4 ,
"available" : 3
}
]
}
}
}
]
}GET /v1/lookupBilled as: Places & autosuggest · $1.00 Parameters idrequired here:pds:place:276u33db-... —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/lookup" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "id=here:pds:place:276u33db-..." Sample response Sandbox data
{
"id" : "navi:pds:place:276u33db-ee0e" ,
"title" : "Mercado de San Miguel" ,
"address" : {
"label" : "Plaza de San Miguel, s/n, 28005 Madrid, Spain"
},
"position" : {
"lat" : 40.4155 ,
"lng" : -3.7089
},
"categories" : [
{
"id" : "100-1000-0000" ,
"name" : "Restaurant" ,
"primary" : true
}
],
"openingHours" : [
{
"text" : [
"Mon-Sun: 10:00 - 24:00"
],
"isOpen" : true
}
]
}Fleet The operational layer: what a route costs, where the asset actually is, when it crossed.
GET /v1/tollsBilled as: Routing · $0.75 Parameters routerequired polyline or route id — vehicleoptional type:truck;axles:5;emission:euro6 — currencyoptional EUR —
curl JavaScript Python Go
Copy curl -sG "https://api.apinavi.com/v1/tolls" \
-H "Authorization: Bearer $APINAVI_KEY" \
-d "route=polyline or route id" \
-d "vehicle=type:truck;axles:5;emission:euro6" Sample response Sandbox data
{
"tollSystems" : [
{
"tollSystem" : "FR-APRR" ,
"countryCode" : "FRA" ,
"price" : {
"value" : 18.4 ,
"currency" : "EUR"
},
"paymentMethods" : [
"cash" ,
"creditCard" ,
"transponder"
]
},
{
"tollSystem" : "FR-SANEF" ,
"countryCode" : "FRA" ,
"price" : {
"value" : 11.2 ,
"currency" : "EUR"
}
}
],
"summary" : {
"total" : {
"value" : 29.6 ,
"currency" : "EUR"
},
"vehicle" : {
"type" : "truck" ,
"axles" : 5 ,
"emission" : "euro6"
}
}
}POST /v1/positionsBilled as: Matrix routing · $2.50 Parameters assetsrequired [{id, lat, lng, ts, speed}] — mapMatchoptional true snap to the road graph
curl JavaScript Python Go
Copy curl -s "https://api.apinavi.com/v1/positions" \
-H "Authorization: Bearer $APINAVI_KEY" \
-H "Content-Type: application/json" \
-d '{
"assets": "[{id, lat, lng, ts, speed}]"
}' Sample response Sandbox data
{
"matched" : [
{
"id" : "veh_2201" ,
"snapped" : {
"lat" : 52.51771 ,
"lng" : 13.38851
},
"offsetMeters" : 3.8 ,
"link" : {
"functionalClass" : 2 ,
"speedLimit" : 13.9 ,
"name" : "Leipziger Straße"
},
"confidence" : 0.98
}
]
}POST /v1/geofencesBilled as: Matrix routing · $2.50 Parameters shaperequired polygon | circle | corridor — webhookoptional https://your.app/hooks/fence —
curl JavaScript Python Go
Copy curl -s "https://api.apinavi.com/v1/geofences" \
-H "Authorization: Bearer $APINAVI_KEY" \
-H "Content-Type: application/json" \
-d '{
"shape": "polygon | circle | corridor"
}' Sample response Sandbox data
{
"id" : "gf_7d21a" ,
"shape" : {
"type" : "polygon" ,
"vertices" : 6
},
"state" : "active" ,
"webhook" : {
"url" : "https://your.app/hooks/fence" ,
"verified" : true
},
"events" : [
"enter" ,
"exit" ,
"dwell"
]
}Machine-readable The same reference for programs rather than people.