This is the old developer documentation

Entur's developer documentation has moved to developer.entur.no. Use the new site for the latest documentation. This old version will be retired once its content has moved. API changes are published here for now, under News and Notifications.

Journey Planner v3

This API is the core service for journey planning and uses OpenTripPlanner software to provide departure boards for individual stops, and point-to-point journey planning for all public transport in Norway, including real-time information, regardless of transport mode, or operator. All data is presented as a Transmodel-based GraphQL-API.

Base URL: https://api.entur.io/journey-planner/v3/graphql

To make it easier for our users to construct valid API-queries, we have an IDE for the API where you also find the documentation.

GraphQL IDE: https://api.entur.io/graphql-explorer/journey-planner-v3

Are you new to GraphQL? You can read more about it here: https://graphql.org/

From May 1st 2025 Tariffzones references (eg. AKT:TariffZone:450) will no longer be updated as they are depricated. You will however still get references to FareZones that has replaced the old TariffZones (eg. AKT:FareZone:2)

Example queries

Authentication

This API is open under NLOD licence, however, it is required that all consumers identify themselves by using the header ET-Client-Name. Entur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers. The structure of ET-Client-Name should be: "company-application"

Header examples:

  • "brakar-journeyplanner"
  • "fosen_utvikling-departureboard"
  • "nor_way_bussekspress-nwy-app"

API

There is only one endpoint!

POST https://api.entur.io/journey-planner/v3/graphql

Headers

  • Content-Type: application/json
  • ET-Client-Name: <company>-<application> (See Authentication section above)

Body

A JSON body with a "query" field and optionally "variables".

{
    "query": "string",
    "variables": {
        "myVariable": "value"
    }
}