18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware
Australian racing & sports odds API · REST + JSON · 15 Australian bookmakers

The Australian racing odds API: 15 bookmakers, every closing price kept.

Live prices, results, form and a closing-line archive for thoroughbred, harness and greyhound racing, with New Zealand racing and AFL, NRL and other Australian sports (6 books) on the same key. Don’t take our coverage on trust: 15 of 15 Australian books quoting now, a median of 10 seconds since each was last read, and 97% of this week’s races settled where a results source exists. Verify every figure.

Free tier, no credit card. Paid plans from A$9/month. Data is for informational and analytical use only.

Trusted by 394 developers864,000+ API requests served60+ paying builders & teams

I was skeptical the odds would be refreshed often enough to be useful. They were updated well within the timeframes I needed, and I'm refreshing the markets multiple times per minute.
Glenn G Business plan
I was unsure whether a relatively new API would have the coverage and consistency to build on across full Australian race cards. The breadth was better than I expected, and having acceptances, results, horse data and market data through the one API has been worth more than any single endpoint. There have been gaps, but they have been visible rather than hidden, and genuine issues have been investigated and fixed rather than brushed off.
Punters Place Standard plan
My main concern was whether the API data would reconcile reliably enough with the other racing data First4 Pro uses, because a silent mismatch could contaminate the analysis. In one validation run First4 Pro matched all 41 active runners across five races with no ambiguous matches.
Mick Standard plan
My main question was whether the data would have enough depth, granularity and stable identifiers to build a proper quantitative racing and backtesting platform around it, rather than simply being another odds and results feed. It's been much more comprehensive than I initially expected. The permanent price-path history is the standout: following price changes by bookmaker and linking them through runner_ref to results, closing lines and horse form is particularly useful for the type of quantitative research I'm building.
Chris B. Standard plan
RaceVision uses PuntersEdge data across its Australian racing platform, including automated race results and historical market data.
RaceVision Standard plan
15Racing bookmakers
20Sport keys
84Endpoints
3,000Free credits
Live sandbox · no key

See real Australian odds, right now.

Live data from the public sandbox — the same shape the paid endpoints return, no signup required. Rate-limited and truncated; a free key unlocks the full feed.

Open the full interactive playground — pick endpoints & copy code →

Loading live odds…
GET /api/v1/demo/racing/next-to-go Get your free API key →
Use cases

What you can build with it.

The API is designed for practical Australian sports betting products — not generic offshore odds feeds with poor local coverage.

01

Odds comparison tools

Show best available prices across Australian bookmakers for major sports and racing markets.

02

Betting model pipelines

Feed price snapshots into models, edge calculators, CLV tracking and alerting systems.

03

Racing next-to-go apps

Power horse, greyhound and harness racing views with runners, prices and upcoming race order.

04

Arbitrage scanners

