Contest Calendar

Amateur radio contests — all 260 computed from sponsors’ own published rules

iCal feed/API

Data

The catalog is 260 contest definitions from 70 sponsors, published under CC BY 4.0. Use it, build on it, ship it in your own project — attribution is the only condition. It is a compilation of public facts and it should stay open.

Subscribe

The iCal feed takes the same filters as the page, so a URL that shows what you want on screen is also the feed that puts it in your calendar.

/api/ics
Every contest, or add filters: ?mode=CW&band=20m. Also served at /contests.ics.

The feed emits expanded UTC instants rather than recurrence rules and carries no timezone definitions, because the three big calendar clients disagree about both. Each event’s identifier is stable across deploys — a changed identifier would turn every subscriber’s calendar into duplicates.

JSON

/api/contests
Occurrences in a window. ?year=2030 for a whole year; ?from= and ?to= for a range.
/api/search?q=
Search names and sponsors.
/api/meta
The controlled vocabularies — every mode and band a filter accepts — plus the catalog’s fingerprint.
/api/health
What the runtime resolved, including which timezone resolver is active.

What a record says

Modes and bands are controlled sets. A field that is free text is a field nothing can query, so the specifics a small vocabulary drops — “PSK31”, “RTTY 75 baud”, “10 GHz through light” — are kept beside it as notes, displayed and never filtered on.

Filtering widens; the record does not. A record says exactly what the sponsor permits. As a query, Digital matches Digital, RTTY and FT8/FT4, and every specific mode also matches Mixed — so a search for digital modes finds the FT8 events without any RTTY-only contest ever being described as anything but RTTY.

Empty bands means unrecorded, not unbanded. Every band filter therefore excludes such a record. Anything that filters is expected to say so rather than let the contest vanish, which is what the note under the filter panel on the schedule is for.

Source

The engine, the catalog and the provenance registry are all in one repository: github.com/w4ggj/contest-calendar. Code is MIT. The registry records which sponsor page each record was read from and when the link was last confirmed live.