{
  "query": {
    "q": "sprint"
  },
  "count": 32,
  "results": [
    {
      "id": "tenten-day-sprint",
      "name": "10-10 International 10-10 Day Sprint",
      "sponsor": "10-10 International Net",
      "country": "US",
      "modes": [
        "SSB",
        "CW",
        "Digital",
        "RTTY"
      ],
      "bands": [
        "10m"
      ],
      "verified": true,
      "rule": "October 10, every year",
      "next": {
        "contest_id": "tenten-day-sprint",
        "name": "10-10 International 10-10 Day Sprint",
        "start": "2026-10-10T00:01:00Z",
        "end": "2026-10-10T23:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 23.97,
        "modes": [
          "SSB",
          "CW",
          "Digital",
          "RTTY"
        ],
        "submodes": [],
        "bands": [
          "10m"
        ],
        "bands_note": "",
        "sponsor": "10-10 International Net",
        "rules_url": "https://www.ten-ten.org/index.php/activity/qso-party-rules",
        "verified": true,
        "note": "All modes, unlike the two phone-only QSO Parties. Chapter scores may not be assigned for the Sprint.",
        "exchange": "Call sign + name + 10-10 number + QTH (state, province or country). Record 0 if the other station has no 10-10 number.",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "Anyone may take part, but only members' logs are scored: 'logs will be accepted only from active members as of the date of the event ... Other logs received will be handled as check logs.'",
        "log_due": null,
        "uid": "tenten-day-sprint-20261010T0001@contestcal",
        "start_date": "2026-10-10",
        "mode_families": [
          "CW",
          "SSB",
          "RTTY",
          "Digital"
        ],
        "band_families": [
          "10m"
        ],
        "duration_bucket": "12-24"
      }
    },
    {
      "id": "4sqrp-sss",
      "name": "4 States QRP Group Second Sunday Sprint (SSS)",
      "sponsor": "4 States QRP Group",
      "country": "US",
      "modes": [
        "CW",
        "SSB",
        "Digital"
      ],
      "bands": [
        "160m",
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Second Sunday of every month",
      "next": {
        "contest_id": "4sqrp-sss",
        "name": "4 States QRP Group Second Sunday Sprint (SSS)",
        "start": "2026-10-12T00:00:00Z",
        "end": "2026-10-12T02:00:00Z",
        "start_wall": "2026-10-11T19:00:00",
        "end_wall": "2026-10-11T21:00:00",
        "local_rolling": false,
        "timezone": "America/Chicago",
        "duration_hours": 2,
        "modes": [
          "CW",
          "SSB",
          "Digital"
        ],
        "submodes": [],
        "bands": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "bands_note": "",
        "sponsor": "4 States QRP Group",
        "rules_url": "https://www.4sqrp.com/SSS/sss_rules_revised_02_2026.pdf",
        "verified": true,
        "note": "SPONSOR-ANCHORED LOCAL TIME. The anchor is the second SUNDAY and the sprint runs into Monday UTC. 4SQRP states the consequence itself: '7 PM until 9 PM central time (CST or CDT, whichever is in effect at the time). If you use UTC, that time changes when we switch from CST to CDT (or vice versa).' Resolved through America/Chicago, so it is 0100Z Monday in winter and 0000Z Monday in summer.",
        "exchange": "RST + state/province/country + 4SQRP member number (power if non-member)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-11",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "4sqrp-sss-20261012T0000@contestcal",
        "start_date": "2026-10-12",
        "mode_families": [
          "CW",
          "SSB",
          "Digital"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "duration_bucket": "2-12"
      }
    },
    {
      "id": "ars-spartan-sprint",
      "name": "ARS Spartan Sprint",
      "sponsor": "Adventure Radio Society",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "First Monday of every month",
      "next": {
        "contest_id": "ars-spartan-sprint",
        "name": "ARS Spartan Sprint",
        "start": "2026-10-06T00:00:00Z",
        "end": "2026-10-06T02:00:00Z",
        "start_wall": "2026-10-05T20:00:00",
        "end_wall": "2026-10-05T22:00:00",
        "local_rolling": false,
        "timezone": "America/New_York",
        "duration_hours": 2,
        "modes": [
          "CW"
        ],
        "submodes": [],
        "bands": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "bands_note": "",
        "sponsor": "Adventure Radio Society",
        "rules_url": "https://ars-qrp.com/Spartan_Sprint/Spartan_Sprint.html",
        "verified": true,
        "note": "CORRECTION (anchor): previously encoded as the first TUESDAY of the month. The sponsor's rule is the first MONDAY US local, which lands on Tuesday UTC -- and those are different dates whenever the 1st falls on a Tuesday (Sep and Dec 2026). SPONSOR-ANCHORED LOCAL TIME: ARS publishes no UTC time and states the event 'is always at these Local Times', so the UTC instant is what moves -- 0100Z Tuesday under EST, 0000Z Tuesday under EDT. Resolved through America/New_York rather than hardcoded, so DST is handled. ARS lists Eastern, Central, Mountain and Pacific times that are the same instant in every zone that observes DST; Arizona, which does not, is the one place the sponsor's own table is inconsistent.",
        "exchange": "RST + state/province + power output",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-11",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "ars-spartan-sprint-20261006T0000@contestcal",
        "start_date": "2026-10-06",
        "mode_families": [
          "CW"
        ],
        "band_families": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "duration_bucket": "2-12"
      }
    },
    {
      "id": "bartg-sprint",
      "name": "BARTG January Sprint Contest",
      "sponsor": "BARTG",
      "country": "GB",
      "modes": [
        "RTTY"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Fourth full weekend of January",
      "next": {
        "contest_id": "bartg-sprint",
        "name": "BARTG January Sprint Contest",
        "start": "2027-01-23T12:00:00Z",
        "end": "2027-01-24T11:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 23.98,
        "modes": [
          "RTTY"
        ],
        "submodes": [],
        "bands": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "bands_note": "",
        "sponsor": "BARTG",
        "rules_url": "https://bartg.org.uk/bartg-sprint-contest/",
        "verified": true,
        "note": "January is the month where 'full weekend' bites hardest: 2032 has five January Saturdays but only four full weekends, and BARTG's own table gives 24 January 2032 -- the fourth full weekend, not the fourth Saturday.",
        "exchange": "Message number only (3 or 4 figures from 001) -- no RST, to shorten the QSO",
        "country": "GB",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2027-01-31T11:59:00Z",
        "uid": "bartg-sprint-20270123T1200@contestcal",
        "start_date": "2027-01-23",
        "mode_families": [
          "RTTY",
          "Digital"
        ],
        "band_families": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "duration_bucket": "12-24"
      }
    },
    {
      "id": "bartg-sprint-psk63",
      "name": "BARTG Sprint PSK63 Contest",
      "sponsor": "BARTG",
      "country": "GB",
      "modes": [
        "Digital"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Third Sunday of September",
      "next": {
        "contest_id": "bartg-sprint-psk63",
        "name": "BARTG Sprint PSK63 Contest",
        "start": "2027-09-19T17:00:00Z",
        "end": "2027-09-19T20:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 3.98,
        "modes": [
          "Digital"
        ],
        "submodes": [
          "PSK63"
        ],
        "bands": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "bands_note": "",
        "sponsor": "BARTG",
        "rules_url": "https://bartg.org.uk/bartg-sprint-psk63-contest/",
        "verified": true,
        "note": "",
        "exchange": "Message number only (3 or 4 figures from 001)",
        "country": "GB",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2027-09-26T20:59:00Z",
        "uid": "bartg-sprint-psk63-20270919T1700@contestcal",
        "start_date": "2027-09-19",
        "mode_families": [
          "Digital"
        ],
        "band_families": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "duration_bucket": "2-12"
      }
    },
    {
      "id": "bartg-sprint75",
      "name": "BARTG Sprint75 Contest",
      "sponsor": "BARTG",
      "country": "GB",
      "modes": [
        "RTTY"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Fourth Sunday of April",
      "next": {
        "contest_id": "bartg-sprint75",
        "name": "BARTG Sprint75 Contest",
        "start": "2027-04-25T17:00:00Z",
        "end": "2027-04-25T20:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 3.98,
        "modes": [
          "RTTY"
        ],
        "submodes": [
          "RTTY 75 baud"
        ],
        "bands": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "bands_note": "",
        "sponsor": "BARTG",
        "rules_url": "https://bartg.org.uk/bartg-sprint75-contests/",
        "verified": true,
        "note": "'Fourth Sunday', not 'last Sunday': 2028 and 2029 both have five April Sundays and BARTG lists the fourth in each. Also note this is 75 baud RTTY, not the usual 45.45 baud.",
        "exchange": "Message number only (3 or 4 figures from 001)",
        "country": "GB",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2027-05-02T20:59:00Z",
        "uid": "bartg-sprint75-20270425T1700@contestcal",
        "start_date": "2027-04-25",
        "mode_families": [
          "RTTY",
          "Digital"
        ],
        "band_families": [
          "80m",
          "40m",
          "20m",
          "15m",
          "10m"
        ],
        "duration_bucket": "2-12"
      }
    },
    {
      "id": "fists-sprint-fall-sat",
      "name": "FISTS Fall Saturday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Second Saturday of November",
      "next": null
    },
    {
      "id": "fists-sprint-fall-sun",
      "name": "FISTS Fall Sunday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Third Sunday of November",
      "next": null
    },
    {
      "id": "fists-sprint-spring-sat",
      "name": "FISTS Spring Saturday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Second Saturday of May",
      "next": null
    },
    {
      "id": "fists-sprint-spring-sun",
      "name": "FISTS Spring Sunday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Third Sunday of May",
      "next": null
    },
    {
      "id": "fists-sprint-summer-sat",
      "name": "FISTS Summer Saturday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Second Saturday of August",
      "next": null
    },
    {
      "id": "fists-sprint-summer-sun",
      "name": "FISTS Summer Sunday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Third Sunday of August",
      "next": null
    },
    {
      "id": "fists-sprint-winter-sat",
      "name": "FISTS Winter Saturday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Second Saturday of February",
      "next": null
    },
    {
      "id": "fists-sprint-winter-sun",
      "name": "FISTS Winter Sunday Sprint",
      "sponsor": "FISTS CW Club (Americas Chapter)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "verified": true,
      "rule": "Third Sunday of February",
      "next": null
    },
    {
      "id": "wia-harry-angel-sprint",
      "name": "Harry Angel Memorial Sprint",
      "sponsor": "WIA",
      "country": "AU",
      "modes": [
        "SSB",
        "CW"
      ],
      "bands": [
        "80m"
      ],
      "verified": true,
      "rule": "First Saturday of May",
      "next": {
        "contest_id": "wia-harry-angel-sprint",
        "name": "Harry Angel Memorial Sprint",
        "start": "2027-05-01T10:00:00Z",
        "end": "2027-05-01T11:46:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 1.77,
        "modes": [
          "SSB",
          "CW"
        ],
        "submodes": [],
        "bands": [
          "80m"
        ],
        "bands_note": "CW 3500 - 3535 kHz. Phone 3535 - 3700 kHz",
        "sponsor": "WIA",
        "rules_url": "https://www.wia.org.au/members/contests/harryangel/",
        "verified": true,
        "note": "106 minutes, one for each year of Harry Angel's life. WIA's page also prints 'This would make the next Saturday May 3rd May 2027' -- May 3 2027 is a Monday, and the first Saturday in May 2027 is May 1. This calendar follows the rule WIA states three times on the same page, not that sentence.",
        "exchange": "Callsign, RS(T) and a serial number starting at 001",
        "country": "AU",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-17",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "wia-harry-angel-sprint-20270501T1000@contestcal",
        "start_date": "2027-05-01",
        "mode_families": [
          "CW",
          "SSB"
        ],
        "band_families": [
          "80m"
        ],
        "duration_bucket": "lt2"
      }
    },
    {
      "id": "nccc-ns-ft4",
      "name": "NCCC FT4 Sprint (FT4 NS)",
      "sponsor": "Northern California Contest Club (NCCC)",
      "country": "US",
      "modes": [
        "FT8/FT4"
      ],
      "bands": [
        "160m",
        "80m",
        "40m",
        "20m",
        "15m",
        "10m",
        "6m"
      ],
      "verified": true,
      "rule": "Every Friday",
      "next": {
        "contest_id": "nccc-ns-ft4",
        "name": "NCCC FT4 Sprint (FT4 NS)",
        "start": "2026-10-02T01:00:00Z",
        "end": "2026-10-02T01:30:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 0.5,
        "modes": [
          "FT8/FT4"
        ],
        "submodes": [
          "FT4"
        ],
        "bands": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "bands_note": "",
        "sponsor": "Northern California Contest Club (NCCC)",
        "rules_url": "https://www.ncccsprint.com/ft4ns.html",
        "verified": true,
        "note": "NCCC describes these as 'nominal rules' that may be modified on a weekly basis, and runs formal Ladder seasons interspersed with practice weeks. The 30-minute session slot itself is fixed.",
        "exchange": "Grid square (following NA VHF, WW Digi and ARRL IDC practice)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-11",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "nccc-ns-ft4-20261002T0100@contestcal",
        "start_date": "2026-10-02",
        "mode_families": [
          "Digital",
          "FT8/FT4"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "duration_bucket": "lt2"
      }
    },
    {
      "id": "nccc-ns-rtty",
      "name": "NCCC RTTY Sprint (RTTY NS)",
      "sponsor": "Northern California Contest Club (NCCC)",
      "country": "US",
      "modes": [
        "RTTY"
      ],
      "bands": [
        "160m",
        "80m",
        "40m",
        "20m",
        "15m"
      ],
      "verified": true,
      "rule": "Every Friday",
      "next": {
        "contest_id": "nccc-ns-rtty",
        "name": "NCCC RTTY Sprint (RTTY NS)",
        "start": "2026-10-02T01:45:00Z",
        "end": "2026-10-02T02:15:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 0.5,
        "modes": [
          "RTTY"
        ],
        "submodes": [],
        "bands": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m"
        ],
        "bands_note": "",
        "sponsor": "Northern California Contest Club (NCCC)",
        "rules_url": "https://ncccsprint.com/rttyns.html",
        "verified": true,
        "note": "NCCC describes these as 'nominal rules' that may be modified on a weekly basis, and runs formal Ladder seasons interspersed with practice weeks. The 30-minute session slot itself is fixed.",
        "exchange": "Serial number + name + QTH (both callsigns required in the exchange)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-11",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "nccc-ns-rtty-20261002T0145@contestcal",
        "start_date": "2026-10-02",
        "mode_families": [
          "RTTY",
          "Digital"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m"
        ],
        "duration_bucket": "lt2"
      }
    },
    {
      "id": "nccc-ns-cw",
      "name": "NCCC Sprint (NS)",
      "sponsor": "Northern California Contest Club (NCCC)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "160m",
        "80m",
        "40m",
        "20m",
        "15m"
      ],
      "verified": true,
      "rule": "Every Friday",
      "next": {
        "contest_id": "nccc-ns-cw",
        "name": "NCCC Sprint (NS)",
        "start": "2026-10-02T02:30:00Z",
        "end": "2026-10-02T03:00:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 0.5,
        "modes": [
          "CW"
        ],
        "submodes": [],
        "bands": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m"
        ],
        "bands_note": "",
        "sponsor": "Northern California Contest Club (NCCC)",
        "rules_url": "https://ncccsprint.com/rules.html",
        "verified": true,
        "note": "NCCC describes these as 'nominal rules' that may be modified on a weekly basis, and runs formal Ladder seasons interspersed with practice weeks. The 30-minute session slot itself is fixed.",
        "exchange": "Serial number + name + QTH (both callsigns required in the exchange)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-11",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "nccc-ns-cw-20261002T0230@contestcal",
        "start_date": "2026-10-02",
        "mode_families": [
          "CW"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m"
        ],
        "duration_bucket": "lt2"
      }
    },
    {
      "id": "ncj-sprint-cw",
      "name": "North American Sprint, CW",
      "sponsor": "National Contest Journal (NCJ)",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m",
        "40m",
        "20m"
      ],
      "verified": true,
      "rule": "Dates set by the sponsor each year (no derivable rule)",
      "next": null
    },
    {
      "id": "ncj-sprint-rtty",
      "name": "North American Sprint, RTTY",
      "sponsor": "National Contest Journal (NCJ)",
      "country": "US",
      "modes": [
        "RTTY"
      ],
      "bands": [
        "80m",
        "40m",
        "20m"
      ],
      "verified": true,
      "rule": "Dates set by the sponsor each year (no derivable rule)",
      "next": null
    },
    {
      "id": "podxs-160m-great-pumpkin",
      "name": "PODXS 070 Club 160M Great Pumpkin Sprint",
      "sponsor": "PODXS 070 Club",
      "country": "US",
      "modes": [
        "Digital"
      ],
      "bands": [
        "160m"
      ],
      "verified": true,
      "rule": "Second Saturday of October",
      "next": {
        "contest_id": "podxs-160m-great-pumpkin",
        "name": "PODXS 070 Club 160M Great Pumpkin Sprint",
        "start": "2026-10-10T20:00:00Z",
        "end": "2026-10-11T19:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 23.98,
        "modes": [
          "Digital"
        ],
        "submodes": [
          "PSK31"
        ],
        "bands": [
          "160m"
        ],
        "bands_note": "",
        "sponsor": "PODXS 070 Club",
        "rules_url": "https://www.podxs070.com/o7o-club-sponsored-contests/160m-great-pumpkin-sprint",
        "verified": true,
        "note": "The rules page writes the close as '2000 UTC' while the club's contest calendar gives 'Ends 1959 UTC 11-Oct-2026'. Encoded as 1959, matching the calendar and the identical wording used for the 40 m and 80 m sprints. One minute; flagged rather than silently reconciled.",
        "exchange": "State/province/country (SPC)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2026-10-18T19:59:00Z",
        "uid": "podxs-160m-great-pumpkin-20261010T2000@contestcal",
        "start_date": "2026-10-10",
        "mode_families": [
          "Digital"
        ],
        "band_families": [
          "160m"
        ],
        "duration_bucket": "12-24"
      }
    },
    {
      "id": "podxs-40m-firecracker",
      "name": "PODXS 070 Club 40M Firecracker Sprint",
      "sponsor": "PODXS 070 Club",
      "country": "US",
      "modes": [
        "Digital"
      ],
      "bands": [
        "40m"
      ],
      "verified": true,
      "rule": "First Saturday of July, except when that falls on 1 July — then the weekend after",
      "next": {
        "contest_id": "podxs-40m-firecracker",
        "name": "PODXS 070 Club 40M Firecracker Sprint",
        "start": "2027-07-03T20:00:00Z",
        "end": "2027-07-04T19:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 23.98,
        "modes": [
          "Digital"
        ],
        "submodes": [
          "PSK31"
        ],
        "bands": [
          "40m"
        ],
        "bands_note": "",
        "sponsor": "PODXS 070 Club",
        "rules_url": "https://www.podxs070.com/o7o-club-sponsored-contests/40m-firecracker-sprint",
        "verified": true,
        "note": "The 24-hour window is the outer bound; maximum operating time is a six-hour block chosen by the entrant.",
        "exchange": "State/province/country (SPC)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2027-07-11T19:59:00Z",
        "uid": "podxs-40m-firecracker-20270703T2000@contestcal",
        "start_date": "2027-07-03",
        "mode_families": [
          "Digital"
        ],
        "band_families": [
          "40m"
        ],
        "duration_bucket": "12-24"
      }
    },
    {
      "id": "podxs-jay-hudak-80m",
      "name": "PODXS 070 Club Jay Hudak Memorial 80M Sprint",
      "sponsor": "PODXS 070 Club",
      "country": "US",
      "modes": [
        "Digital"
      ],
      "bands": [
        "80m"
      ],
      "verified": true,
      "rule": "First Saturday of September",
      "next": {
        "contest_id": "podxs-jay-hudak-80m",
        "name": "PODXS 070 Club Jay Hudak Memorial 80M Sprint",
        "start": "2027-09-04T20:00:00Z",
        "end": "2027-09-05T19:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 23.98,
        "modes": [
          "Digital"
        ],
        "submodes": [
          "PSK31"
        ],
        "bands": [
          "80m"
        ],
        "bands_note": "",
        "sponsor": "PODXS 070 Club",
        "rules_url": "https://www.podxs070.com/o7o-club-sponsored-contests/jay-hudak-memorial-80m-sprint",
        "verified": true,
        "note": "Six-hour operating limit inside a 24-hour window. Dedicated to Jay Hudak KA3X, 070 #001.",
        "exchange": "State/province/country (SPC)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2027-09-12T19:59:00Z",
        "uid": "podxs-jay-hudak-80m-20270904T2000@contestcal",
        "start_date": "2027-09-04",
        "mode_families": [
          "Digital"
        ],
        "band_families": [
          "80m"
        ],
        "duration_bucket": "12-24"
      }
    },
    {
      "id": "podxs-triple-play",
      "name": "PODXS 070 Club Triple Play Low Band Sprint",
      "sponsor": "PODXS 070 Club",
      "country": "US",
      "modes": [
        "Digital"
      ],
      "bands": [
        "160m",
        "80m",
        "40m"
      ],
      "verified": true,
      "rule": "Second Saturday of November",
      "next": {
        "contest_id": "podxs-triple-play",
        "name": "PODXS 070 Club Triple Play Low Band Sprint",
        "start": "2026-11-14T00:00:00Z",
        "end": "2026-11-16T23:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 71.98,
        "modes": [
          "Digital"
        ],
        "submodes": [
          "PSK31"
        ],
        "bands": [
          "160m",
          "80m",
          "40m"
        ],
        "bands_note": "",
        "sponsor": "PODXS 070 Club",
        "rules_url": "https://www.podxs070.com/o7o-club-sponsored-contests/triple-play-low-band-sprint",
        "verified": true,
        "note": "Three UTC days, one six-hour block per day -- so 18 hours of operating inside a 72-hour window.",
        "exchange": "State/province/country (SPC)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2026-11-23T23:59:00Z",
        "uid": "podxs-triple-play-20261114T0000@contestcal",
        "start_date": "2026-11-14",
        "mode_families": [
          "Digital"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m"
        ],
        "duration_bucket": "gte24"
      }
    },
    {
      "id": "podxs-triple-play-doubleheader",
      "name": "PODXS 070 Club Triple Play Low Band Sprint DOUBLEHEADER",
      "sponsor": "PODXS 070 Club",
      "country": "US",
      "modes": [
        "Digital"
      ],
      "bands": [
        "160m",
        "80m",
        "40m"
      ],
      "verified": true,
      "rule": "Second Saturday of December",
      "next": {
        "contest_id": "podxs-triple-play-doubleheader",
        "name": "PODXS 070 Club Triple Play Low Band Sprint DOUBLEHEADER",
        "start": "2026-12-12T00:00:00Z",
        "end": "2026-12-14T23:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 71.98,
        "modes": [
          "Digital"
        ],
        "submodes": [
          "PSK31"
        ],
        "bands": [
          "160m",
          "80m",
          "40m"
        ],
        "bands_note": "",
        "sponsor": "PODXS 070 Club",
        "rules_url": "https://www.podxs070.com/o7o-club-sponsored-contests/triple-play-low-band-sprint",
        "verified": true,
        "note": "Second running of the Triple Play format, shares a rules page with the November event.",
        "exchange": "State/province/country (SPC)",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2026-12-21T23:59:00Z",
        "uid": "podxs-triple-play-doubleheader-20261212T0000@contestcal",
        "start_date": "2026-12-12",
        "mode_families": [
          "Digital"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m"
        ],
        "duration_bucket": "gte24"
      }
    },
    {
      "id": "podxs-valentine-sprint",
      "name": "PODXS 070 Club Valentine Sprint",
      "sponsor": "PODXS 070 Club",
      "country": "US",
      "modes": [
        "Digital"
      ],
      "bands": [
        "160m",
        "80m",
        "40m"
      ],
      "verified": true,
      "rule": "February 14, every year",
      "next": {
        "contest_id": "podxs-valentine-sprint",
        "name": "PODXS 070 Club Valentine Sprint",
        "start": "2027-02-14T00:00:00Z",
        "end": "2027-02-14T23:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 23.98,
        "modes": [
          "Digital"
        ],
        "submodes": [
          "PSK31"
        ],
        "bands": [
          "160m",
          "80m",
          "40m"
        ],
        "bands_note": "",
        "sponsor": "PODXS 070 Club",
        "rules_url": "https://www.podxs070.com/o7o-club-sponsored-contests/valentine-sprint",
        "verified": true,
        "note": "The 0000-2359 window is the sprint's outer bound, not its length: 'For scoring, your six hour block will begin with the hour that you select on the scorer page and continue for the next 6 hours.' Maximum operating time is six hours.",
        "exchange": "'OM' or 'YL' + state/province/country (SPC). Signal reports and 070 numbers not required.",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-12",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2027-02-21T23:59:00Z",
        "uid": "podxs-valentine-sprint-20270214T0000@contestcal",
        "start_date": "2027-02-14",
        "mode_families": [
          "Digital"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m"
        ],
        "duration_bucket": "12-24"
      }
    },
    {
      "id": "skcc-sks",
      "name": "SKCC Straight Key Sprint (SKS)",
      "sponsor": "Straight Key Century Club",
      "country": "INTL",
      "modes": [
        "CW"
      ],
      "bands": [
        "160m",
        "80m",
        "40m",
        "20m",
        "15m",
        "10m",
        "6m"
      ],
      "verified": true,
      "rule": "Fourth Wednesday of every month",
      "next": {
        "contest_id": "skcc-sks",
        "name": "SKCC Straight Key Sprint (SKS)",
        "start": "2026-10-28T00:00:00Z",
        "end": "2026-10-28T02:00:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 2,
        "modes": [
          "CW"
        ],
        "submodes": [],
        "bands": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "bands_note": "Suggested frequencies, one per band",
        "sponsor": "Straight Key Century Club",
        "rules_url": "https://www.skccgroup.com/operating_activities/weekday_sprint/",
        "verified": true,
        "note": "",
        "exchange": "RST + QTH + name + SKCC number",
        "country": "INTL",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-11",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "skcc-sks-20261028T0000@contestcal",
        "start_date": "2026-10-28",
        "mode_families": [
          "CW"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "duration_bucket": "2-12"
      }
    },
    {
      "id": "skcc-skse",
      "name": "SKCC Straight Key Sprint Europe (SKSE)",
      "sponsor": "Straight Key Century Club",
      "country": "US",
      "modes": [
        "CW"
      ],
      "bands": [
        "160m",
        "80m",
        "40m",
        "20m",
        "15m",
        "10m",
        "6m"
      ],
      "verified": true,
      "rule": "First Thursday of every month",
      "next": {
        "contest_id": "skcc-skse",
        "name": "SKCC Straight Key Sprint Europe (SKSE)",
        "start": "2026-10-01T19:00:00Z",
        "end": "2026-10-01T21:00:00Z",
        "start_wall": "2026-10-01T21:00:00",
        "end_wall": "2026-10-01T23:00:00",
        "local_rolling": false,
        "timezone": "Europe/Berlin",
        "duration_hours": 2,
        "modes": [
          "CW"
        ],
        "submodes": [],
        "bands": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "bands_note": "160 through 6 m excluding the WARC bands -- SKCC names 60, 30, 17 and 12 m as excluded.",
        "sponsor": "Straight Key Century Club",
        "rules_url": "https://www.skccgroup.com/operating_activities/skse/",
        "verified": true,
        "note": "SKCC PRINTS TWO UTC TIMES AND THE CONTEST HAS ONE LOCAL TIME. 2000Z from November to March and 1900Z from April to October are both 2100 in central Europe: CET is UTC+1 and CEST is UTC+2. So this is not a contest that changes its hour twice a year, it is a contest at nine in the evening that Europe's clocks move around, and it is recorded the way the sponsor means it -- `timezone: Europe/Berlin` with wall_clock times, exactly as the ARS Spartan Sprint is recorded in New York.\n\nTHAT READING IS TESTABLE AND IT PASSES ON THE MONTHS THAT DECIDE IT. Europe changes clocks on the last Sunday of March and of October, and the first Thursday of both months falls on the near side of the change: March is still CET and resolves to 2000Z, April is CEST and resolves to 1900Z, October is still CEST at 1900Z, November is CET at 2000Z. All four match SKCC's own table, which is what makes this one rule rather than two.\n\nEncoding it as two records split by month -- winter and summer -- would have produced two entries with the same name and hidden the reason. Encoding one UTC time would have been wrong for five months of the year.\n\nStraight keys, sideswipers and bugs only: no keyer, no keyboard. That is the club's whole premise rather than a category.\n\nThe fifteen-minute QRS extensions at each end are not in the window: they are an invitation to slow operators rather than part of the scored period.",
        "exchange": "RST, QTH, the operator's name and the SKCC number. Non-members send 'none' for the number.",
        "country": "US",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-23",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": "2026-10-08T21:00:00Z",
        "uid": "skcc-skse-20261001T1900@contestcal",
        "start_date": "2026-10-01",
        "mode_families": [
          "CW"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "duration_bucket": "2-12"
      }
    },
    {
      "id": "skcc-wes",
      "name": "SKCC Weekend Sprintathon (WES)",
      "sponsor": "Straight Key Century Club",
      "country": "INTL",
      "modes": [
        "CW"
      ],
      "bands": [
        "160m",
        "80m",
        "40m",
        "20m",
        "15m",
        "10m",
        "6m"
      ],
      "verified": true,
      "rule": "Second Saturday of every month",
      "next": {
        "contest_id": "skcc-wes",
        "name": "SKCC Weekend Sprintathon (WES)",
        "start": "2026-10-10T12:00:00Z",
        "end": "2026-10-11T23:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 35.98,
        "modes": [
          "CW"
        ],
        "submodes": [],
        "bands": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "bands_note": "",
        "sponsor": "Straight Key Century Club",
        "rules_url": "https://www.skccgroup.com/operating_activities/weekend_sprintathon/",
        "verified": true,
        "note": "Older sources describe the anchor as 'the Saturday following the 6th', which differs from '2nd Saturday' in some months. SKCC's current page says 2nd Saturday; re-check if dates drift.",
        "exchange": "RST + state/province/country + name + SKCC number (C/T/S suffix for award holders)",
        "country": "INTL",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-11",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "skcc-wes-20261010T1200@contestcal",
        "start_date": "2026-10-10",
        "mode_families": [
          "CW"
        ],
        "band_families": [
          "160m",
          "80m",
          "40m",
          "20m",
          "15m",
          "10m",
          "6m"
        ],
        "duration_bucket": "gte24"
      }
    },
    {
      "id": "nzart-sprint-cw",
      "name": "ZL Autumn and Winter Sprints, CW",
      "sponsor": "NZART",
      "country": "NZ",
      "modes": [
        "CW"
      ],
      "bands": [
        "80m"
      ],
      "verified": true,
      "rule": "Every Tuesday in April and August",
      "next": {
        "contest_id": "nzart-sprint-cw",
        "name": "ZL Autumn and Winter Sprints, CW",
        "start": "2027-04-06T08:00:00Z",
        "end": "2027-04-06T08:29:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 0.48,
        "modes": [
          "CW"
        ],
        "submodes": [],
        "bands": [
          "80m"
        ],
        "bands_note": "Suggested frequencies CW 3520-3550 kHz",
        "sponsor": "NZART",
        "rules_url": "https://nzart.org.nz/activities/contests/sprints/",
        "verified": true,
        "note": "One of three back-to-back 29-minute sprints on the same evening, each in a different mode and each scored separately, which is why they are three records here rather than one. Logs are due 'within 24 hours of the end of the sprint' -- shorter than a day, so no deadline interval is computed; they go to markzl3ab@gmail.com.",
        "exchange": "RS(T) and the outside temperature to the nearest degree; on CW, 'm' denotes a minus sign",
        "country": "NZ",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-17",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "nzart-sprint-cw-20270406T0800@contestcal",
        "start_date": "2027-04-06",
        "mode_families": [
          "CW"
        ],
        "band_families": [
          "80m"
        ],
        "duration_bucket": "lt2"
      }
    },
    {
      "id": "nzart-sprint-ft4",
      "name": "ZL Autumn and Winter Sprints, FT4",
      "sponsor": "NZART",
      "country": "NZ",
      "modes": [
        "FT8/FT4"
      ],
      "bands": [
        "80m"
      ],
      "verified": true,
      "rule": "Every Tuesday in April and August",
      "next": {
        "contest_id": "nzart-sprint-ft4",
        "name": "ZL Autumn and Winter Sprints, FT4",
        "start": "2027-04-06T09:00:00Z",
        "end": "2027-04-06T09:29:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 0.48,
        "modes": [
          "FT8/FT4"
        ],
        "submodes": [
          "FT4"
        ],
        "bands": [
          "80m"
        ],
        "bands_note": "Suggested frequency FT4 3575 kHz",
        "sponsor": "NZART",
        "rules_url": "https://nzart.org.nz/activities/contests/sprints/",
        "verified": true,
        "note": "One of three back-to-back 29-minute sprints on the same evening, each in a different mode and each scored separately, which is why they are three records here rather than one. Logs are due 'within 24 hours of the end of the sprint' -- shorter than a day, so no deadline interval is computed; they go to markzl3ab@gmail.com.",
        "exchange": "A four-digit Maidenhead grid-square locator",
        "country": "NZ",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-17",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "nzart-sprint-ft4-20270406T0900@contestcal",
        "start_date": "2027-04-06",
        "mode_families": [
          "Digital",
          "FT8/FT4"
        ],
        "band_families": [
          "80m"
        ],
        "duration_bucket": "lt2"
      }
    },
    {
      "id": "nzart-sprint-ssb",
      "name": "ZL Autumn and Winter Sprints, SSB",
      "sponsor": "NZART",
      "country": "NZ",
      "modes": [
        "SSB"
      ],
      "bands": [
        "80m"
      ],
      "verified": true,
      "rule": "Every Tuesday in April and August",
      "next": {
        "contest_id": "nzart-sprint-ssb",
        "name": "ZL Autumn and Winter Sprints, SSB",
        "start": "2027-04-06T08:30:00Z",
        "end": "2027-04-06T08:59:00Z",
        "start_wall": null,
        "end_wall": null,
        "local_rolling": false,
        "timezone": "",
        "duration_hours": 0.48,
        "modes": [
          "SSB"
        ],
        "submodes": [],
        "bands": [
          "80m"
        ],
        "bands_note": "Suggested frequencies SSB 3620-3670 kHz",
        "sponsor": "NZART",
        "rules_url": "https://nzart.org.nz/activities/contests/sprints/",
        "verified": true,
        "note": "One of three back-to-back 29-minute sprints on the same evening, each in a different mode and each scored separately, which is why they are three records here rather than one. Logs are due 'within 24 hours of the end of the sprint' -- shorter than a day, so no deadline interval is computed; they go to markzl3ab@gmail.com.",
        "exchange": "RS(T) and the outside temperature to the nearest degree",
        "country": "NZ",
        "rules_url_archived": "",
        "rules_url_checked": "2026-08-17",
        "can_enter": true,
        "eligibility_scope": "worldwide",
        "eligibility_reason": "",
        "works": "everyone",
        "practical": "",
        "log_due": null,
        "uid": "nzart-sprint-ssb-20270406T0830@contestcal",
        "start_date": "2027-04-06",
        "mode_families": [
          "SSB"
        ],
        "band_families": [
          "80m"
        ],
        "duration_bucket": "lt2"
      }
    }
  ]
}