schooldates.

UK school term dates, as a dataset

No government body publishes school term dates for the United Kingdom. Schooldates collects them from each school, trust and local authority, and serves them as JSON.

Every date carries the URL it was read from, the day it was last checked, and whether it is legally binding for that school.

27,208
establishments
12,424
with term dates
3.8 million
pupils covered
4
academic years

Covering 2026-27, 2027-28, 2028-29, 2029-30. Collected from 243 calendars published by schools, trusts and councils.

Endpoints

Read-only, no key needed to try. Full specification: OpenAPI 3.1.

Term dates for one school
GET /v1/establishments/138655/dates?year=all
Resolved through the school's own calendar, then its trust's, then its council's. The basis field says which applied and whether it binds that school. This one publishes its own 2026-27 and falls back to Bristol's calendar for 2027-28.
Who is off on a date
GET /v1/dates?on=2026-10-26
Every establishment whose calendar shows a holiday, half term or inset day covering that day, with a count of pupils.
What changed
GET /v1/changes?since=2026-08-01
Dates added, moved or withdrawn since a timestamp, with the old and new values. Poll this instead of re-reading the dataset. It fills as sources are re-read, so a quiet week returns nothing.
Establishments
GET /v1/establishments?authority=hertfordshire&has_dates=true
Filter by nation, local authority, trust, phase, type, postcode prefix or name.
Councils and trusts
GET /v1/authorities?nation=england
Also /v1/trusts. Each says whether a calendar is held for it.
Coverage
GET /v1/meta/coverage
What the dataset currently holds, by year and by source kind.

Who this is for

The query each one runs.

Travel and holidays
When school holiday pricing starts and ends, by region, a year ahead.
GET /v1/dates?on=2027-02-15
Retail and grocery
Demand planning against the weeks families are at home.
GET /v1/dates?on=2026-12-24
Childcare, camps and tutoring
Which schools in a catchment break up when, so provision matches.
GET /v1/establishments?postcode=AL1&has_dates=true
Workforce and HR tools
Where staff leave requests will cluster.
GET /v1/dates?on=2026-10-26
Attractions, cinemas and leisure
Staffing and programming around inset days and half terms.
GET /v1/dates?on=2027-05-31
Local news and publishers
Term dates for every school in a patch, kept current.
GET /v1/establishments?authority=birmingham&has_dates=true

Pricing

Plan Calls Price For
No key 120 an hour £0 Trying it out
Free 500 a month £0 One site, one school
Starter 10,000 a month £19 a month A product feature
Business 250,000 a month £99 a month Production traffic
Bulk Whole dataset, delivered On application Warehousing and resale

Keys are issued by email: contact@schooldates.co.uk. Send the plan you want and what you are building. Send the key as Authorization: Bearer <key> or X-API-Key.

Rate limit state comes back on every response in x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset.

Attribution you must carry

Every plan, including the free one, requires visible attribution to schooldates.co.uk wherever the data is displayed:

Contains data from Schooldates — schooldates.co.uk

Where you show a specific school's dates, also name the school, trust or council given in that record's provenance.source_url. Both notices are returned on every response in meta.attribution, so there is nothing to hard-code.

Terms are on the licensing page.

Automated clients

Pages on this site are open to everything, including AI assistants and search crawlers. The API is not: bulk crawlers, model trainers and SEO tools are asked for a key, and robots.txt tells them to stay off /v1/.

Everything else — browsers, curl, your own integration — gets 120 calls an hour without a key.

What is not in it

No head teacher names or any other named individuals, on any plan. No childminders, whose names and addresses Ofsted redacts. No snow days or other short-notice closures. No coordinates for Northern Ireland, whose grid references would need a transform we do not hold.

Where a date has not been found, the API says so rather than estimating one.

Get a key
Tell us the plan and what you are building.
contact@schooldates.co.uk