18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware
20 sport keys · 14 Australian racing bookmakers · Horse, greyhound & harness racing

API Coverage

What's live, what's seasonal, and exactly which bookmakers are covered. Per-sport counts measured 16 Sep 2026 03:00 UTC, recomputed every 30 minutes.

This page is the catalogue — which sports and bookmakers exist. For a dated measurement of how much of the Australian card each bookmaker actually quotes, recomputed every 30 minutes with the SQL published beside it, see the live coverage report (JSON).

Sports coverage

Status: Live = at least one bookmaker quoted the sport in the measured window, Seasonal = the key is served but nothing is quoting it right now. Both are derived from the measurement, not set by hand.

The Bookmakers column counts the distinct bookmakers that quoted the sport at all. It is not how many quote a single match — no book covers every fixture, so per-event depth is lower. Measured 16 Sep 2026 03:00 UTC: Rugby Union had 6 books across the sport, but no single Rugby Union fixture carried more than 6 and the average quoted fixture carried 2.77. Only Rugby Union, NBA, NRL, AFL, Tennis ATP, College Football, AFLW, Super League, NRLW and EPL carry more than one book on at least 50% of their quoted fixtures.

Sport API Key Markets Bookmakers Fixtures in window Status
Rugby Union rugby_union h2h, spreads, totals 6 97 LIVE
NBA nba h2h, spreads, totals 6 21 LIVE
NRL nrl h2h, spreads, totals 6 14 LIVE
AFL afl h2h, spreads, totals 6 12 LIVE
NFL nfl h2h, spreads, totals 5 224 LIVE
Tennis ATP tennis_atp h2h 4 2,500 (2,454 quoted) LIVE
Tennis WTA tennis_wta h2h 4 1,944 (1,941 quoted) LIVE
WNBA wnba h2h 4 20 LIVE
MLB mlb h2h, totals 3 282 LIVE
College Football ncaaf h2h, spreads, totals 3 244 LIVE
AFLW aflw h2h, spreads, totals 3 36 LIVE
Super League super_league h2h, spreads 3 10 LIVE
NRLW nrlw h2h, spreads, totals 3 8 LIVE
Soccer (Other Competitions) soccer_other h2h 2 878 (827 quoted) LIVE
Basketball (Other Competitions) basketball_other h2h, spreads 2 209 LIVE
EPL soccer_epl h2h 2 30 LIVE
NHL nhl h2h, spreads, totals 2 21 LIVE
Cricket (Other Competitions) cricket_other h2h 1 73 (72 quoted) LIVE
MMA/UFC mma h2h 1 44 LIVE
Test Cricket cricket_test h2h 1 4 LIVE

Measured 16 Sep 2026 03:00 UTC, recomputed every 30 minutes. Window: fixtures that started within the last 7 days or are still to come, excluding bookmakers withheld from customer responses. Predicate you can re-run: SELECT e.sport_key, count(DISTINCT m.bookmaker_key) FROM events e JOIN markets m ON m.event_id = e.id WHERE e.commence_time >= (now() AT TIME ZONE 'utc') - interval '7 days' AND m.bookmaker_key NOT IN ('betfair_ex_au','pinnacle') GROUP BY 1

Bookmaker coverage — 14 served

Measured 2026-09-16 over a trailing 7-day window, 14 Australian bookmakers quoted racing prices a customer key can read. 15 connectors quoted at all: the difference is Betfair Exchange and Pinnacle, ingested for internal reference and withheld from customer responses. Quote the served figure unless you mean the other one.

All bookmakers are Australian-licensed fixed-odds bookmakers. Share is that book's percentage of the 1,542 Australian races served to customer keys over the trailing 7 days, measured 2026-09-16.

TAB
tab
98.3% of races · Active
BetDeluxe
betdeluxe
98.1% of races · Active
Betr
betr_au
98.1% of races · Active
PointsBet
pointsbetau
98.0% of races · Active
TABtouch
tabtouch
98.0% of races · Active
BetRight
betright
97.9% of races · Active
Palmerbet
palmerbet
97.7% of races · Active
NextBet (formerly PlayUp)
playup
97.3% of races · Active
Unibet
unibet
97.2% of races · Active
Ladbrokes
ladbrokes_au
96.0% of races · Active
Neds
neds
96.0% of races · Active
Sportsbet
sportsbet
94.6% of races · Active
BetGold
betgold
72.0% of races · Active
BoostBet
boostbet
72.0% of races · Active

Bookmaker keys are passed in the bookmakers query parameter. Omit to get all bookmakers.

Racing coverage

Horse Racing
category=horse
Australia-wide, next-to-go
Live
Greyhound Racing
category=greyhound
Australia-wide, next-to-go
Live
Harness Racing
category=harness
Australia-wide, next-to-go
Live

