For developers
BowlRadar gathers upcoming youth bowling tournaments, Junior Gold qualifiers and tour stops from across the country in one place. Your own site, app or calendar can use it: the same search the site runs is available as JSON, with an API key, and as calendar feeds, which need none.
Before you start
- The JSON search needs an API key. Sign in, then ask for one under API access on My account, saying what you'll build; staff look at each request and email you. Once approved, you make your key there (it's shown once).
- Calendar feeds and the schedule embed need no key. Every endpoint is a plain GET.
- Any website can call it from the browser (
Access-Control-Allow-Origin: *). Search results are cached for 5 minutes. - Events are listed as their organizers published them: names, dates, times, fees and awards are the hosts'. Show the event's BowlRadar page or the organizer's own link alongside them, so families can confirm the details with the tournament director.
Your first request
Events within 100 miles of a ZIP code in the next 30 days, with your key:
curl -H "X-API-Key: br_your_key" \
"https://bowlradar.com/api/events?zip=22556&radius=100&when=30"Without a key, or with one that was replaced, deleted or revoked, the answer is 401 with a short reason.
An answer looks like this (shortened to one event; values are illustrations):
{
"total": 46,
"page": 1,
"pageCount": 2,
"origin": { "zip": "22556", "city": "Stafford", "state": "VA", "lat": 38.47, "lng": -77.5 },
"events": [
{
"id": "…",
"url": "/events/…",
"title": "…",
"kind": "TOURNAMENT",
"startDate": "2026-10-18",
"endDate": null,
"startTime": "10:00",
"timeZone": "America/New_York",
"entryFeeCents": 4000,
"distanceMiles": 48.2,
"organization": { "slug": "…", "name": "…" },
"venue": { "name": "…", "city": "…", "state": "MD", "lat": 39.1, "lng": -76.7 },
"registrationUrl": "https://…"
}
]
}Every field and parameter is described in the API documentation, where you can try searches with your key (Authorize) and see real answers.
What you can build
Search events
GET /api/events, with your key, takes the filters the Find page uses: words (q), a ZIP code and distance (zip, radius), a state, dates (when, from, to), types, tours, age divisions and awards. Results come a page at a time, up to 300 per page.
Calendar feeds
GET /api/calendar.ics is the same search as a calendar that Google, Apple or Outlook can subscribe to, and keeps itself up to date. Use webcal:// in place of https:// to open it in a calendar app.
A tour's schedule on another site
One script tag, /embed.js, puts a tour's upcoming events on any web page, with no key. Build the tag for a tour.
Entry links
Link to an event's entry page through /go/{id} rather than its registrationUrl: it goes to the same place, and the organizer's monthly report counts the visit.
Good to know
- Dates are calendar dates (
YYYY-MM-DD). Times are the event's local time, as on the flyer, with its zone intimeZone;startTimeis null when the organizer didn't give one. - A filter that isn't valid is dropped rather than failing the request;
queryin the answer shows what was applied. - Without a date filter, a search returns events that haven't ended yet; add
includePast=truefor past ones. - A search by ZIP code leaves out events whose center isn't announced yet, since they can't be said to be within reach.
Terms
The JSON and calendar feeds are for personal, non-commercial use, and for organizers' use of their own events. They may not be used to build or supply a competing directory or service. See section 11 of the Terms of Use.
Run a tour or association? For organizers covers your schedule on your own site and a director's account.