Dedicated /v1/arb/* endpoints return sports surebets and spreads/totals line arbs with stakes and locked-in margin pre-calculated. For racing, /v1/racing/best-odds returns the best price per runner across books, with the market percentage that tells you when the field beats 100.

05

Promo value board

Surface daily bookmaker promos ranked by EV per $1 via /v1/value/promos. The value you'd otherwise track by hand across every book.

06

Content and analytics

Create odds widgets, market reports, betting previews and data-led sports analysis pages.

Quickstart

Clean requests. Predictable JSON.

Simple API-key authentication with endpoints designed around racing, best odds, sports and usage.

Rather not write the HTTP layer? Four official clients, all MIT licensed and open source: Python (pip install puntersedge 0.3.3) with typed methods over every endpoint and a puntersedge-arb scanner; TypeScript & JavaScript (npm install puntersedge 1.2.1) with zero dependencies and types generated from the live OpenAPI schema, running on Node, Deno, Bun, Cloudflare Workers and in the browser; an MCP server (pip install puntersedge-mcp) that gives Claude, Cursor or Copilot read-only tools over live prices, results, form and the closing-line archive; and a Postman collection beside the OpenAPI document. Or use any HTTP client — the API is plain REST and JSON.

cURLRESTJSON
# 1. Try it right now — no key, no signup. This returns real data.
curl https://api.puntersedge.online/v1/demo/racing/next-to-go

# 2. Get a free key at puntersedge.online/api#signup (3,000 credits/mo, no card).

# 3. The same call, keyed. Returns a JSON ARRAY of races — not an object.
curl "https://api.puntersedge.online/v1/racing/next-to-go?num_races=5&categories=horse&country=AU" \
  -H "X-API-Key: YOUR_API_KEY"

# NRL head-to-head odds
curl "https://api.puntersedge.online/v1/sports/nrl/odds?markets=h2h" \
  -H "X-API-Key: YOUR_API_KEY"

# Best price per runner across the Australian books
curl "https://api.puntersedge.online/v1/racing/best-odds?categories=horse" \
  -H "X-API-Key: YOUR_API_KEY"

Prefer a GUI? In Postman choose Import → Link and paste https://api.puntersedge.online/postman.json — baseUrl already filled in and a Sandbox folder that needs no key. The Postman collection covers 80 of 84 published paths (measured 2026-10-06). Not covered: /v1/ingest/sports/{bookmaker_key}, /v1/ingest/{bookmaker_key}, /v1/keys and /v1/signup.

Endpoints

Sports, odds & racing.

Every endpoint explained in plain English — what it returns, what it costs, which plan has it.

All responses are JSON. Authenticate with the X-API-Key header. Credit cost is shown per call. Also listed on RapidAPI ↗.

Sports & odds

GET
/v1/sports
List active sports and their keys, titles and groups.
1 credit
GET
/v1/sports/{sport_key}/odds
Odds for a sport. Filter by markets (h2h, spreads, totals), bookmakers and oddsFormat.
1 credit / market
GET
/v1/best-odds/{sport_key}
Best available price per selection across all books, with arb_exists / arb_profit_pct flags.
3 credits
GET
/v1/sports/{sport_key}/odds/history
Historical odds snapshots over a date range. Standard+
5 credits
GET
/v1/sports/{sport_key}/odds/movements
Detected price movements from historical snapshots. Standard+
5 credits

Racing

GET
/v1/racing/next-to-go
Next races to jump with runners and prices, plus jockey, trainer, barrier, weight, form, scratchings and track condition on Australian and New Zealand meetings. Opening price and flucs are carried inline for BetRight; for every book’s opening line and drift use /v1/racing/movers. Enrichment fields are null on international races. On Plus and above each Unibet, TAB, Ladbrokes and Neds price also carries a runner-level betslip deep link that opens the book’s slip with the runner selected.
2 credits or 3 credits or 4 credits
GET
/v1/racing/best-odds
Best win, place and tote price per runner across every book, with the bookmaker offering it, a deep link, and the market percentage — under 100 means the best prices beat the field.
3 credits
GET
/v1/racing/movers
Steamers and drifters: runners whose consensus price has moved since the market opened, with the per-book moves behind it. move_pct is negative for a firming runner.
3 credits
GET
/v1/racing/results
Settled results: finishing order with one bookmaker’s settled win and place prices (BetRight), plus scratchings and their deductions. deduction values are a fraction of the payout withheld — 0.34 means 34c in the dollar.
2 credits
GET
/v1/racing/price-history
Every price move for a race, per runner per book — with a real opening line and a true closing line for CLV. History starts 4 August 2026 and is retained for 45 days, so the window is still filling and grows by a day each day until it reaches the full 45.
5 credits
GET
/v1/racing/events
Upcoming race list within an hours_ahead window, optionally filtered by category.
1 credit
GET
/v1/racing/closing-lines
The permanent closing-line and result archive: the last price each book showed before the jump, kept beyond the rolling snapshot window — the denominator for CLV. Standard+ (a 90-day window on Standard, permanent from Plus). Plan-gated to Standard, Plus, Business, Platform, Scale and Enterprise; on Standard the window is clamped to 90 days.
5 credits or 20 credits
GET
/v1/racing/closing-lines/coverage
What the archive actually holds — date range, races, books, and how much is a genuine closing line or resulted — so you can check it covers your backtest before you pay for it. All plans
1 credit
GET
/v1/racing/price-paths
Bulk export of the permanent price-movement archive — every change-only price path per runner per book, as JSON pages or one CSV or Parquet file. Plus+
5 credits or 20 credits
POST
/v1/racing/clv
Score up to 200 bets against the closing line: the named book’s close or the market’s best or median, CLV %, beat-the-close, result and flat-stake P&L, with aggregates across the list. Plus+
5 credits
GET
/v1/racing/markets
Every market on one race in one call: win, place and Same Race Multi Top 2, Top 3 and Top 4 per bookmaker, each book’s market percentage, and the best price per runner in each market — plus, once the race has been run, the settled exotic dividends (quinella, exacta, trifecta, first four). Top 2/3/4 are quoted by Sportsbet, Ladbrokes, Neds and PointsBet and by no other book in the feed. A race that has already jumped is answered from our own minute-by-minute capture of the last price each book showed before the off, which is the only place that record exists. Plus+
2 credits
GET
/v1/bulk/datasets
The bulk catalogue: every dataset published as pre-built files — closing lines, price paths, results, acceptances, track conditions, race markets, exotic dividends — with the daily files and monthly bundles that exist, rows, bytes and digests. No credits. Business+
0 credits
GET
/v1/bulk/{dataset}/{period}
One whole Sydney day (Business+) or calendar month (Platform+) of a dataset as a single Parquet or gzip CSV file: no paging, no database work, a free 304 when nothing changed. Business+ · months Platform+
POST/GET/PATCH/DELETE
/v1/widgets
White-label odds widget: an embeddable live-odds frame in your colours, with your own bookmaker links and no PuntersEdge credit — the redistribution licence in practice. Managing them is free; a metered fill costs 2 credits (racing) or 1 (a sports market), at most one a minute per parameter set. Platform
POST/GET/DELETE
/v1/keys/team
Team keys: mint, list and revoke extra keys on one account that share its credit pool — each with its own rate limit, IP whitelist and usage line. 3 keys on Business, 5 on Platform, 10 on Scale, primary included. No credits. Business+

Account & operations

GET
/v1/usage
Credits used and remaining this month for your key.
0 credits
GET
/v1/usage/analytics
Usage broken down by endpoint over the last N days.
0 credits
GET
/v1/data-quality/summary
Connector freshness, canonical mappings and recent audit status.
1 credit
POST
/v1/keys/rotate
Rotate your API key. The old key keeps working for a 24-hour grace window so you can cut over without an outage — the response returns previous_key_valid_until. Rotating a leaked key? Pass ?immediate=true to revoke it now.
0 credits
GET
/v1/health · /v1/uptime
Connector health and public uptime stats for monitoring.
0 credits
POST/GET
/v1/webhooks
Register webhooks for events, list deliveries and send a test payload. Plus+
0 credits
Arbitrage & value

Arb and value, pre-computed.

These endpoints do the cross-book maths for you: surebet detection, optimal stake splits, cross-book price edges, and EV-ranked promo value.

GET
/v1/arb/sports
Scans upcoming sports markets for true arbitrage and best-odds overlays. Returns arb_pct, optimal stakes and per-selection price comparison. Filter with sport_key, min_profit_pct.
3 credits
GET
/v1/arb/lines
Line-matched arbitrage on spreads/totals: back both sides at complementary lines. Filter with sport_key, min_profit_pct.
3 credits
GET
/v1/arb/best-prices
Best price per selection plus full book comparison: worst price, average, spread and overlay %.
2 credits
GET
/v1/value/promos
Daily promo value board ranked by EV per $1 (gubbing-penalised). Filter with book, type, min_ev.
GET /v1/arb/sports200 · JSON
[
  {
    "sport_key": "nrl",
    "home_team": "Melbourne Storm",
    "away_team": "Penrith Panthers",
    "commence_time": "2026-06-21T09:50:00Z",
    "is_arb": true,
    "arb_pct": 2.84,
    "max_overlay_pct": 3.1,
    "optimal_stakes": [
      {"name": "Melbourne Storm", "stake": 52.7, "bookmaker": "sportsbet", "profit_if_wins": 5.41},
      {"name": "Penrith Panthers", "stake": 47.3, "bookmaker": "neds", "profit_if_wins": 5.39}
    ],
    "selections": [
      {"name": "Melbourne Storm", "best_price": 1.96, "best_bookmaker": "sportsbet",
       "avg_price": 1.88, "overlay_pct": 3.1,
       "all_prices": [{"bookmaker": "sportsbet", "price": 1.96}, {"bookmaker": "tab", "price": 1.90}]}
    ]
  }
]

Arb and value signals are computed from cached bookmaker and exchange prices. Prices move; verify each leg before staking. Not financial advice — see the responsible gambling page.

Coverage

Australia and New Zealand.

Two countries with a real bookmaker panel. Australia: thoroughbred, harness and greyhound, 1,607 races served in the last 7 days, a median of 14 books quoting each race. New Zealand: thoroughbred and harness, 96 races in the same window, a median of 12 books a race — there are no New Zealand greyhounds in the feed. Sports are Australian. Measured 6 October 2026; live figures at the coverage report; the weekly market report adds best-price share and closing book percentage by bookmaker.

Bookmakers

SportsbetBetDeluxeBetGoldBoostBetTABBetRightPointsBetTABtouchPalmerbetBetrUnibetNextBet (formerly PlayUp)LadbrokesNedsbet365

Sports and racing

Rugby UnionNBANRLNFLTennis ATPTennis WTACollege FootballAFLWWNBAMLBNRLWSuper LeagueSoccer (Other Competitions)Basketball (Other Competitions)NHLEPLCricket (Other Competitions)MMA/UFCTest CricketAFLHorse racingGreyhoundsHarness
Why PuntersEdge

Built Australian-first, not bolted on.

Most global odds APIs treat Australian markets as an afterthought — partial bookmaker coverage, no local racing, and no arbitrage maths. PuntersEdge is built around the books, racing and markets Australian developers actually need.

PuntersEdge Typical global odds API
15 Australian racing bookmakers (Sportsbet, BetDeluxe, BetGold, BoostBet, TAB…)FullPartial / none
Horse, greyhound & harness racingYesRarely
Arbitrage & best-price comparison, pre-computedYesNo
Free tier, no credit cardYes — 3,000 credits/moVaries
Australian timezone & market focusYesGlobal-generic

Side-by-side comparisons: vs The Odds API · vs Krok Odds · racing data APIs · every API compared

Pricing

Start free. Scale when needed.

Free
$0
3,000 credits/mo
12.5 h of once-a-minute next-to-go polling
  • Your own betting, research, models and projects.
  • No credit card
  • 30 requests/minute
  • Verify by email, then the key works
Start free
Hobby
$9/mo
or $90/yr, two months free →
7,500 credits/mo
62.5 h of once-a-minute next-to-go polling
  • Your own betting, research, models and projects.
  • Past the free cap
  • 60 requests/minute
  • Sports + racing endpoints
Choose Hobby
Standard
$29/mo
or $290/yr, two months free →
75,000 credits/mo
The full 11-hour AU card, polled once a minute, every day of the month
  • Your own betting, research, models and projects.
  • Every Australian racing bookmaker the API serves — all 15 of them
  • Thoroughbred, harness & greyhound
  • Sports endpoints included too
  • 200 requests/minute
  • Historical sports odds & a 90-day closing-line archive
Choose Standard
Business
$99/mo
or $990/yr, two months free →
300,000 credits/mo
Round-the-clock polling — one call every 17.3 s, 24/7
  • Use the data anywhere in your business — internal systems, client work, products you sell.
  • Everything in Plus
  • Daily bulk dataset files
  • 3 API keys on one credit pool
  • Overage at A$0.60 per 1,000 credits, up to 50% over
  • IP whitelisting & support within one business day
  • 750 requests/minute
Choose Business
Platform
$199/mo
or $1,990/yr, two months free →
1.5M credits/mo
Round-the-clock polling — one call every 3.5 s, 24/7
  • Pass our data on inside your product, as a feed, an export or an API.
  • Everything in Business
  • Monthly dataset bundles
  • 5 API keys on one credit pool
  • Overage at A$0.30 per 1,000 credits, up to 50% over
  • Support within four business hours, direct channel
  • 1,000 requests/minute
Choose Platform
Scale
$249/mo
or $2,490/yr, two months free →
5M credits/mo
Round-the-clock polling — one call every 1.0 s, 24/7
  • Use the data anywhere in your business — internal systems, client work, products you sell.
  • Everything in Business
  • Monthly dataset bundles
  • 10 API keys on one credit pool
  • 2,000 requests/minute
Choose Scale

Credits are billed per call and reset on the 1st of the month. Full pricing, per-endpoint credit costs and what happens at your cap →

Questions

API FAQ

Is there a free API key?
Yes. The free tier does not require a credit card and includes 3,000 monthly credits. Grab one from the signup form above.
Does it cover Australian bookmakers?
Yes. The API focuses on Australian-facing bookmaker coverage including Sportsbet, TAB, Neds, Ladbrokes, Unibet, PointsBet and more.
Can I use it for racing?
Yes. Racing covers Australia and New Zealand. Australia carries thoroughbred, harness and greyhound racing; New Zealand carries thoroughbred and harness. Next-to-go, best odds, price history and settled results are served on both.
Do you cover New Zealand racing?
Yes — NZ thoroughbred and harness, on the same endpoints, filtered with country=NZ. Measured over the seven days to 2026-09-02: a median of 10 quoting bookmakers on an NZ race against 13 on an AU race, and results a median 7.3 minutes after the jump against 4.9. There are no New Zealand greyhounds in the feed.
How do I authenticate requests?
Pass your key in the X-API-Key header on every request. There are no OAuth flows or signing steps — see the developer docs.
What are the rate limits and credits?
The free tier includes 3,000 credits per month. Paid tiers raise both the monthly credit allowance and per-minute rate limits. Each endpoint lists its credit cost, and /v1/usage reports what you have left.
What sports and racing are covered?
20 sport keys — AFL, NRL, NBA, NFL, MLB, NHL, the English Premier League, tennis, cricket, rugby union, MMA and more — with head-to-head on every code and spreads and totals where the books post lines. The English Premier League is soccer_epl; other soccer competitions sit under soccer_other. Plus racing: Australian thoroughbred, harness and greyhound, and New Zealand thoroughbred and harness. Per-sport depth is shallower than racing and follows the season — see the full coverage list.
Can I use it commercially?
What you may do with the data follows your plan: personal use on Free, Hobby and Standard; display with attribution on Plus; commercial use on Business and Scale; redistribution on Platform. Keys created on or before 15 September 2026 keep the earlier licence, which carried commercial use on any plan. Full wording in section 8 of the terms.
How fresh is the odds data?
Racing books are re-read fast, but not at the same rate as each other. Racing polling is per book and it is not uniform. Measured over the trailing 7 days to 2026-10-06 through the 10:00–21:00 AEST card, the median age of a connector's last successful read is 8–17s for fourteen of the fifteen served books, 74s for bet365. There is no single racing poll interval to quote: the slowest served book is 9x 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. Sports prices are re-read from each bookmaker we poll directly, with a 2-minute pause between passes; prices that reach us by push are updated as each push arrives. By default a sports market is served until it has gone 6 hours without an update, so a sports price can be hours old. Poll age is not price age: capture is change-only, so a price can be older than the read that confirmed it — the median price age over the same 24 hours was 81–234 seconds per book — see the live coverage report for the current per-book figures. Rather than trust one median, read the age each response carries: age_seconds on every quote and data_age_seconds for the oldest book on a race. A-League (1 books, 11 fixtures) is ingested and quoted by a served bookmaker but is not reachable: the API 404s the key. It is measured here and excluded from the coverage table rather than counted as coverage. Connector freshness and audit status are at /v1/data-quality/summary; note it reports only the connectors your key can actually read — the Betfair Exchange and Pinnacle reference feeds are withheld there too, so the count you see is the served set, not every feed we ingest.
Build with Australian odds

Get your API key and start testing.

Free tier available now. Paid tiers unlock higher monthly credit limits through Stripe checkout.

Data for informational and analytical use only. Do not use for illegal gambling services or unlicensed betting operations.

This site contains wagering-related analysis and is intended for Australian users aged 18+. Gambling involves risk. Please gamble responsibly.