Queue-Times APIqueue-times.com ↗
Access real-time ride wait times, crowd levels, and historical stats for 130+ theme parks worldwide via the Queue-Times.com API.
What is the Queue-Times API?
The Queue-Times.com API covers 130+ theme parks worldwide across three endpoints: retrieve the full park catalog grouped by company, fetch live per-attraction wait times organized by themed land via get_park_queue_times, and pull historical daily stats including crowd levels and prediction error rates via get_daily_stats. Response fields include ride open/closed status, average and maximum wait times, and geographic metadata like coordinates and timezone.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/e0afa94a-d68c-42c0-af0b-32eed239c480/list_parks' \ -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 queue-times-com-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.
"""Queue-Times.com — theme park wait time monitoring."""
from parse_apis.queue_times.com_api import QueueTimes, ParkNotFound
client = QueueTimes()
# List all park companies and browse their parks
company = client.companies.list(limit=1).first()
print(f"Company: {company.name} ({len(company.parks)} parks)")
park = company.parks[0]
print(f" First park: {park.name} in {park.country}, tz={park.timezone}")
# Get real-time queue times for that park
queue = client.parkqueues.get(park_id=str(park.id))
for land in queue.lands[:2]:
print(f"\n Land: {land.name}")
for ride in land.rides[:3]:
print(f" {ride.name}: {ride.wait_time} min, open={ride.is_open}")
# Get historical daily stats for a known date
report = client.dailyreports.get(park_id=str(park.id), year="2024", month="8", day="3")
print(f"\nDaily report for {report.date}: crowd={report.crowd_level}, error={report.prediction_error}")
for stat in report.ride_stats[:3]:
print(f" {stat.name}: avg={stat.average_wait_time} min, max={stat.maximum_wait_time} min")
# Typed error handling for an invalid park ID
try:
client.parkqueues.get(park_id="9999999")
except ParkNotFound as exc:
print(f"\nCaught ParkNotFound: {exc}")
print("\nExercised: companies.list / parkqueues.get / dailyreports.get / ParkNotFound error")
Returns all theme parks grouped by parent company. Each company entry contains its parks with geographic metadata (country, continent, coordinates, timezone). The full catalog is returned in a single response — no pagination required. Use park IDs from this response as input to get_park_queue_times and get_daily_stats.
No input parameters required.
{
"type": "object",
"fields": {
"companies": "array of company objects each containing id, name, and parks array with id, name, country, continent, latitude, longitude, timezone"
},
"sample": {
"data": {
"companies": [
{
"id": 11,
"name": "Cedar Fair Entertainment Company",
"parks": [
{
"id": 57,
"name": "California's Great America",
"country": "United States",
"latitude": "37.397799",
"timezone": "America/Los_Angeles",
"continent": "North America",
"longitude": "-121.974717"
}
]
}
]
},
"status": "success"
}
}About the Queue-Times API
Park Catalog
The list_parks endpoint returns every park in the catalog in a single unpaginated response. Parks are nested under their parent company — each company object carries an id and name, and each park entry includes id, name, country, continent, latitude, longitude, and timezone. The numeric park_id values from this response are the required input for both other endpoints.
Real-Time Queue Times
get_park_queue_times accepts a park_id and returns the current wait time and open/closed status for every attraction in that park. Attractions are grouped into lands (themed areas), each with its own id, name, and nested rides array. Rides not assigned to a land appear in a separate top-level rides array. Wait times are in minutes and reflect data refreshed every few minutes.
Historical Daily Statistics
get_daily_stats returns aggregated data for a single park on a specific date, identified by separate park_id, year, month, and day parameters. The response includes a crowd_level string (such as 'Quiet', 'Moderate', or 'Busy'), a prediction_error percentage, and a ride_stats array where each entry names an attraction and optionally provides its average_wait_time and maximum_wait_time in integer minutes. Either metric may be absent for a given attraction if data was not recorded. crowd_level and prediction_error may also be null for dates with incomplete coverage.
The Queue-Times API is a managed, monitored endpoint for queue-times.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when queue-times.com 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 queue-times.com 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 trip-planning tool that surfaces the least-crowded days at a target park using historical
crowd_leveldata fromget_daily_stats. - Display a live attraction status board for a specific park by polling
get_park_queue_timesand rendering open/closed status alongside current wait times. - Analyze prediction accuracy trends over time by collecting
prediction_errorvalues fromget_daily_statsacross multiple months. - Identify which rides consistently hit peak
maximum_wait_timevalues on busy dates to help visitors prioritize early-morning queuing. - Map park locations and filter by
continentorcountryfromlist_parksto build a regional theme park directory. - Alert users when a specific ride's wait time drops below a threshold by monitoring
get_park_queue_timeson a polling interval. - Compare crowd patterns across parks in the same company group by joining
list_parkscompany data with historical stats fromget_daily_stats.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Queue-Times.com offer an official developer API?+
How does get_park_queue_times organize rides, and what fields does each ride entry include?+
lands (themed areas within the park), each containing an id, name, and rides array. Each ride object includes its current wait time in minutes and an open/closed status flag. Rides not assigned to any land appear in a separate top-level rides array in the response.Are ride wait time histories available at finer than daily granularity?+
get_daily_stats endpoint returns per-attraction average_wait_time and maximum_wait_time aggregated across a full calendar day — intraday breakdowns (e.g., hourly wait curves) are not included. You can fork this API on Parse and revise it to add an endpoint targeting finer-grained historical data if the source exposes it.Does the API cover all attractions in a park, or only major rides?+
get_park_queue_times and get_daily_stats return data for whatever attractions Queue-Times.com tracks at that park. Coverage varies by park — smaller parks may have fewer tracked attractions, and some rides may appear in the response without wait-time values if data was not available for that period.Can I retrieve queue time forecasts or predicted wait times for future dates?+
get_park_queue_times returns current live data and get_daily_stats returns past dates only. The prediction_error field in historical responses reflects past forecast accuracy, not future predictions. You can fork this API on Parse and revise it to add a prediction endpoint if the source surfaces forward-looking estimates.