Twelve scrapers you don't have to write.

We run the collection pipeline — twelve scrapers, nightly, geocoded, deduplicated, expired on schedule — and serve the result as six standalone datasets: courts, clubs, tournaments, leagues, instructors, ambassadors. Buy only what you need, one time or on a monthly subscription, or take all six together as the discounted Full map bundle. Evaluate any of them without signing anything; a signed acceptable-use rider unlocks the personal contact fields on the four datasets that carry them — see Terms below.

29,048
Courts & venues
125,447
Individual courts
20,081
Clubs with member counts
1,413
Upcoming tournaments

Queried live from the production database on every page load — not a snapshot that goes stale.

57,000+
Records re-checked against their source every night
~2,300
New records added every month
~520
New tournaments every month
86 nights
In a row: the pipeline has run every night since July 9

Pipeline activity, Jul 9 – Oct 2, 2026, from our nightly run logs. Updated after every run.


What you are actually buying

The records are the visible part. The part that costs you money is keeping them true: source sites redesign without warning, republish the same event under a new URL, sit behind logins or CAPTCHAs before you can even reach the data, ship addresses that are missing or wrong, and never tell you when a listing dies. That is the work we do in every pipeline run.

Build it yourself
  • Reverse-engineer twelve sources, two behind logins
  • Geocode every address yourself, and pay per lookup
  • Detect the same tournament republished under a new URL
  • Expire finished and cancelled events so you stop showing them
  • Repair scrapers each time a source site is redesigned
  • Run and monitor all of it, nightly, indefinitely
Plug into ours
  • One authenticated endpoint, one integration
  • Coordinates already resolved on every record — you never pay per lookup
  • Content-matched deduplication, with human review of edge cases
  • Finished listings leave the live set automatically
  • Source breakage is our problem, repaired inside 5 business days
  • Nightly, whether or not you think about it

What you get, dataset by dataset

A one-time export is every record in the second column, frozen at the moment you buy. A subscription is the same records kept current nightly, plus the new ones in the third column as they arrive.

Dataset Records today New per month
Courts & venues 29,048 venues
125,447 individual courts
~250
Clubs 20,081 ~940
Tournaments (subscription only) 1,413 upcoming
plus 17,384 finished, back to 2022
~520
Leagues (subscription only) 305 current
plus 7,276 finished
~160
Instructors 13,278 ~370
Ambassadors 2,312 Refreshed nightly

Records today are live counts using the same filters the API applies. New per month is the average from our nightly run logs (Jul 9 – Oct 2, 2026), recomputed after every run and leaving out one-off bulk reloads.

Extensive US coverage in every state, plus 25,000+ records abroad

All 50 states plus DC. Venue coverage reaches every US state and the District of Columbia. The court network — every venue geocoded, linked back to its source listing — is the largest single asset in the data.

45 countries with live tournaments. Beyond the US: Canada, Australia, the UK, Spain, Portugal and New Zealand carry the most events. Every record states where it came from — PickleballTournaments, APP Tour, UTR Sports, Swish, PickleballDen, pickleballleagues.com, Pickleheads, DUPR, the Professional Pickleball Registry and USA Pickleball, plus direct submissions from users on the site. Tournaments and leagues are filterable by source; courts, clubs, instructors and ambassadors document it in every record but aren't filterable by it yet.

How it stays current

01
Nightly scrape

All twelve scrapers run at midnight daily. A steady night re-checks 57,000+ source records.

02
Deduplicate

Source sites re-publish events under new URLs. Matching on date, city and name catches those; suspected duplicates are held for human review, never silently merged.

03
Expire

Finished and cancelled listings leave the live set automatically the day after they end, so you are never serving a stale event.

04
Community-added

Tournament organizers, league operators, venues and instructors can add themselves directly through the site. Every submission is reviewed by a human before it goes live.

Built to fail safely

Source sites go down, time out and change without notice. The pipeline assumes they will.

  • Isolated scrapers. Each source runs on its own, so one site failing never takes the others down with it.
  • Retries with backoff. Page fetches, database writes and address lookups retry on transient errors, and the longest crawl resumes where it stopped.
  • Anomaly detection. Each source's nightly count is checked against its own history. A zero, a crash or a sharp drop is flagged in the morning report, with thresholds tuned on real runs so a flag means a real problem.
  • Hard deadline. A run that hangs is stopped at five hours, naming the stuck source, so it can never block the next night.
  • Independent watchdog. A separate check every morning alerts if no run has completed in 26 hours, catching the one failure a pipeline can't report on itself: not running at all.
