rwsverkeersinfo APIrwsverkeersinfo.nl ↗
Fetch Dutch traffic peak hour forecasts from Rijkswaterstaat Verkeersinformatie. Get severity levels, congestion summaries, and 15-minute interval graph data per day part.
What is the rwsverkeersinfo API?
The rwsverkeersinfo.nl API exposes one endpoint — get_peak_forecast — that returns the current Dutch traffic spits (peak hour) forecast published by Rijkswaterstaat Verkeersinformatie. Each response includes 7 or more distinct fields per forecast object: a severity level on a 1–4 scale, a plain-text summary, expected congestion in kilometers, and time-series graph data at 15-minute intervals, covering all listed day parts such as morning and evening rush hours.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/6211231b-86fc-4c78-90b0-5e5bbb65290c/get_peak_forecast' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace rwsverkeersinfo-nl-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: RWS Verkeersinformatie — Dutch traffic peak-hour forecasts."""
from parse_apis.rwsverkeersinfo_nl_api import RwsVerkeersinfo, ParseError
client = RwsVerkeersinfo()
# Fetch all current peak-hour forecasts (typically morning + evening).
try:
for forecast in client.forecasts.list(limit=10):
print(f"{forecast.date} {forecast.daypart_label}: severity {forecast.severity}/4")
print(f" {forecast.severity_label}")
print(f" {forecast.summary[:100]}")
# Show first few graph data points for expected vs average traffic intensity.
for point in forecast.graph_data[:3]:
print(f" {point.time} — expected: {point.expected}, average: {point.average}")
except ParseError as e:
# Upstream page structure changed or extraction failed.
print(f"Parse error ({e.code}): {e}")
print("exercised: forecasts.list / Forecast fields / GraphPoint fields")
Returns the current traffic peak (spits) forecast for all listed day parts (typically morning and evening). Each forecast includes a severity level (1-4), a textual summary, an explanation of expected congestion in kilometers, and 15-minute interval graph data showing expected and average traffic intensity values. No input parameters; the endpoint always returns the latest published forecast.
No input parameters required.
{
"type": "object",
"fields": {
"title": "Page title string",
"forecasts": "Array of forecast objects, one per listed day part (e.g. morning, evening)",
"disclaimer": "General disclaimer text about the page"
},
"sample": {
"data": {
"title": "Spitsverwachting",
"forecasts": [
{
"id": 3229,
"date": "2026-08-17",
"daypart": "AM",
"summary": "De vakantie is voorbij in de regio Noord. Waar in de afgelopen weken vrijwel geen sprake was van een echte ochtendspits, zullen de spitsen nu weer langzaam op gang komen. Houd hier rekening mee als je op pad gaat.",
"severity": 2,
"graph_data": [
{
"time": "06:00",
"average": 0,
"expected": 0
},
{
"time": "06:15",
"average": 14,
"expected": 14
},
{
"time": "08:30",
"average": 80,
"expected": 80
},
{
"time": "09:45",
"average": 25,
"expected": 25
}
],
"daypart_label": "ochtend",
"severity_label": "Lichte spits (light peak)",
"severity_explanation": "Bij een lichte spits verwachten we tot 200 kilometer file op de rijkswegen."
}
],
"disclaimer": "Op deze pagina vind je de spitsverwachtingen van Rijkswaterstaat Verkeersinformatie."
},
"status": "success"
}
}About the rwsverkeersinfo API
What the API returns
The single get_peak_forecast endpoint returns a structured JSON response with three top-level fields: title (the page title string from the source), disclaimer (the general disclaimer text associated with the forecast page), and forecasts — an array of forecast objects, one per day part listed on the page (typically morning and evening rush hour).
Each object in the forecasts array carries a severity level (integer 1–4, where higher numbers indicate more severe congestion), a textual summary describing expected traffic conditions, an explanation that quantifies expected congestion in kilometers, and 15-minute interval graph data visualising predicted traffic intensity across the day part window.
Inputs and freshness
get_peak_forecast accepts no input parameters. The response reflects whatever forecast Rijkswaterstaat Verkeersinformatie is currently publishing for the day, so results vary by time of day and day of week. There are no filters for specific roads, provinces, or routes — the endpoint returns all day-part forecasts as a single payload.
Coverage scope
The data covers the national-level spits forecast for the Netherlands, as published by Rijkswaterstaat. The severity scale and textual content match what appears on the rwsverkeersinfo.nl spitsverwachting page. Individual road incidents, real-time road closures, and historical forecast archives are not part of this endpoint's response.
The rwsverkeersinfo API is a managed, monitored endpoint for rwsverkeersinfo.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rwsverkeersinfo.nl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official rwsverkeersinfo.nl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display morning and evening rush-hour severity badges in a Dutch commuter app using the 1–4 severity level field.
- Plot expected congestion intensity over time using the 15-minute interval graph data for data journalism or dashboards.
- Send automated Slack or push notifications when the severity level exceeds a threshold before weekday rush hour.
- Feed the congestion-in-kilometers summary into a route-planning tool to advise whether to depart early or late.
- Archive daily forecast objects to analyse seasonal patterns in Dutch rush-hour predictions.
- Embed the plain-text summary and disclaimer into a travel planning newsletter covering Dutch road conditions.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Rijkswaterstaat offer an official developer API for traffic data?+
What does the severity level field represent?+
severity field inside each forecast object is an integer from 1 to 4. A value of 1 indicates minimal expected congestion; 4 indicates the most severe peak-hour conditions. The level corresponds to what Rijkswaterstaat Verkeersinformatie displays on the spitsverwachting scale. The textual summary and congestion-in-kilometers explanation fields provide the human-readable description behind that number.Does the API cover individual road incidents or specific highway delays?+
get_peak_forecast endpoint returns the national-level day-part forecast — severity, summary, congestion volume, and graph data — but does not break down predictions by road, highway number, or region. You can fork this API on Parse and revise it to add an endpoint targeting incident-level or route-specific data from other Rijkswaterstaat sources.Can I retrieve historical spits forecasts from previous days?+
How many day parts does a typical response include?+
forecasts array contains one object per day part listed on the source page. On a typical weekday this is two entries — morning (ochtendspits) and evening (avondspits). On weekends or public holidays the array may have fewer entries or different labels, depending on what Rijkswaterstaat is currently publishing.