Skip to content
Open Paddock

Read API · v1 · JSON + iCal

Public API

Everything on the site, as data. Free, no key, CORS open. Please cache. Responses are CDN-cached for about 15 minutes anyway.

Licence

The data is CC BY 4.0. Credit openpaddock.app wherever you show it. Rows that come from MotorsportReg.com (organisers whose feed kind is msr) also need their attribution: Powered by MotorsportReg.com.

Endpoints

Filters

For events and events.ics. Combine freely.

ParamMeaning
circuitCircuit id, e.g. pat-s-acres-racing-complex. Comma-separate for several.
organiserOrganiser id, e.g. pats-acres-moto. Comma-separated.
countryUS, CA or MX. Comma-separated.
regionRiding region: canada, central, east, west.
typeOrganiser type: commercial, school, club, track-owned, private-premium, kart-minitrack.
priceTierbudget, standard, premium (or unknown).
fromYYYY-MM-DD. Days ending on or after this date. Defaults to today.
toYYYY-MM-DD. Days starting on or before this date.
cancelledSet to include to keep cancelled days in the results (they're left out by default).
limitMax rows, up to 5000 (events only).

Examples

Every day in one region

curl "https://openpaddock.app/api/v1/events?region=canada"

One organiser at one circuit, this winter

curl "https://openpaddock.app/api/v1/events?organiser=pats-acres-moto&circuit=pat-s-acres-racing-complex&from=2026-11-01&to=2027-02-28"

Subscribe in a calendar app

webcal://openpaddock.app/api/v1/events.ics?country=CA

Canadian organisers with jq

curl -s https://openpaddock.app/api/v1/organisers | jq '.organisers[] | select(.country=="CA") | .name'

Event shape

{
  "id": "ae103f77c7766506e7cd",
  "organiserId": "pats-acres-moto",
  "title": "…",
  "start": "YYYY-MM-DD",
  "end": "YYYY-MM-DD",          // inclusive; track days are all-day
  "circuitId": "pat-s-acres-racing-complex",   // null when the venue isn't matched yet
  "venueName": "…",             // as the feed wrote it
  "url": "https://…",           // the organiser's page for the day
  "cancelled": false,
  "regOpens": null, "regCloses": null,
  "source": "msr | ics | tribe",
  "fetchedAt": "ISO-8601", "firstSeenAt": "ISO-8601"
}

Organisers with feed kind none are listed with a link to their schedule and never have events.

Organisers

Want your days in the API? Add your calendar. The form posts JSON to POST /api/v1/submissions, but please use the form.