This is a production pipeline, not an export. The same database drives the public PickleballMaps site, which serves nearly 2,000 registered users and has delivered over 750,000 location-matched notifications. You are licensing a feed that is already load-bearing.

A read-only JSON API over HTTPS

Bearer-token authentication, cursor pagination on every collection, and an updated_since parameter on every collection so you can sync incrementally instead of re-pulling the world. Radius searches page the same way and report a total alongside each page, so a dense metro never hands you a silently partial answer, and every page reports a total so you can size a sync and confirm it ran to completion. Every record carries structured country, region and city alongside its full address, and every collection can be filtered on them (?country=, ?region=, ?city=, or ?state= for a two-letter US code) — so "every court in Spain" is one call, not a string match. Courts, Clubs, Instructors and Ambassadors additionally require a signed acceptable-use rider on the key — see Terms below.

GET /v1/tournamentsFilter by bounding box, radius from a point, date range, cost, source. ?status=live (default) is what is still to come; archived is every event that has finished, back to 2022; all is both
GET /v1/tournaments/{id}Single listing with full detail
GET /v1/leaguesSame filters and the same ?status=, on season-based dates
GET /v1/courtsFilter by bounding box, radius, state, indoor/outdoor, minimum court count, access type. Contact email/phone on ~15% of venues, with the rider
GET /v1/courts/{id}Single venue with court configuration; contact fields with the rider
GET /v1/clubsFilter by bounding box or radius. Member counts, plus contact info on 97.6% of clubs and full director/organizer structure, with the rider
GET /v1/instructorsCoaches and pros by location, filterable by certification. Contact email on 23% of coaches, with the rider
GET /v1/ambassadorsUSA Pickleball ambassadors by location — the original August 2026 roster plus nightly additions. Contact email on 69%, with the rider
GET /v1/openapi.jsonThe full machine-readable contract — every endpoint, parameter, response field and error code. No key needed to read it, so you can review the API before signing up
GET /v1/exports/{dataset}?format=csv|parquetYour one-time buy-in's download link — a frozen snapshot as of your purchase date, re-downloadable any time. {dataset} is the one you bought: courts, clubs, instructors, ambassadors, or full_map, which returns a ZIP of all six plus the free tournament-director bonus
# Everything within 50 miles of Austin opening for registration soon
curl -H "Authorization: Bearer $PBM_KEY" \
  "https://www.pickleballtournamentsmap.com/api/v1/tournaments?lat=30.27&lng=-97.74&radius=50"

{
  "id": 24817,
  "name": "Texas Open Pickleball Championships",
  "start_date": "2026-10-09",
  "registration_status": "Registration opens on 08-31-2026",
  "cost": 65.0,
  "formatted_address": "3918 Manchaca Rd, Austin, TX 78704, USA",
  "lat": 30.2371, "lng": -97.7823,
  "distance_miles": 3.4,
  "source": "PickleballTournaments",
  "url": "https://www.pickleballtournaments.com/...",
  "first_seen": "2026-08-01"
}

What counts, what it costs, what happens when it breaks

An API callOne HTTP request, whatever it returns. Pagination is the exception — each page is its own call, so pull a larger page size per request if volume matters to you.
Going overNothing is cut off. You keep serving, we invoice the overage at $6 per additional 1,000 calls. No silent throttling, no surprise suspension. Every response carries X-Quota-Limit, X-Quota-Used and X-Quota-Remaining, so the number we invoice is one you can see and forecast all month.
Rate limit10 requests per second sustained, 50 in a burst. Above that you get HTTP 429 with a Retry-After header rather than a dropped connection.
CachingExpected, not merely tolerated — mirror it in your database and serve your users from your own copy. Refresh at least every 7 days.
Record identityInteger ids are stable for the life of a record and never reused, so historical rows stay joinable even after a listing leaves the live set.
If you cancelAfter the 12-month minimum term, a final full export in CSV or Parquet, yours to keep, at no charge. You keep what you already cached under the normal refresh policy either way.
When a source breaksEvery run is monitored and each source reports its own record count, so a silent failure is caught the same night rather than weeks later. Repaired inside 5 business days.
Reporting bad dataEmail the record id. Corrections that are ours to make — geocoding, deduplication, expiry — are fixed within 2 business days.

Terms, in plain language

