Pricing
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.

Routing

Routes, matrices, isolines and fleet-wide tour optimisation on one road graph.

GET /v1/routes

Billed as: Routing · $0.75

Parameters

originrequired52.5296,13.4030
destinationrequired52.5170,13.3889
transportModeoptionaltruckcar · truck · bike · pedestrian · scooter
departureTimeoptional2026-07-27T08:30:00Zenables live + historical traffic
returnoptionalpolyline,summary,actions
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 responseSandbox 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/matrix

Billed as: Matrix routing · $2.50

Parameters

originsrequired[{lat,lng} × 500]
destinationsrequired[{lat,lng} × 500]
regionDefinitionoptionalworld
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 responseSandbox 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/isolines

Billed as: Isolines · $0.75

Parameters

originrequired48.8566,2.3522
range[type]optionaltimetime · distance · consumption
range[values]optional600,1200,1800
curl -sG "https://api.apinavi.com/v1/isolines" \
  -H "Authorization: Bearer $APINAVI_KEY" \
  -d "origin=48.8566,2.3522" \
  -d "range[type]=time"
Sample responseSandbox data
{
  "isolines": [
    {
      "range": {
        "type": "time",
        "value": 600
      },
      "polygons": [
        {
          "outer": "BG8-ihBw_qFvHnLzKrOzFnI3B_C…"
        }
      ],
      "departure": {
        "place": {
          "location": {
            "lat": 48.8566,
            "lng": 2.3522
          }
        }
      }
    }
  ]
}

POST /v1/tours

Billed as: Tour planning · $17.49

Parameters

fleetrequiredvehicle types, shifts, capacities
planrequiredjobs with time windows
objectivesoptionalminimise cost, then lateness
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 responseSandbox 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}.mvt

Billed as: Vector tiles · $0.25

Parameters

styleoptionalnavi-nightnavi-night · navi-day · terrain · minimal
langoptionalfr
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 responseSandbox 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}.png

Billed as: Raster tiles · $0.25

Parameters

scaleoptional21 or 2 for HiDPI
styleoptionalnavi-day
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 responseSandbox data
{
  "note": "image/png",
  "contentType": "image/png",
  "bytes": 28714,
  "scale": 2,
  "style": "navi-day"
}

GET /v1/static

Billed as: Raster tiles · $0.25

Parameters

centerrequired41.3874,2.1686
zoomoptional13
sizeoptional1200x630
overlayoptionalroute:polyline,pin:41.39,2.17
curl -sG "https://api.apinavi.com/v1/static" \
  -H "Authorization: Bearer $APINAVI_KEY" \
  -d "center=41.3874,2.1686" \
  -d "zoom=13"
Sample responseSandbox 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/flow

Billed as: Traffic · $1.25

Parameters

inrequiredbbox:13.30,52.48,13.48,52.56
locationReferencingoptionalolr,shape
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 responseSandbox 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/incidents

Billed as: Traffic · $1.25

Parameters

inrequiredcircle:48.86,2.35;r=5000
criticalityoptionalmajor,critical
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 responseSandbox 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/autosuggest

Billed as: Places & autosuggest · $1.00

Parameters

qrequiredtorstr
atrequired52.5296,13.4030
limitoptional8
curl -sG "https://api.apinavi.com/v1/autosuggest" \
  -H "Authorization: Bearer $APINAVI_KEY" \
  -d "q=torstr" \
  -d "at=52.5296,13.4030"
Sample responseSandbox 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/browse

Billed as: Places & autosuggest · $1.00

Parameters

atrequired40.4168,-3.7038
categoriesoptionalev-charging,fuel1 200+ categories
radiusoptional3000
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 responseSandbox 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/lookup

Billed as: Places & autosuggest · $1.00

Parameters

idrequiredhere:pds:place:276u33db-...
curl -sG "https://api.apinavi.com/v1/lookup" \
  -H "Authorization: Bearer $APINAVI_KEY" \
  -d "id=here:pds:place:276u33db-..."
Sample responseSandbox 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/tolls

Billed as: Routing · $0.75

Parameters

routerequiredpolyline or route id
vehicleoptionaltype:truck;axles:5;emission:euro6
currencyoptionalEUR
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 responseSandbox 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/positions

Billed as: Matrix routing · $2.50

Parameters

assetsrequired[{id, lat, lng, ts, speed}]
mapMatchoptionaltruesnap to the road graph
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 responseSandbox 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/geofences

Billed as: Matrix routing · $2.50

Parameters

shaperequiredpolygon | circle | corridor
webhookoptionalhttps://your.app/hooks/fence
curl -s "https://api.apinavi.com/v1/geofences" \
  -H "Authorization: Bearer $APINAVI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "shape": "polygon | circle | corridor"
  }'
Sample responseSandbox 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.