Transport for Norway API
Overview
Entur is the Norwegian national journey planner API, providing comprehensive public transport data covering trains, buses, ferries, and trams across all of Norway. The API is free and requires no authentication, making it one of the most beginner-friendly transit APIs in Europe. It uses GraphQL, which lets you request exactly the data fields you need in a single query.
Beginner Tip
Entur uses GraphQL rather than REST, so all requests go to a single endpoint as POST requests with a JSON body containing your query. Visit api.entur.io/journey-planner/v3/ide/ to use the built-in GraphQL explorer to write and test queries interactively.
Available Data
The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.
Example Response
Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.
{
"route": "Line 1",
"origin": "Station A",
"destination": "Station B",
"departure": "08:30",
"arrival": "09:15",
"status": "On Time",
"delays_min": 0
} Field Reference
stopPlace.name The official name of the transit stop, such as Oslo Bussterminal or Bergen stasjon. estimatedCalls List of upcoming departures from the stop, each containing timing and destination information. expectedDepartureTime ISO 8601 timestamp of the predicted departure time, accounting for real-time delays. destinationDisplay.frontText The destination text shown on the front of the vehicle, e.g. Nationaltheatret. serviceJourney.line.publicCode The public-facing line number or name, such as 31 or Flåmsbana. quay.id Unique NSR identifier for a specific platform or quay at a stop, used for precise departure queries. Implementation Example
Calls a real endpoint of this API. Replace any placeholder credentials with your own key.
const url = "https://api.entur.io/journey-planner/v3/graphql";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data); What Can You Build?
Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.
Common Errors & Troubleshooting
Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.
Metadata Score Breakdown
Estimated from metadata — endpoint not independently tested
Metadata estimate · endpoint not independently tested
Technical Specifications
Related Tags
Similar APIs
View All →ADS-B Exchange
⭐ Beginner's PickADS-B Exchange is a community-driven API that provides real-time and historical position data for aircraft around the world.
airportsapi
⭐ Beginner's PickThe airportsapi lets you look up airport names and official website URLs by providing an ICAO code.
BC Ferries
⭐ Beginner's PickThe BC Ferries API is a free, open API providing real-time sailing schedules, capacity, and current conditions for BC Ferries routes in British Columbia, Canada.
Community Transit
⭐ Beginner's PickCommunity Transit (Transitland) is a free, open API that aggregates public transit data from hundreds of agencies worldwide including routes, stops, and schedules.
Transport for Sweden
Transport for Sweden (Trafiklab) is a developer platform providing access to public transport data across all of Sweden.