LicenseNon-exclusive. Subscriptions carry a 12-month minimum term, billed monthly, then continue month to month, terminable at 30 days. You license use of the data; PickleballMaps retains ownership of the compilation.
AttributionOne credit per surface, not per record: "Data by PickleballMaps" with a link, somewhere on any screen built on the data.
AvailabilityTarget 99.5% monthly uptime, measured on the API rather than the scrapers. Freshness is guaranteed to one nightly cycle.
Acceptable-use riderThe rider governs the personal contact fields, not the datasets holding them: permission-based outreach only, no resale or list transfer, opt-outs honored within 5 business days. Without it every dataset is still fully available — Courts, Clubs, Instructors and Ambassadors simply arrive with their contact fields withheld, and each response says so in X-Contact-Fields-Withheld. You can evaluate everything before signing anything. Tournaments and Leagues carry no contact columns at all.
One-time exportsCourts, Clubs, Instructors, Ambassadors and Full map nationwide, plus Courts for any single state. Tournaments and Leagues are subscription-only: most of what a snapshot of them holds is over within months. A frozen snapshot as of your purchase date and time. Re-download any time — it always returns exactly what you paid for, never later updates. Delivered as CSV or Parquet via your own download token, not an API key.
Subscribing to a datasetSold on its own — no export purchase needed first. A 12-month minimum term, billed monthly, which you agree to at checkout; after that, month to month. The subscription includes the whole current dataset through the API from day one.

Plans

Six standalone datasets — courts, clubs, tournaments, leagues, instructors, ambassadors — each with a monthly subscription (12-month minimum term), and all but Tournaments and Leagues with a one-time export too. Buy only what you need, or take all six as the discounted Full map bundle and get the 2024 tournament-director contact list free as a bonus (that role has no home of its own dataset). Courts, Clubs, Instructors and Ambassadors carry real personal contact info and require the acceptable-use rider above; Tournaments and Leagues don't.

Dataset Fields beyond name & location One-time export Monthly subscription In Full map
Courts & venues Indoor/outdoor court counts, lights & surface flags, access type, venue photo; contact email/phone where published (~15% of venues, rider required) $4,000 $150/mo ✓
Clubs Member count, contact email on 97.6% and contact name on 88% (rider required), directors and organizers as structured JSON $3,000 $125/mo ✓
Tournaments Start/end dates, registration window, live registration status, entry cost, registration URL, first-seen date, source Subscription only $200/mo ✓
Leagues Season start & end, registration window, cost, listing URL, first-seen date Subscription only $100/mo ✓
Instructors Certification body, profile URL, bio text, photo; contact email on 23% of coaches (rider required). Phone is present on well under 1% — treat it as absent $2,000 $100/mo ✓
Ambassadors USA Pickleball's directory by territory, contact email on 69% where published (rider required), refreshed nightly $750 $50/mo ✓

Full map ($9,000 one-time / $500/mo) bundles all six datasets above plus the 2024 tournament-director contact list — name, email and phone for every director we've ever captured, free, since Tournaments itself carries no contact info at all.

Courts

$4,000 one-time
$150 / month
25,000 calls/mo

12-month minimum term, billed monthly.
Clubs

$3,000 one-time
$125 / month
20,000 calls/mo

12-month minimum term, billed monthly.
Tournaments

$200 / month
20,000 calls/mo

12-month minimum term, billed monthly.
Leagues

$100 / month
10,000 calls/mo

12-month minimum term, billed monthly.
Instructors

$2,000 one-time
$100 / month
15,000 calls/mo

12-month minimum term, billed monthly.
Ambassadors

$750 one-time
$50 / month
5,000 calls/mo

12-month minimum term, billed monthly.
Full map

$9,000 one-time
$500 / month
75,000 calls/mo

12-month minimum term, billed monthly.

Courts by state

Need one state rather than the country? Every approved court and venue in a single state, as a one-time CSV or Parquet export: the same fields and the same acceptable-use rider as the full Courts dataset, cut to that state. Priced by how many venues the state has.

Test it before you decide

A 5-day key against the live production feed — free, and with no call to sit through first. Capped at 500 records per dataset, enough to check the shape and the fill rates against the real thing. Subscribe later with the same email and the same key unlocks to full volume — no new key, no re-integration.


(read the rider)
Optional. Leave it unticked and you still get every dataset — just without the personal contact fields on Courts, Clubs, Instructors and Ambassadors.

Getting started

Step 1
Tell us the shape

Which datasets, which geography, and how you plan to use it. Reply to any confirmation email — fifteen minutes is usually enough.

Step 2
Evaluate on real data

A 5-day evaluation key against the live feed, capped at 500 records per dataset, at no cost — so you test against production rather than a sample file.

Step 3
Buy and subscribe

Subscribe to the dataset you evaluated, with the same email, and the same eval key unlocks to full volume. No cutover, no new integration.

Pickleball Maps, LLC — questions on any of this go to whoever replies to your confirmation email.