Skip to content
Navo24Navo24
GETAPI key

Trip lookup

GETapi.navo24.com/v1/road/trip

One box for anything a shipper types: a Navo trip ID or CMR, a truck or trailer plate (public carrier tracking where it exists), or a route like "Warsaw to Berlin" (answered as /route). coords trimmed in the example.

Query parameters

qstringrequired

Trip ID, CMR, plate, or "from to to".

Response schema

27 fields

Derived from the example response, nested as the JSON is.

dataobject

The payload. Everything an endpoint returns sits under this key.

fromobject
namestring

Human-readable name.

ccstring
countrystring

Country name.

latnumber

Latitude.

lngnumber

Longitude.

locodestring

UN/LOCODE of the place.

kindstring

carrier_event when a carrier filed it, trackingmcp_inference when we derived the step from surrounding events.

tzstring
qstring
toobject
namestring

Human-readable name.

ccstring
countrystring

Country name.

latnumber

Latitude.

lngnumber

Longitude.

locodestring

UN/LOCODE of the place.

kindstring

carrier_event when a carrier filed it, trackingmcp_inference when we derived the step from surrounding events.

tzstring
qstring
kmnumber
driving_hoursnumber
departstring
etastring

Arrival time (ISO 8601) of the vessel (the ARRI event) at the port in destination_unlocode: planned until it arrives, actual after (see eta_is_estimated). It is not the discharge (DISC) and not the moment the cargo is ready for pickup. When a line files no arrival event, its discharge at that port stands in. Null when the carrier publishes none and we cannot predict one. When the line gave only a date, this reads 00:00 UTC on that date, which is padding, and some real ETAs also fall exactly on 00:00 UTC. On the detail answer (GET /v1/containers/{id}, and the refresh that returns it), eta_local tells them apart (a bare YYYY-MM-DD for a date, a time for a real ETA): take the day from it rather than converting this instant (west of UTC a padded date shows the day before). GET /v1/containers/lookup/{identifier} serves no eta_local.

coordsnumber[][]
nowany | null

Errors

A failure carries { "ok": false, "error": { "code", "message", "severity" } }. Branch on the code, and log the message.

missing_key401

No key in Authorization or x-api-key.

invalid_key401

The key is unknown or revoked.

rate_limited429

More than 40 requests in one minute from one client.

trip_not_found404

No trip, plate or route matches q.

curl 'https://api.navo24.com/v1/road/trip?q=Warsaw%20to%20Berlin' \
  -H "Authorization: Bearer tmcp_YOUR_API_KEY"
Response
{
  "data": {
    "from": {
      "name": "Warsaw",
      "cc": "PL",
      "country": "Poland",
      "lat": 52.22977,
      "lng": 21.01178,
      "locode": "PLWAW",
      "kind": "city",
      "tz": "Europe/Warsaw",
      "q": "52.22977,21.01178"
    },
    "to": {
      "name": "Berlin",
      "cc": "DE",
      "country": "Germany",
      "lat": 52.52437,
      "lng": 13.41053,
      "locode": "DEBER",
      "kind": "city",
      "tz": "Europe/Berlin",
      "q": "52.52437,13.41053"
    },
    "km": 573.9,
    "driving_hours": 7.3,
    "depart": "2026-11-02T06:50:00+00:00",
    "eta": "2026-11-02T14:53:00+00:00",
    "coords": [
      [
        21.01195,
        52.22957
      ],
      [
        21.0122,
        52.22991
      ]
    ],
    "now": null
  }
}