Free date and week data as JSON
Four sets of static JSON files: the dating rules and sources behind all 68 countdowns on this site, ten-year date tables per event, everything happening in a given year, and the complete ISO 8601 week calendar for 2020 to 2035. No key, no signup, no rate limit, CORS open to everyone, CC BY 4.0.
The week calendar is the piece worth knowing about. Week numbers govern planning and payroll across Northern Europe and are surprisingly hard to get hold of in machine-readable form, especially around the year boundary, where ISO week 1 can start in the previous December and the last week of a year can run into January. Those edges are exactly where hand-rolled implementations go wrong.
Endpoints
| File | What it contains |
|---|---|
| /api/events.json | All 68 events with slug, name, category, the dating rule in plain language, the range the date can fall in, where it is observed, the source if one was verified, and the next occurrence. |
| /api/events/{slug}.json | One event, with the next ten occurrences and the weekday for each. Slugs come from the index file. |
| /api/year/{year}.json | Everything that falls in one calendar year, sorted, with the weekday and ISO week for each. Years 2020 to 2035. |
| /api/weeks/{year}.json | The full ISO 8601 week calendar: every week with its number, Monday, Sunday and month, plus whether the year has 52 or 53 weeks and which ISO week year owns 1 January and 31 December. Years 2020 to 2035. |
Fields in the week calendar
| Field | Type | Meaning |
|---|---|---|
| weekCount | number | 52 or 53. The number of ISO weeks the year owns. |
| hasLeapWeek | boolean | True when weekCount is 53. |
| firstDayOfYearIsoWeekYear | number | The ISO week year that owns 1 January. Differs from the calendar year whenever 1 January falls on a Friday, Saturday or Sunday. |
| weeks[].monday | string | The Monday that opens the week, as YYYY-MM-DD. For week 1 this can be a date in the previous December. |
| weeks[].month | string | The month the week mostly sits in, taken from its Thursday. |
Example response
Abridged from the live file for 2026, a 53-week year whose first ISO week opens on 29 December 2025:
{
"version": "1.0.0",
"licence": "CC BY 4.0",
"year": 2026,
"standard": "ISO 8601",
"weekCount": 53,
"hasLeapWeek": true,
"weeks": [
{
"week": 1,
"monday": "2025-12-29",
"sunday": "2026-01-04",
"month": "January"
},
{
"week": 2,
"monday": "2026-01-05",
"sunday": "2026-01-11",
"month": "January"
}
]
}Fetching it
curl -s https://daysto.today/api/weeks/2026.json | jq '.weekCount'const res = await fetch("https://daysto.today/api/events.json");
const { events } = await res.json();
const moving = events.filter((e) => e.range !== null);
console.log(moving.map((e) => `${e.name}: ${e.rule}`));Licence and attribution
The data is published under Creative Commons Attribution 4.0. You may use it commercially, redistribute it and build on it. The condition is credit. Copy this line, or something equivalent that links back:
Data from DaysTo (https://daysto.today), CC BY 4.0Every file carries the same licence, version and attribution string in its own body, so the terms travel with the data.
Versioning
Current version 1.0.0. Fields will be added, never removed or renamed within a major version. Anything that changes shape gets a new major version and an entry in the changelog. Data verified on 2026-08-05.
Frequently asked questions
Do I need an API key?
No. There is no key, no signup, no rate limit and no account. These are plain static JSON files served from a CDN with Access-Control-Allow-Origin set to *, so you can fetch them straight from a browser.
Can I use this data commercially?
Yes. The data is published under CC BY 4.0, which permits commercial use, redistribution and modification. The one condition is attribution: credit DaysTo and link to daysto.today.
How often does the data change?
The files are regenerated daily, but the underlying rules change only when a date is corrected or an event is added. Every such change is recorded in the changelog with a date and a reason.
Why is there no endpoint for an arbitrary year?
Because an unbounded year parameter is an infinite URL space, and a countdown site that opens one has already lost. The year files run from 2020 to 2035. If you need a year outside that, the dating rules in the events file let you compute it yourself, which is the point of publishing rules rather than only dates.
How reliable are the dates?
Every event carries the rule that produced its date and, where a primary source was checked directly, a link to it. Where no source has been verified, the sourceVerified field is false and the page for that event says so. That is deliberate: an unmarked guess is worse than a marked one.
Need something this does not cover?
A custom countdown, a private deployment, or a data feed shaped for your own product. Say what you are building and you will get an honest answer about whether it is worth doing.
Related tools
Keep the date math going with the rest of the toolkit.