Overview
Transport for The Netherlands (NS API) provides real-time and scheduled train data for Dutch national rail operator NS. You can retrieve train timetables, live departures, delays, and journey planning information. An API key is required and can be requested through the NS developer portal at apiportal.ns.nl.
Beginner Tip
Request your API key at apiportal.ns.nl — approval is usually quick. Use the /reisinformatie-api/api/v3/departures endpoint with a station code such as "ASD" for Amsterdam Centraal to get live departure boards.
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
payload.departures List of upcoming departures from the station. payload.departures[].direction Final destination of the train service. payload.departures[].plannedDateTime Planned departure time in ISO 8601 format. payload.departures[].actualDateTime Actual or expected departure time, reflecting any delays. payload.departures[].trainCategory Category of the train (e.g., IC, SPR, Intercity Direct). payload.departures[].departureStatus Current status of the departure (e.g., ON_STATION, DEPARTED). Implementation Example
Calls a real endpoint of this API. Replace any placeholder credentials with your own key.
const url = "https://gateway.apiportal.ns.nl/reisinformatie-api/api/v3/departures?station=ASD&maxJourneys=5";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
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 →AIS Hub
AIS Hub aggregates real-time Automatic Identification System data from a global network of shore-based receivers to track marine vessels.
AZ511
AZ511 is the official Arizona Department of Transportation traffic data API providing real-time road conditions, incidents, and camera information for Arizona highways.
Bay Area Rapid Transit
⭐ Beginner's PickThe BART API provides real-time train arrival predictions, station information, and service advisories for the Bay Area Rapid Transit system in the San Francisco Bay Area.
Boston MBTA Transit
⭐ Beginner's PickThe Boston MBTA Transit API gives you real-time data for the Massachusetts Bay Transportation Authority, including train, bus, and ferry arrivals.
Transport for Sweden
Transport for Sweden (Trafiklab) is a developer platform providing access to public transport data across all of Sweden.