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 PuntersEdge API: 15 racing bookmakers, 92 endpoints, one key.

For punters who model their own bets, tipping and form sites that show prices to their subscribers, and businesses that need the market in their own systems.

Live prices, results, form and the closing-line archive for Australian and New Zealand racing (and racing in Britain, Ireland and South Africa on smaller panels), with AFL, NRL and other Australian sports on the same key, as REST and JSON with Python and Node clients and an MCP server. Below: what each endpoint returns, what it costs in credits, and which plan unlocks it. Don’t take our coverage on trust: 15 of 15 Australian books quoting now, a median of 14 seconds since each was last read, and 88% of this week’s results with every runner placed where a full-field 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 593 developers1,690,000+ API requests served100+ paying builders & teams

15Racing bookmakers
22Sport keys
92Endpoints
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 →
Customers

In their own words.

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
Accuracy and speed are king for us, and it has ticked all our boxes. The place prices have been a nice addition, as our previous source only carried win prices.
betbible Plus plan
If you're past thoroughbreds and need greyhound form or harness results without gluing three sources together, this is the piece that fills the gap.
Mat R. Plus plan
The data is clean and consistent, and it held up from testing into live without changes on my side. The live prices power the price column on every race, and best odds and next-to-go give me what I need in two calls per poll.
Waging War Plus plan
The big issue for me with price providers is bookie availability and then stale prices. The data I download through the day is available, up to date and accurate, and being able to use webhooks at a reasonable price has enabled functionality I didn't have before. I've used all of the others and PuntersEdge really has hit a sweet spot.
John Lawson 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
Which plan fits

Start from what the data is for.

The plan follows the use, not only the volume: what you may do with the data is set by the licence each plan carries (Terms, section 8.1).

Your own betting and research

Free, Hobby or Standard · $0 to $29/mo

Personal use: your own betting, research, models and projects.

Betting models, edge and CLV tracking, backtests and arbitrage scanners — or start from the free MIT-licensed Python scanner, pip install puntersedge, which filters candidates, sizes stakes and never places a bet.

Get free API key

Prices your own users see

Plus · $49/mo

Display with attribution: show our odds to your own users, paying subscribers included, with a visible credit.

Odds comparison pages, next-to-go apps, tipping and form sites, and the price column in a product your subscribers pay for, with the Prices by PuntersEdge credit on each surface.

See Plus

The market inside your business

Business $99/mo · Platform $199/mo

Commercial use: use the data anywhere in your business — internal systems, client work, products you sell. Redistribution (Platform): pass our data on inside your product, as a feed, an export or an API.

Trading and pricing systems, client work, market reports and data-led content, daily bulk files and team keys; on Platform, feeds to your own users and the white-label widget.

Compare Business and Platform

What each plan can read, side by side →

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.4.0) with typed methods for the core racing and sports odds endpoints and a puntersedge-arb scanner; TypeScript & JavaScript (npm install puntersedge 1.3.0), which also covers results, price history, form, the closing-line archive, webhooks and bulk files, with zero dependencies and types generated from the live OpenAPI schema, running on Node, Deno, Bun and Cloudflare Workers (it also runs in a browser, but a key must not: route browser traffic through your own server or use the widget); 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 87 of 92 published paths (measured 2026-10-25). Not covered: /v1/account/insights, /v1/account/onboarding, /v1/account/samples/{kind}, /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. Every race from 2026-08-04: the last 45 days from the live store, older races from the permanent archive, in the same shape. Every plan reads upcoming races and the last 24 hours; races that started earlier are Standard+
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.

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, BetGold, PointsBet, BetRight, BoostBet…)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
25 hours 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 hours 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
One next-to-go call a minute across the full 11-hour Australian card, every day of the month (39,600 of 75,000 credits)
  • 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
  • Price history on past races, 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 next-to-go polling — one call every 17.3 s, 24/7, all month
  • 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 next-to-go polling — one call every 3.5 s, 24/7, all month
  • 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
Talk to us →
Scale
$249/mo
or $2,490/yr, two months free
5M credits/mo
Round-the-clock next-to-go polling — one call every 1.0 s, 24/7, all month
  • 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
Talk to us →

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.
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?
22 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. Racing in Britain, Ireland and South Africa runs on smaller panels through the same endpoints: a median of 4 books a race in Britain and Ireland and 5 in South Africa, against 15 on an Australian race (measured 2026-10-25 over 7 days); results there give the finishing order without dividends. See the UK & Irish and South African sections. 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-25 through the 10:00–21:00 AEST card, the median age of a connector's last successful read is 10–18s for eighteen of the 21 served books (every racing market, not only Australian books), 24s for williamhill, 26s for betway_za and 27s for hollywoodbets. There is no single racing poll interval to quote: the slowest served book is 3x 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 123–973 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. Big Bash (1 books, 3 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.