Racing endpoint: GET /v1/racing/next-to-go — returns next N races with runners and current odds. Racing polling is per book and it is not uniform. Measured over the trailing 7 days to 2026-09-16 through the 10:00–21:00 AEST card, the median age of a connector's last successful read is 9–17s for fourteen of the fourteen served books. There is no single racing poll interval to quote: the slowest served book is 2x the fastest, so any blanket figure is wrong for a named book. Every quote carries its own age_seconds — that is the number to gate on. Per-book figures are published on the coverage report.

Median age of each connector's last successful read, measured 2026-09-16 over the trailing 7 days.
Bookmaker Through the card (p50) Overnight (p50)
Sportsbet 9s 6s
BetRight 12s 7s
Ladbrokes 12s 7s
PointsBet 12s 6s
TAB 12s 7s
Unibet 13s 8s
BetDeluxe 14s 8s
BetGold 14s 8s
Neds 14s 8s
Palmerbet 14s 15s
NextBet (formerly PlayUp) 14s 8s
TABtouch 14s 6s
BoostBet 15s 8s
Betr 17s 18s

connector_poll_age over the trailing 7 days, split at 10:00-21:00 AEST (the Australian card) against the rest of the day. This is how old the connector's last successful READ of the book was, not how old the prices are; capture is change-only, so they are different statistics.

Endpoint matrix

All endpoints are under https://puntersedge.online/api and authenticate with the X-API-Key header. Full interactive reference: Swagger docs. The API publishes 60 paths as at 2026-09-16; the schema at https://api.puntersedge.online/openapi.json is the list, and it changes — it went from 40 to 42 on 2026-08-18.

Endpoint Purpose Cost Plans
Account
GET /v1/billing/portal Self-service billing portal link
GET /v1/health Connector health status
POST /v1/keys Create a new API key (admin only)
GET /v1/keys/info API key metadata
POST /v1/keys/ip-whitelist Set IP whitelist for your key Business, Unlimited, Enterprise and platform
POST /v1/keys/resend Email yourself a fresh API key
POST /v1/keys/reveal Issue a fresh key and return it (signed-in console only)
POST /v1/keys/rotate Rotate your API key
POST /v1/login/exchange Redeem a login link for a console session
POST /v1/login/request Email yourself a one-time login link for the key console
POST /v1/logout End a console session
GET /v1/uptime Public uptime stats
GET /v1/usage Check API usage
GET /v1/usage/analytics Usage breakdown by endpoint
Arb & Value
GET /v1/arb/best-prices Best prices comparison 2 credits
GET /v1/arb/lines Spreads/totals line arb 3 credits
GET /v1/arb/sports Sports arb scanner 3 credits
Best Odds
GET /v1/best-odds/{sport_key} Best price per selection 3 credits
Data Quality
GET /v1/data-quality/audit/latest Latest bookmaker audits 1 credit
POST /v1/data-quality/audit/run Run bookmaker audit
GET /v1/data-quality/audit/{run_id}/results Audit result detail
GET /v1/data-quality/summary Data quality summary 1 credit
Health
GET /v1/health/connectors Per-connector freshness 1 credit
Racing
GET /v1/racing/acceptances Full-day AU thoroughbred acceptance card: every meeting, race and runner 2 credits
GET /v1/racing/best-odds Best racing price per runner across books 3 credits
GET /v1/racing/changes Races and prices that changed since a timestamp 2 credits
GET /v1/racing/events Upcoming race list 1 credit
GET /v1/racing/greyhounds/form Greyhound form history for one dog 3 credits
GET /v1/racing/greyhounds/stats Greyhound record by track, distance, box or grade 3 credits
POST /v1/racing/horses/backfill Queue a batch of horses for paced form collection 3 credits Business, Unlimited, Enterprise, plus and platform
DELETE / GET /v1/racing/horses/backfill/{job_id} Progress of a backfill job Business, Unlimited, Enterprise, plus and platform
GET /v1/racing/horses/backfill/{job_id}/results Collect the form of horses this job has delivered Business, Unlimited, Enterprise, plus and platform
GET /v1/racing/horses/form Thoroughbred form, career record and profile for one horse 3 credits
GET /v1/racing/jockeys/stats Jockey premiership leaderboards and lookup 2 credits
GET /v1/racing/movers Racing steamers and drifters 3 credits
GET /v1/racing/next-to-go Next races to run 2 credits
GET /v1/racing/price-history Racing price history / closing line 5 credits
GET /v1/racing/results Settled race results 2 credits
GET /v1/racing/results/coverage What the results field coverage actually is 1 credit
GET /v1/racing/track-conditions Track condition, weather and rail: current state and today's change log 1 credit
GET /v1/racing/trainers/stats Trainer premiership leaderboards and lookup 2 credits
GET /v1/racing/venues Canonical venue directory 1 credit
Racing Archive
GET /v1/racing/closing-lines Permanent closing-line and result archive 5 credits or 20 credits Standard, Business, Unlimited, Enterprise, plus and platform
GET /v1/racing/closing-lines/coverage What the closing-line archive actually holds 1 credit Standard, Business, Unlimited, Enterprise, plus and platform
GET /v1/racing/price-paths Bulk export of the permanent price-movement archive 5 credits or 20 credits Standard, Business, Unlimited, Enterprise, plus and platform
Referrals
GET / POST /v1/referral Your referral link and earnings
Sandbox (no key)
GET /v1/demo/best-odds Sample best-odds + arb detection (no key required)
GET /v1/demo/book-sport Live book+sport snapshot (no key; powers SEO page differentiation)
GET /v1/demo/racing/next-to-go Sample next-to-go races (no key required)
Signup
POST /v1/signup Create API key or start paid checkout
Sports
GET /v1/sports List available sports 1 credit
GET /v1/sports/{sport_key}/odds Get odds by sport
GET /v1/sports/{sport_key}/odds/history Historical odds snapshots 5 credits Standard, Business, Unlimited, Enterprise, plus and platform
GET /v1/sports/{sport_key}/odds/movements Price movement feed 5 credits Standard, Business, Unlimited, Enterprise, plus and platform
Webhooks
GET / POST /v1/webhooks List Webhooks Standard, Business, Unlimited, Enterprise, plus and platform
DELETE /v1/webhooks/{webhook_id} Delete Webhook
GET /v1/webhooks/{webhook_id}/deliveries List Webhook Deliveries
POST /v1/webhooks/{webhook_id}/test Test Webhook Standard, Business, Unlimited, Enterprise, plus and platform

