Where the fixtures come from
The fixtures come from two APIs and a few hand-checked pages; this is how they are combined and checked.
The main source: Cricbuzz
Most fixtures come from Cricbuzz, through its official API on RapidAPI. It supplies the series, the matches in each one, the teams, the venues, the scheduled start and finish times and, once a match is over, its result. Where Cricbuzz lists a series, Cricbuzz is treated as the source of truth for it. Team names, match numbers and venues are shown as the provider publishes them.
The second opinion: CricAPI
CricAPI, from cricketdata.org, is a second, independent source, and it has two jobs.
Cross-checking
Matches sometimes move after they are first published. To catch that, every day a rotating selection of series is compared, match by match, against CricAPI's version. Any disagreement marks that series as suspect, and a suspect series goes to the front of the queue to be fetched again from Cricbuzz. The cross-check only flags series - what gets published is always the refreshed Cricbuzz data.
Filling gaps
Cricbuzz does not carry some domestic cricket at all, including South African, Pakistani, Sri Lankan, West Indian and Bangladeshi domestic competitions. Those come from CricAPI instead. If Cricbuzz starts listing one of them, its copy takes over and the CricAPI one is dropped, and the same match is never shown twice.
Checked by hand
A few smaller competitions are in neither feed. Those are typed in by a person from the organiser's own fixture page and re-checked about every two weeks while they are running. If you know of a competition that belongs here, the "Missing a match?" button at the foot of the calendar is the way to say so.
The daily refresh
An automated job runs daily at 05:17 UTC. It keeps a saved copy of every series, refreshes a few each day in order of priority (suspect series first), re-reads the full lists of series once a week, and then rebuilds the calendar from the whole saved collection. A match that has moved lands once, on its new date, as soon as its series is refreshed, and a cancelled match disappears with it.
Before a new calendar is published it is validated against a strict set of rules. If validation fails, or a feed cannot be reached, nothing is replaced: the last good calendar stays up and the failure is reported to the site's owner.
What "Updated" means
The date bar shows a note such as "Updated 3 h ago". It is the time since the calendar was last rebuilt, and hovering over it shows the exact time in UTC. Because the refresh runs each morning, UTC, a healthy calendar is usually less than a day old. Series are re-fetched on their own schedule, so a match's data can be older than the note.
If the calendar goes more than five days without a refresh, a warning strip appears above it: "Fixtures haven't refreshed since" a given date, and that times may be out of date. It disappears once a refresh succeeds.
What that means for you
A match announced this morning may take a day or two to appear, and organisers do change schedules at short notice. Results are shown only where a feed has recorded how a match ended. Before you book travel or tickets, confirm with the organiser. And if you spot something wrong, the Feedback button at the foot of the calendar reaches me directly.
To see what this data looks like gathered together, browse the series, teams and grounds pages, or read about how times are shown.