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.