Entur Developer
Open data

Real-Time Data

These APIs allow your server to subscribe to real-time data from all included real-time feeds in Norway on SIRI 2.0. It is available as SIRI XML, SIRI Lite (REST) and GTFS-RT.

These services include only real-time data and not any basic journey planner information. If you are creating an end-user service such as a journey planner, the JourneyPlanner API is a better choice.

Available data streams

CodespaceSourceSIRI ETSIRI VMSIRI SXGTFS-RT Trip UpdatesGTFS-RT Vehicle PositionsGTFS-RT Service Alerts
Entire Norway✓✓✓
AKTAgder (AKT)✓✓✓✓✓✓
ATBTrøndelag (AtB)✓✓✓✓✓✓
AVIAvinor
BNRSJ Nord (via Bane Nor) see FLT, GOA and VYG for other railway operators.✓
BRABuskerud (Brakar)✓✓✓✓✓✓
FINFinnmark (Snelandia)✓✓✓✓✓✓
FLTFlytoget✓✓✓✓✓
GOAGo-Ahead✓✓✓✓✓✓
INNInnlandet (Innlandstrafikk)✓✓✓
KOLRogaland (Kolumbus)✓✓✓✓✓
MORMøre og Romsdal (Fram)✓✓✓✓✓✓
NBUConnect Bus Flybuss✓✓✓✓✓✓
NORNordland fylkeskommune✓✓✓✓✓✓
NSBVy✓✓✓✓
OSTØstfold (Østfold kollektivtrafikk)✓✓✓✓✓✓
RUTOslo region (Ruter)✓✓✓✓
SJNSJ Nord✓
SKYVestland (Skyss)✓✓✓
TELTelemark (Farte)✓✓
TROTroms (Troms fylkestrafikk)✓✓✓✓✓
VKTVestfold (VKT)✓
VOTVestfold og Telemark✓✓✓✓
VYBVy Buss (SE)✓✓✓✓✓✓
VYGVy Group (rail)✓✓✓✓
VYXVy Buss (NO)✓✓✓

SIRI

SIRI is a CEN Technical Standard that specifies a European interface standard for exchanging information about the planned, current or projected performance of real-time public transport operations between different computer systems.

Publish/subscribe

When using publish/subscribe you'll first get one (or more) set with initial data, and then continuous updates with changes. This option requires an accessible endpoint which accepts HTTP POST requests from the Entur SIRI service.

Request/response

For Request/Response, the <RequestorRef> attribute is used to track changes and must therefore remain the same for all subsequent requests in order to only get changes. The attribute MoreData=true means the data comes in bunches, just like paging, and more data can be fetched immediately after the first "page" is received. Eg. if there are 20,000 objects, these will be split up in smaller parts and repeated requests are needed to get the full set.

Types of data

ET – Estimated Timetable

Real-time estimates for each service journey. Included are planned-, actual- and estimated departure times, cancellations and changes in stop patterns.

VM – Vehicle Monitoring

Vehicle-centric real-time data with the position of a vehicle, as well as any deviation from scheduled timetable on a given departure.

SX – Situation Exchange

Textual messages displayed to end users. They are always associated with a departure, line, stop etc., or combinations of these.

SIRI Lite

With simple HTTP GET calls to retrieve data, you can use the requestorId URL-parameter to only retrieve changes made since the last time you asked. If you do not use this, you will always get the full dataset, not just the first time you make a request. You must use a unique UUID.

More information

GTFS-RT

GTFS Realtime is a feed specification that allows public transportation agencies to provide realtime updates about their fleet to application developers. It is an extension to GTFS (General Transit Feed Specification), an open data format for public transportation schedules and associated geographic information.

Request/response

Only supports request/response currently. Endpoints exist for each data type that download the full dataset, filtered by datasource (codespace) if provided. This dataset is updated every 15 seconds. Later we will support publish/subscribe and continuous updates.

Types of data

Trip updates

Delays, cancellations, changed routes. Similar to SIRI ET.

Vehicle positions

Information about the vehicles including location and congestion level. Similar to SIRI VM.

Service alerts

Stop moved, unforeseen events affecting a station, route or the entire network. Similar to SIRI SX.

More information

API Reference

HTTP POST (Standard SIRI 2.0)

Publish/subscribe: https://api.entur.io/realtime/v1/subscribe

Request/Response: https://api.entur.io/realtime/v1/services

Get data for only one operator, add /<Codespace-ID> to the end of URL. You can find the operator's Codespace-ID in the list located above.

Example: https://api.entur.io/realtime/v1/services/RUT

HTTP GET (Standard SIRI 2.0 Lite)

HTTP GET https://api.entur.io/realtime/v1/rest/sx

HTTP GET https://api.entur.io/realtime/v1/rest/vm

HTTP GET https://api.entur.io/realtime/v1/rest/et

Note: Limited to 4 requests per minute. If more frequent updates are needed, publish/subscribe should be used.

Optional HTTP-parameters

datasetId

  • E.g. datasetId=RUT. You can find the operator's Codespace-ID in the list above.
  • Limits the results to original dataset-provider

Example: https://api.entur.io/realtime/v1/rest/et?datasetId=RUT

excludedDatasetIds

  • Comma-separated list of datasets to exclude from result
  • E.g. excludedDatasetIds=RUT,NSB
  • Limits result by excluding data from the provided datasetIds
  • Note: Valid for VM and ET requests only (I.e. the opposite of parameter datasetId)

Example: https://api.entur.io/realtime/v1/rest/et?excludedDatasetIds=BNR,OST,RUT

useOriginalId

By default we return data with IDs mapped to those used in the static route data. Instead, if you want the original IDs delivered from the underlying system, you can add a URL parameter useOriginalId = true.

NB: This is also supported by SIRI Publish/subscribe and Request/Response

Example: https://api.entur.io/realtime/v1/rest/sx?useOriginalId=true

maxSize

  • E.g. maxSize=10 (default is 1500)
  • Limits the number of elements in the returned result. requestorId will be used to track changes since last request and is provided in result. An id will be created and returned if not provided.
  • If more data exists, the attribute MoreData will be set to true

Example: https://api.entur.io/realtime/v1/rest/et?maxSize=10

requestorId

  • E.g. requestorId=757c9284-0f12-4a46-a557-33a19e80119b
  • Value needs to be unique for as long as only updated data are needed, a UUID should be used
  • First request creates a short lived session (timeout after e.g. 5 minutes)
  • Subsequent requests returns only changes since last request with the same requestorId

Example: https://api.entur.io/realtime/v1/rest/sx?requestorId=757c9284-0f12-4a46-a557-33a19e80119b

HTTP GET (GTFS-RT)

HTTP GET https://api.entur.io/realtime/v1/gtfs-rt/trip-updates

HTTP GET https://api.entur.io/realtime/v1/gtfs-rt/vehicle-positions

HTTP GET https://api.entur.io/realtime/v1/gtfs-rt/alerts

Note: Fetches complete dataset. Currently only updated every 15 seconds.

datasource

  • E.g. datasource=RUT. You can find the operator's Codespace-ID in the list above.
  • Limits the results to original dataset-provider

Additional Resources

For more information on road status, incidents, public transport and schedules, visit Transportportal.no. The portal's data catalogue gives you descriptions and links to data sets and services with information on road status, incidents, public transport, schedules and much more. All data sets are open and available for re-use and as source for your own services.

Last modified on
Did you find what you were looking for?