opendays APIopendays.com ↗
Access UK university open day calendars, event details, and institution profiles via the opendays.com API. 5 endpoints covering events, booking URLs, and campus data.
What is the opendays API?
The opendays.com API provides structured access to UK university and college open day data across 5 endpoints, covering calendar listings, event details, institution profiles, and directory search. The get_calendar endpoint returns day-by-day open day schedules for any given month, while get_open_day_detail delivers per-event fields including date, time, location, description, and booking URL — all keyed by event slug.
curl -X GET 'https://api.parse.bot/scraper/d1ea339d-1a99-44b3-873d-3cd5af45ccaa/get_calendar?year=2025&month=january' \ -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 opendays-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.
from parse_apis.opendays_com_api import OpenDays, Month, InstitutionSummary
client = OpenDays()
# Browse the September 2025 calendar
calendar = client.calendars.get(month=Month.SEPTEMBER, year="2025")
for day in calendar.days:
print(day.date)
for event in day.events:
print(event.institution, event.location)
# Get full details for an open day event
detail = client.opendaysummary(slug="university-of-york-open-day-id87113-5-September-2025").details()
print(detail.title, detail.date, detail.time, detail.booking_url)
# Search institutions and drill into a profile
for inst in client.institutionsummaries.search(query="Portsmouth"):
profile = inst.details()
print(profile.name, profile.address, profile.website)
for campus in profile.campuses:
print(campus.name, campus.address)
Retrieve the open day calendar for a given month. Returns days with scheduled open day events including institution names, locations, and event slugs. Each call returns one month of events. When month/year are omitted, returns the current month's calendar.
| Param | Type | Description |
|---|---|---|
| year | string | Four-digit year (e.g. 2025). Omitting returns the current year. |
| month | string | Full month name in lowercase. Omitting returns the current month. |
{
"type": "object",
"fields": {
"days": "array of objects each containing a date string and an events array with institution, url, slug, and location",
"year": "string, the requested year or null if not specified",
"month": "string, the requested month or null if not specified"
},
"sample": {
"data": {
"days": [
{
"date": "3 Wednesday",
"events": [
{
"url": "https://www.opendays.com/institutions/birkbeck-university-of-london-open-day-id87363-3-September-2025",
"slug": "birkbeck-university-of-london-open-day-id87363-3-September-2025",
"location": "Wednesday 3 September 2025 open day London",
"institution": "Birkbeck University of London"
}
]
}
],
"year": "2025",
"month": "september"
},
"status": "success"
}
}About the opendays API
Calendar and Event Data
The get_calendar endpoint accepts optional year and month parameters (e.g. month=september, year=2025) and returns an array of days, each containing a date string and an events array. Each event object includes the institution name, a URL, a slug, and a location string. Omitting both parameters returns the current month's schedule. Slugs from calendar results feed directly into get_open_day_detail, which returns the full event record: title, date, time, location, description, institution, and a booking_url pointing to the institution's registration page.
Institution Directory
list_all_institutions returns the complete directory as an array of objects, each with name, slug, and url. The response includes a count field showing the total number of institutions indexed. search_institutions accepts a query string and performs a case-insensitive substring match against institution names, returning the same shape — useful for resolving a partial name to a slug before fetching the full profile.
Institution Profiles
get_institution_profile takes an institution slug and returns a structured profile containing name, address, website, campuses (array of name/address pairs), and a contact object with name, department, telephone, and email fields. It also exposes three URL fields — travel_url, booking_url, and open_days_url — linking directly to the institution's own pages. Coverage is limited to UK higher education institutions listed on opendays.com.
The opendays API is a managed, monitored endpoint for opendays.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when opendays.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 opendays.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 personalised open day planner that pulls upcoming events from
get_calendarfiltered by region or institution type - Automate email digests of new open day listings by diffing monthly calendar responses
- Populate a university comparison tool with contact details, campus addresses, and booking links from
get_institution_profile - Resolve institution names entered by users to canonical slugs using
search_institutionsbefore fetching full profiles - Generate a structured dataset of all UK open days for a given academic year by iterating
get_calendaracross months - Surface direct booking URLs from
get_open_day_detailin a student guidance app or chatbot
| 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 opendays.com have an official developer API?+
What does `get_open_day_detail` return beyond the calendar listing?+
get_open_day_detail adds the event title, time, a full description string, and a booking_url — the direct link to register for that specific event. The time and location fields may be empty strings if the institution hasn't specified them.Does the API cover open days outside the United Kingdom?+
Can I filter calendar results by institution type, subject area, or region?+
get_calendar returns all scheduled events for the requested month without server-side filtering by institution type, subject, or location. The location field is present in each event object, so client-side filtering by location string is possible. You can fork this API on Parse and revise it to add a filtered endpoint if you need region- or subject-scoped results.Are past open day events accessible, or only future ones?+
get_calendar accepts any valid year and month combination, so historically listed months are queryable in the same format as future ones. However, booking_url values in get_open_day_detail for past events may point to expired or inactive registration pages on the institution's own site — the API returns whatever URL is present in the source listing.