Race Planet APIraceplanet.nl ↗
Access racing experiences, car details, add-ons, pricing, and bookable dates at Circuit Zandvoort via the Race Planet API. 3 endpoints, no auth required.
What is the Race Planet API?
The Race Planet API provides 3 endpoints to query driving experiences, detailed car and activity inclusions, and available booking dates at Circuit Zandvoort. Call list_experiences to retrieve all current offerings with prices and group sizes, then drill into any single experience via get_experience_details using its URL slug to get add-ons, duration, lunch inclusion, and a full description.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/244b4913-f7da-484b-a21b-f10e220e3f40/list_experiences' \ -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 raceplanet-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: Race Planet SDK — bounded, re-runnable; every call capped."""
from parse_apis.Race_Planet_API import RacePlanet, ExperienceNotFound
client = RacePlanet()
# List all racing experiences with prices and categories
for exp in client.experience_summaries.list(limit=3):
print(exp.name, exp.category, exp.price_eur, exp.max_group_size)
# Drill into a specific experience for full details (cars, addons)
summary = client.experience_summaries.list(limit=1).first()
full = summary.details()
print(full.name, full.duration, full.includes_lunch)
for car in full.cars_and_activities:
print(" -", car)
# Typed error: handle a non-existent experience
try:
gone = client.experience("nonexistent-slug").refresh()
print(gone.name)
except ExperienceNotFound as e:
print("not found:", e.experience_slug)
# Get available booking dates
for date in client.booking_dates.list(limit=3):
print(date)
print("exercised: experience_summaries.list / details / experience.refresh / booking_dates.list")
Returns all available racing experiences at Circuit Zandvoort, grouped by category (Race Experience, VIP Experience, Racing Cab). Each experience includes its price, maximum group size, and cover image. Results are auto-iterated (single page).
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer count of experiences",
"experiences": "array of experience summaries with id, name, category, price, and max group size"
},
"sample": {
"data": {
"total": 15,
"experiences": [
{
"id": "9d848542-5b69-4add-8b31-d724dcb5e604",
"name": "Driving Experience",
"category": "Race Experience",
"cover_url": "https://boeking.raceplanet.nl/storage/experiences/6fb5a055a8e766086842cbfe6e8e9ecf.webp",
"price_eur": 495,
"identifier": "driving-experience",
"max_group_size": 9,
"price_formatted": "€ 495,00",
"category_description": "Are you ready for the experience of your life?"
},
{
"id": "9d848542-7dcf-4028-9a78-30bf951c018f",
"name": "Super Experience",
"category": "Race Experience",
"cover_url": "https://boeking.raceplanet.nl/storage/experiences/8d36f061442cf359a32c67e4cbf0a38d.webp",
"price_eur": 675,
"identifier": "super-experience",
"max_group_size": 9,
"price_formatted": "€ 675,00",
"category_description": "Are you ready for the experience of your life?"
}
]
},
"status": "success"
}
}About the Race Planet API
What the API Covers
The Race Planet API exposes the full catalogue of racing experiences available at Circuit Zandvoort, the Dutch Formula 1 track. list_experiences returns every offering grouped by category — Race Experience, VIP Experience, and Racing Cab — with each entry including id, name, category, price, and max_group_size. The endpoint returns a total count alongside the experience array and requires no input parameters.
Experience Details
get_experience_details accepts a single required parameter, experience_slug (e.g. 'driving-experience' or 'platinum-experience'), sourced from the identifier field on any list result. The response adds fields not present in the list: an addons array (each add-on has name, description, and price), a duration string, includes_lunch boolean, a cover_url, and a description text block. This is the right endpoint to populate a booking detail page or compare what each tier actually includes.
Booking Availability
get_available_dates requires no parameters and returns a flat dates array of ISO 8601 strings (YYYY-MM-DD) representing upcoming event days at the circuit, plus a total count. Dates are shared across experiences — the endpoint does not break availability down per experience or per car type. Use it to populate a calendar picker or check whether a specific target date is open before presenting the user with experience options.
The Race Planet API is a managed, monitored endpoint for raceplanet.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when raceplanet.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 raceplanet.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?+
- Build a booking widget that displays upcoming Circuit Zandvoort event dates from
get_available_dates. - Compare racing experience tiers side-by-side using
price_eurandincludes_lunchfromget_experience_details. - Show a category-filtered experience catalogue using the
categoryfield fromlist_experiences. - Calculate total booking cost by summing
price_eurwith selected add-on prices from theaddonsarray. - Display group event options by filtering experiences on
max_group_sizefor corporate or team bookings. - Notify users when new bookable dates appear by polling
get_available_datesand diffing thedatesarray. - Generate experience comparison cards with
cover_url,duration, anddescriptionfromget_experience_details.
| 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 Race Planet offer an official developer API?+
Does `get_available_dates` tell me which specific experiences are available on each date?+
get_available_dates returns a single shared list of bookable event days without breaking availability down by experience or category. The API covers experience-level detail in get_experience_details and date availability separately. You can fork this API on Parse and revise it to add a per-experience availability endpoint.What does the `addons` field in `get_experience_details` contain?+
addons array lists optional extras purchasable alongside the base experience. Each entry includes a name, a description, and a price. Add-ons vary by experience — for example, photo packages or extra laps may appear on some slugs but not others.Does the API expose any real-time seat availability or remaining slot counts per date?+
Are experiences from other Race Planet locations included?+
list_experiences or any of the three current endpoints. You can fork this API on Parse and revise it to add coverage for additional Race Planet locations.