Credit cost is deducted per successful call, read from the API's own check_and_deduct calls on 2026-09-16. An empty Cost cell means no constant cost is declared for that path — either the call bills nothing or it is priced per request, as /v1/sports/{sport_key}/odds is, which charges per requested market type. An empty Plans cell means no plan-gate constant names that path; it is not a statement that every plan may call it, and a few administrative paths enforce their own restriction inside the handler. The authoritative, machine-readable list is the OpenAPI schema.

  • Business, Unlimited, Enterprise and platform reach /v1/keys/ip-whitelist, /v1/racing/closing-lines, /v1/racing/closing-lines/coverage, /v1/racing/horses/backfill, /v1/racing/horses/backfill/{job_id}, /v1/racing/horses/backfill/{job_id}/results, /v1/racing/price-paths, /v1/sports/{sport_key}/odds/history, /v1/sports/{sport_key}/odds/movements, /v1/webhooks and /v1/webhooks/{webhook_id}/test.
  • Business and plus reach /v1/racing/closing-lines, /v1/racing/closing-lines/coverage, /v1/racing/horses/backfill, /v1/racing/horses/backfill/{job_id}, /v1/racing/horses/backfill/{job_id}/results, /v1/racing/price-paths, /v1/sports/{sport_key}/odds/history, /v1/sports/{sport_key}/odds/movements, /v1/webhooks and /v1/webhooks/{webhook_id}/test and are 403ed on /v1/keys/ip-whitelist.
  • Standard reach /v1/racing/closing-lines, /v1/racing/closing-lines/coverage, /v1/racing/price-paths, /v1/sports/{sport_key}/odds/history, /v1/sports/{sport_key}/odds/movements, /v1/webhooks and /v1/webhooks/{webhook_id}/test and are 403ed on /v1/keys/ip-whitelist, /v1/racing/horses/backfill, /v1/racing/horses/backfill/{job_id} and /v1/racing/horses/backfill/{job_id}/results.
  • Free and Hobby reach no gated endpoint (403 on /v1/keys/ip-whitelist, /v1/racing/closing-lines, /v1/racing/closing-lines/coverage, /v1/racing/horses/backfill, /v1/racing/horses/backfill/{job_id}, /v1/racing/horses/backfill/{job_id}/results, /v1/racing/price-paths, /v1/sports/{sport_key}/odds/history, /v1/sports/{sport_key}/odds/movements, /v1/webhooks and /v1/webhooks/{webhook_id}/test).

Data refresh rates

Sports odds Every quote carries its own age_seconds Every quote carries its own age_seconds
Best-odds comparison Derived on request from latest cached odds Same as sports odds freshness
Arb & value signals Computed on request from the latest cached bookmaker prices Verify legs before staking; prices move
Racing next-to-go 9–17s through the card for 14 of 14 served books Racing polling is per book and it is not uniform. Measured over the trailing 7 days to 2026-09-16 through the 10:00–21:00 AEST card, the median age of a connector's last successful read is 9–17s for fourteen of the fourteen served books. There is no single racing poll interval to quote: the slowest served book is 2x the fastest, so any blanket figure is wrong for a named book. Every quote carries its own age_seconds — that is the number to gate on.
Sport list On-demand Updated when new sports are added

This is not real-time tick data. Refresh rates depend on upstream bookmaker API availability and rate limits. Do not rely on this data for high-frequency or latency-sensitive trading.

Get free API key → Code examples Pricing
This site contains wagering-related analysis and is intended for Australian users aged 18+. Gambling involves risk. Please gamble responsibly.