Discover/Ontario Parks API
live

Ontario Parks APIreservations.ontarioparks.ca

Check group campsite availability across Ontario Parks by weekend and month. Returns park-level status, daily availability codes, and resource-level detail.

Endpoint health
verified 3d ago
search_group_campsite_availability
list_parks
get_park_availability
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Ontario Parks API?

This API exposes 3 endpoints for querying group campsite availability across Ontario Parks' reservation system. The search_group_campsite_availability endpoint sweeps all 5 regions for a given month range and returns per-park weekend counts, daily status codes, and available area names — letting you compare options across dozens of parks in a single call. The other endpoints drill into specific parks or list every park with group campsite facilities.

Try it
Year to search. Omitting defaults to the current year.
End month (1-12). Must be >= start_month.
Start month (1-12).
api.parse.bot/scraper/ed14e06b-a3fa-45bd-8f33-6038b5b6f21b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/ed14e06b-a3fa-45bd-8f33-6038b5b6f21b/search_group_campsite_availability?year=2026&end_month=1&start_month=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 reservations-ontarioparks-ca-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.

"""Ontario Parks Group Campsite Availability — find open weekends for group camping."""
from parse_apis.ontario_parks_group_campsite_availability_api import (
    OntarioParks, Month, ParkNotFound
)

client = OntarioParks()

# List all regions with group campsite parks
for region in client.regions.list(limit=5):
    print(region.region, f"({len(region.parks)} parks)")

# Search for weekend availability in July
result = client.parks.search(start_month=Month.JULY, end_month=Month.JULY, year=2026)
print(f"Checked {result.weekends_checked} weekends, found {len(result.summary_by_park)} parks")

for summary in result.summary_by_park[:3]:
    print(summary.park_name, f"{summary.weekends_available}/{summary.weekends_checked} weekends available")

# Drill into a specific park's availability for a date range
park = client.park(map_id=-2147483558)
try:
    avail = park.availability(start_date="2026-07-10", end_date="2026-07-12")
    print(avail.park_name, avail.overall_availability)
    for child in avail.child_maps[:3]:
        print(f"  {child.name}: {[d.status for d in child.daily_availability]}")
except ParkNotFound as exc:
    print(f"Park not found: {exc}")

print("exercised: regions.list / parks.search / park.availability")
All endpoints · 3 totalmissing one? ·

Search for group campsite availability on weekends across specified months. Discovers parks with group campsites then checks each weekend's availability at the region level. Returns park-level availability summary including daily status codes and weekend counts. Queries 5 regions per weekend so a single-month range (about 4-5 weekends) completes within timeout.

Input
ParamTypeDescription
yearintegerYear to search. Omitting defaults to the current year.
end_monthintegerEnd month (1-12). Must be >= start_month.
start_monthintegerStart month (1-12).
Response
{
  "type": "object",
  "fields": {
    "year": "integer year searched",
    "months": "string range like '6-8'",
    "results": "array of {park_name, park_map_id, region, weekend, start_date, end_date, daily_status, has_availability, available_areas}",
    "summary_by_park": "array of {park_name, region, park_map_id, weekends_available, weekends_checked}",
    "weekends_checked": "integer number of weekends in the range",
    "parks_with_group_campsites": "array of {name, region, map_id}"
  }
}

About the Ontario Parks API

What the API covers

The API covers group campsite availability across Ontario's provincial park reservation system, organized into 5 regions. list_parks returns a complete directory of parks that offer group campsite facilities, structured as regions (each with region_map_id and an array of {name, map_id} parks) plus total_parks and total_regions counts. These map_id values are the keys used by the other two endpoints.

Weekend availability search

search_group_campsite_availability accepts year, start_month, and end_month parameters and sweeps every weekend in that range across all regions. It returns a flat results array where each entry covers one park–weekend combination, including start_date, end_date, daily_status codes, has_availability (boolean), and available_areas. The summary_by_park array rolls this up to weekends_available and weekends_checked per park, giving a fast signal for which parks have the most open windows without parsing every individual result.

Per-park detail

get_park_availability takes a map_id, start_date, and end_date and returns resource-level and area-level detail. The resources array lists individual campsite resources with daily_availability entries containing code and status per day. The child_maps array breaks availability down by named sub-areas of the park. The overall_availability field gives a flat string array (e.g. Available, Unavailable) covering each day in the requested range, useful for a quick date-by-date scan without iterating individual resources.

Reliability & maintenanceVerified

The Ontario Parks API is a managed, monitored endpoint for reservations.ontarioparks.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when reservations.ontarioparks.ca 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 reservations.ontarioparks.ca 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.

Last verified
3d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Find which Ontario Parks have open group campsites on any given summer weekend using summary_by_park weekends_available counts
  • Build a group trip planner that compares park availability across a full season by querying start_month through end_month
  • Generate a weekly digest of newly available group campsites for a specific region using region filtering from list_parks
  • Check whether a specific park has day-by-day availability for a multi-day group event using get_park_availability with custom date ranges
  • Map group campsite parks geographically using map_id and region data from list_parks
  • Alert users when a previously unavailable park shows has_availability = true for a target weekend
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Ontario Parks have an official developer API?+
Ontario Parks does not publish a public developer API or documented API program. The reservation system at reservations.ontarioparks.ca is intended for end-user booking, not programmatic access.
What does daily_status contain in the search results, and how is it different from overall_availability in get_park_availability?+
In search_group_campsite_availability results, daily_status is a compact status code returned per weekend date, alongside the boolean has_availability flag. In get_park_availability, overall_availability is a string array — one entry per day in the requested range — using human-readable values like 'Available' or 'Unavailable'. The per-park detail endpoint also adds resources and child_maps arrays with their own daily_availability breakdowns at the resource and sub-area level.
Does the API return individual campsite names, site numbers, or pricing for group campsites?+
Not currently. The API returns resource IDs, daily availability codes, and child map area names, but does not expose individual site names, site numbers, or nightly pricing. You can fork this API on Parse and revise it to add an endpoint targeting that detail if the source exposes it.
Are weekday dates covered, or only weekends?+
search_group_campsite_availability focuses on weekends within the specified month range, which is reflected in the weekends_checked response field. get_park_availability accepts arbitrary start_date and end_date strings in YYYY-MM-DD format, so weekday availability for a specific park can be checked directly using that endpoint.
Does the API cover all Ontario Parks, including day-use or non-group sites?+
The API covers only parks that have group campsite facilities. list_parks returns total_parks and total_regions counts scoped to that subset. Individual tent or electrical sites, backcountry permits, and day-use facilities are not covered. You can fork this API on Parse and revise it to target other booking categories if the reservation system exposes them.
Page content last updated . Spec covers 3 endpoints from reservations.ontarioparks.ca.
Related APIs in TravelSee all →
reservation.pc.gc.ca API
Access real-time campground availability and reservation data from the Parks Canada booking system. Search locations, retrieve available campsites and cabins, filter by equipment type, and review operating date schedules across the national park network. Includes detailed resource metadata and map-based availability overviews.
campsites.co.uk API
Search for UK campsites, view detailed information including amenities and facilities, and check real-time availability across different accommodation types and categories. Plan your camping trip by filtering results to find the perfect site that matches your needs.
pitchup.com API
Search for campsites across the Pitchup.com network and instantly access detailed information including reviews, real-time availability, and pricing to find and book your perfect camping destination. Filter results by location, amenities, and other criteria to narrow down your options before making a reservation.
hipcamp.com API
Search Hipcamp campgrounds and retrieve detailed information including site availability, pricing, reviews, and amenities to plan your camping trips. Access real-time campground data, browse specific sites, and read visitor reviews all in one place.
centerparcs.fr API
Search and book holiday accommodations across Center Parcs resorts, compare pricing to find the best available deals, and discover activities at each location. Browse detailed accommodation information and explore what each park domain offers.
opentable.ca API
Search and discover restaurants on OpenTable, view detailed information like menus and reviews, and check real-time dining availability across metro areas. Find top-rated restaurants in your location and instantly see which tables are open for your preferred date and time.
nycgovparks.org API
Access events, park locations, and programs across New York City's parks system. Search and filter events by category, retrieve detailed event and park information, and explore recreation programs offered by the NYC Department of Parks & Recreation.
themeparks.com API
Plan your theme park visits with real-time wait times, operating schedules, attraction details, show information, and dining options across parks worldwide. Search for specific parks, explore attractions and restaurants, view park maps, and check schedules by month to optimize your experience.