Credits reset on the 1st of each month at 00:00 UTC and do not roll over. Cancel anytime.
Trusted by 577 developers1,601,000+ API requests served95+ 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.
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.
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.
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.
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.
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.
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.
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.
RaceVision uses PuntersEdge data across its Australian racing platform, including automated race results and historical market data.
What you may do with the data depends on the plan, not only how much you call. Each row is quoted from section 8.1 of the Terms.
| Licence | What it lets you do | Plans |
|---|---|---|
| Personal use | Your own betting, research, models and projects. | Free, Hobby and Standard |
| Display with attribution | Show our odds to your own users, paying subscribers included, with a visible credit. | Plus |
| Commercial use | Use the data anywhere in your business — internal systems, client work, products you sell. | Business and Scale |
| Redistribution | Pass our data on inside your product, as a feed, an export or an API. | Platform |
Plus and Business are different permissions, not different sizes of the same one. Plus lets you SHOW our prices in one product, and carries the commercial permission that product needs. Business lets you USE the data anywhere in your business, whether or not a price is ever displayed. The full wording.
$0/mo AUD
Explore and prototype
Included
Your own betting, research, models and projects.
3,000 credits/month · 30 requests/minute
25 hours of once-a-minute next-to-go polling
$9/mo AUD$90/yr AUD
$7.50/mo · save $18 a year
Past the free cap, not yet production
Everything in Free
The same endpoints, with a bigger allowance
7,500 credits/month · 60 requests/minute
62.5 hours of once-a-minute next-to-go polling
$29/mo AUD$290/yr AUD
or $290/yr — two months free ↓
$24.17/mo · save $58 a year
Production access for personal models, research and apps
On top of Hobby
75,000 credits/month · 200 requests/minute
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)
$49/mo AUD$490/yr AUD
or $490/yr — two months free ↓
$40.83/mo · save $98 a year
The permanent archive, bulk exports and CLV scoring, for model builders
On top of Standard
Show our odds to your own users, paying subscribers included, with a visible credit.
140,000 credits/month · 500 requests/minute
round-the-clock next-to-go polling — one call every 37.0 s, 24/7, all month
$99/mo AUD$990/yr AUD
or $990/yr — two months free ↓
$82.50/mo · save $198 a year
Commercial use, across your whole business
On top of Plus
Use the data anywhere in your business — internal systems, client work, products you sell.
300,000 credits/month · 750 requests/minute
round-the-clock next-to-go polling — one call every 17.3 s, 24/7, all month
$199/mo AUD$1,990/yr AUD
or $1,990/yr — two months free ↓
$165.83/mo · save $398 a year
Redistribute our data inside your own product
On top of Business
Pass our data on inside your product, as a feed, an export or an API.
1.5M credits/month · 1,000 requests/minute
round-the-clock next-to-go polling — one call every 3.5 s, 24/7, all month
$249/mo AUD$2,490/yr AUD
or $2,490/yr — two months free ↓
$207.50/mo · save $498 a year
High-volume, for use inside your own systems
On top of Business
5M credits/month · 2,000 requests/minute
round-the-clock next-to-go polling — one call every 1.0 s, 24/7, all month
Prices are in Australian dollars. Paying from Britain, Ireland or New Zealand? Standard at A$29 a month is about £15, €18 or NZ$36, R336, at the European Central Bank's euro reference rate for 22 October 2026; your card issuer converts at its own rate.
These polling figures assume one next-to-go call every 60 seconds for the default 10 races (2 credits), every hour of the 11-hour Australian card, 30 days a month, and nothing else. Polling twice a minute costs twice as much: at a 30-second interval Standard's 75,000 credits cover 10.4 hours a day. Most integrations also call results, markets or price history, so size on every endpoint you will call — the calculator below adds them up. The Australian card runs about 11 hours a day (12:00–23:00 AEST), measured across a week of race start times. Next-to-go is priced by races per call: 1–20 races 2 credits, 21–60 races 3, 61–200 races 4. Free keys are activated by clicking a verification link before the key will authenticate.
The same live feed the paid plans read, capped at 3,000 credits a month. No card. When you need more, a paid plan upgrades this key in place — nothing to re-wire.
Say what the data is for, how much history you need and what you'll poll. The licence, history and credit rules here are read from the licence terms and the API, not typed in.
Each row is one polling loop: add a row for every endpoint your application calls, at the rate it calls it. Credits per day = calls per hour × hours × credits per call, summed over the rows; per month = per day × days. Next-to-go is priced by races per call (1–20 races 2 credits, 21–60 races 3, 61–200 races 4); keys issued before 22 September 2026 pay 2 credits at any size, and an unchanged board answered 304 to If-None-Match costs nothing. One-off pulls (bulk files, archive exports) are priced per request in the table above. Credits reset on the 1st of each month.
Read from the access checks in the API itself, so this table and a 403 cannot disagree.
| Free | Hobby | Standard | Plus | Business | Platform | Scale | |
|---|---|---|---|---|---|---|---|
| Live racing and sports odds, results, next-to-go | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Historical sports odds and movements | — | — | ✓ | ✓ | ✓ | ✓ | ✓ |
| Closing-line archive | — | — | 90 days | Permanent | Permanent | Permanent | Permanent |
| Price-path exports and CLV scoring | — | — | — | ✓ | ✓ | ✓ | ✓ |
| Race markets view and webhooks | — | — | — | ✓ | ✓ | ✓ | ✓ |
| Daily bulk dataset files | — | — | — | — | ✓ | ✓ | ✓ |
| Monthly dataset bundles | — | — | — | — | — | ✓ | ✓ |
| Team keys on one credit pool | — | — | — | — | ✓ | ✓ | ✓ |
| White-label widget | — | — | — | — | — | ✓ | — |
| Licence (Terms 8.1) | Personal use | Personal use | Personal use | Display with attribution | Commercial use | Redistribution | Commercial use |
Standard keys issued before 20 September 2026 keep the permanent archive, the export and webhooks they were sold. Existing keys keep the licence they were sold, as the licence answer below sets out.
Pay for ten months and get twelve, on any paid plan. Same credits every month, same key, billed once a year in AUD. Already subscribe monthly? Reply to any email from us and we will move you across by hand and credit what you have paid for this period — do not buy a second subscription here.
$90/yr AUD
7,500 credits/month
Works out at $7.50/mo
Save $18 against $9/mo
$290/yr AUD
75,000 credits/month
Works out at $24.17/mo
Save $58 against $29/mo
$490/yr AUD
140,000 credits/month
Works out at $40.83/mo
Save $98 against $49/mo
$990/yr AUD
300,000 credits/month
Works out at $82.50/mo
Save $198 against $99/mo
$1,990/yr AUD
1.5M credits/month
Works out at $165.83/mo
Save $398 against $199/mo
Talk to us →Credits reset every month on an annual plan exactly as they do on a monthly one. Paying yearly buys twelve of those months for the price of ten; it does not pool a year of credits into one bucket.
402 Payment Required with an RFC 7807 problem body, and there is no surprise invoice.402 at the ceiling says so. It is on by default for keys created from 22 September 2026, off for older keys, and POST /v1/billing/overage switches it either way.X-Upgrade-Plan, X-Upgrade-Credits, X-Upgrade-Price-AUD, X-Upgrade-Url and a Link: <…>; rel="payment" header, sized against how fast you were actually burning credits — not just against the cap you hit.X-Credits-Remaining, so a client can back off or alert before it is refused rather than discovering the ceiling by hitting it.| Endpoint | Cost | Notes |
|---|---|---|
| GET /v1/sports | 1 credit | List all active sports |
| GET /v1/sports/{key}/odds | 1 credit per market type (max 3) | One credit per market type requested; duplicates and unknown markets are rejected before billing |
| GET /v1/best-odds/{key} | 3 credits | Best price + arb detection across all bookmakers |
| GET /v1/racing/next-to-go | 2 / 3 / 4 credits | The next races across horse/greyhound/harness, 10 by default. Priced by num_races: 1–20 races 2 credits, 21–60 races 3, 61–200 races 4. Keys issued before 22 September 2026 pay 2 credits at any size; a 304 (If-None-Match) costs nothing. |
| GET /v1/racing/best-odds | 3 credits | Best win/place price per runner, book vs book |
| GET /v1/racing/markets | 2 credits | One race, every market: win, place and Same Race Multi Top 2/3/4 per bookmaker with each book’s market percentage and the best price per runner, plus the settled exotic dividends once the race has been run Plus, Business, Platform and Scale only — 403 on Free, Hobby and Standard. Standard keys issued before 20 September 2026 keep it. |
| GET /v1/racing/form | 3 credits | Every runner in one race with its recent runs from our own settled results, in one call: the field’s form as at the jump, never dependent on a third-party page |
| GET /v1/racing/results | 2 credits | Settled finishing order, deductions |
| GET /v1/racing/movers | 3 credits | Steamers and drifters, per book |
| GET /v1/racing/price-history | 5 credits | Every price move for a race, per runner per book Every key reads upcoming races and the last 24h. Races that started earlier: Standard, Plus, Business, Platform and Scale. 403 on Free and Hobby for those, with a sample of the response. Hobby keys issued before 20 October 2026 keep them. |
| GET /v1/racing/closing-lines | 5 credits (JSON) / 20 credits (CSV) | Permanent closing-line and result archive; CSV is a bulk export. Standard: rolling 90-day window. Plus, Business, Platform and Scale: full archive. 403 on Free and Hobby. Standard keys issued before 20 September 2026 keep the full archive. |
| GET /v1/racing/closing-lines/coverage | 1 credit | What the archive actually holds, measured at request time. Open to every key, Free included. The figures describe the whole archive, not your clamped window. |
| GET /v1/racing/market-summary | 5 credits (JSON) / 20 credits (CSV) | The market’s path per runner, written at the jump: the consensus at fixed marks and at the close, the moves, their breadth, the first book to move and the signal class; CSV is a bulk export. Standard: rolling 90-day window. Plus, Business, Platform and Scale: full archive. 403 on Free and Hobby. Standard keys issued before 20 September 2026 keep the full archive. |
| GET /v1/bulk/{dataset}/{period} | 20 credits per daily file / 100 per monthly bundle | One pre-built file per dataset per Sydney day or calendar month: closing lines, price paths, results, acceptances, track conditions. Parquet or gzip CSV. The catalogue at /v1/bulk/datasets costs no credits, also Business and above Daily files: Business, Platform and Scale. Monthly bundles: Platform and Scale. 403 on Free, Hobby, Standard and Plus. |
| GET /v1/sports/{key}/odds/history | 5 credits | Standard, Plus, Business, Platform and Scale only — 403 on Free and Hobby. |
| GET /v1/sports/{key}/odds/movements | 5 credits | Standard, Plus, Business, Platform and Scale only — 403 on Free and Hobby. |
| GET /v1/sports/{key}/closing-lines | 5 credits | Each bookmaker's closing price and line on every match in a date range, with the consensus across books |
| GET /v1/data-quality/summary | 1 credit | Connector freshness and audit status |
| POST/GET/PATCH/DELETE /v1/widgets | 0 credits | Create and manage white-label odds widgets — your colours, your bookmaker links, no PuntersEdge credit. Managing them is free; each metered fill of an embedded widget costs 2 credits (racing) or 1 (a sports market), at most one per minute per parameter set however many people are looking at the page Platform only — the redistribution licence — 403 on Free, Hobby, Standard, Plus, Business and Scale. |
| GET /v1/usage | 0 credits | Free to check your usage |
| GET /v1/health | 0 credits | Service health check |
| GET /v1/arb/best-prices | 2 credits | Best prices comparison |
| GET /v1/arb/lines | 3 credits | Spreads/totals line arb |
| GET /v1/arb/sports | 3 credits | Sports arb scanner |
| GET /v1/data-quality/audit/latest | 1 credit | Latest bookmaker audits |
| GET /v1/health/connectors | 1 credit | Per-connector freshness |
| GET /v1/racing/acceptances | 2 credits | Full-day AU thoroughbred acceptance card: every meeting, race and runner |
| GET /v1/racing/changes | 2 credits | Races and prices that changed since a timestamp |
| GET /v1/racing/consensus | 3 credits | The market consensus on one race: margin-free probability per runner |
| GET /v1/racing/events | 1 credit | Upcoming race list |
| GET /v1/racing/greyhounds/field | 3 credits | Every dog in one greyhound race with its recent runs, from our own results |
| GET /v1/racing/greyhounds/form | 3 credits | Greyhound form history for one dog, from our own results |
| GET /v1/racing/greyhounds/stats | 3 credits | Greyhound record by track, distance, box or grade, from our own results |
| GET /v1/racing/horses/form | 3 credits | Thoroughbred form, career record and profile for one horse |
| GET /v1/racing/horses/runs | 3 credits | One thoroughbred's runs in our own settled results |
| GET /v1/racing/intelligence | 3 credits | Market intelligence on one race: consensus at fixed marks, time-anchored moves, breadth, first mover, signal |
| GET /v1/racing/intelligence/scan | 5 credits | Scan the live window for runners that moved: time-anchored, breadth-gated Plus, Business, Platform and Scale only — 403 on Free, Hobby and Standard. |
| GET /v1/racing/jockeys/stats | 2 credits | Jockey premiership leaderboards and lookup |
| GET /v1/racing/price-paths | 5 / 20 credits | Bulk export of the permanent price-movement archive Plus, Business, Platform and Scale only — 403 on Free, Hobby and Standard. Standard keys issued before 20 September 2026 keep it. |
| GET /v1/racing/results/coverage | 1 credit | What the results field coverage actually is |
| GET /v1/racing/track-conditions | 1 credit | Track condition, weather and rail: current state and today's change log |
| GET /v1/racing/trainers/stats | 2 credits | Trainer premiership leaderboards and lookup |
| GET /v1/racing/venues | 1 credit | Canonical venue directory |
| GET /v1/sports/{sport_key}/results | 1 credit | Final scores by sport |
| POST /v1/racing/clv | 5 credits | Score bets against the closing line (CLV) Plus, Business, Platform and Scale only — 403 on Free, Hobby and Standard. |
| POST /v1/racing/horses/backfill | 3 credits | Queue a batch of horses for paced form collection Plus, Business, Platform and Scale only — 403 on Free, Hobby and Standard. |
Where customers' credits actually go, measured over the trailing 30 days to 2026-10-23:
/v1/racing/next-to-go 35.7%, /v1/racing/results 11.9%, /v1/racing/changes 9.6%, /v1/racing/price-history 6.2%, and every other endpoint together 36.6%.
No single endpoint is the whole bill, so size your plan on every endpoint you will call — the calculator above adds them up.
One credit = one unit of API consumption. Endpoints cost 0–100 credits per call — see the table above, and note the ceiling is a bulk CSV export of the closing-line archive, not a routine read. Your monthly allocation resets on the 1st of each calendar month at 00:00 UTC, not on your subscription anniversary.
No. Credits reset on the 1st of each calendar month at 00:00 UTC. Unused credits are not carried forward.
Upgrades are immediate. Pay and your existing key is upgraded in place — same key string, new plan, new allowance, nothing to redeploy. To change or cancel a subscription, use the Stripe billing portal linked from your account page.
You pay only the difference. Upgrading part-way through a billing period charges the new plan for the days left in it, minus a credit for the unused days you had already paid for on the old one — that is the whole charge today. Your billing date does not move; the full new price starts on your normal renewal date. The bigger allowance applies immediately, and your API key does not change.
Calls return 402 Payment Required until the 1st of the next month. On Business and Platform with overage switched on, calls keep working past the allowance and the 402 comes at the overage ceiling instead. On every other plan, and whenever overage is off, you are refused and never billed for the overflow. The 402 body and its X-Upgrade-* headers name the tier that would have covered you, sized against your measured burn rate, and link straight to it. Every billed response also carries X-Credits-Remaining so you can back off before you get there.
Overage, on Business and Platform only. Those two plans keep serving past the monthly allowance at A$0.60 per 1,000 credits (Business) and A$0.30 (Platform), capped at 50% over — at most A$90 and A$225 on top of the plan, invoiced with your next payment. It is on by default for keys created from 22 September 2026 and off for every key issued before then. There is no top-up product, and on every other plan the cap is a hard stop, not a surcharge — moving up a tier is cheaper per credit than overage.
Your calls keep working, up to a ceiling you know in advance. Business runs 150,000 credits past its 300,000 allowance and Platform 750,000 past its 1,500,000 — half the plan either way — billed at A$0.60 and A$0.30 per 1,000 credits, rounded up to whole thousands, on your next invoice. That is A$90 and A$225 at the very most: the ceiling is the promise, so there is no bill you did not see coming. Every response past the allowance carries X-Credits-Overage and X-Credits-Overage-Ceiling, and at the ceiling the 402 names it. GET /v1/billing/overage shows the state, the rate, the ceiling and what this period has run over; POST the same path switches it off and the hard stop comes back immediately.
Yes, on every paid plan. An annual plan costs ten months’ money for twelve months of service, so Standard is $290 a year instead of $348. Credits reset every month exactly as they do on a monthly plan — paying yearly buys twelve of those months for the price of ten, it does not pool a year of credits into one bucket. Pick a plan from the annual row above. If you already subscribe monthly, do not buy an annual plan here: reply to any email from us and we will move you across by hand and credit what you have already paid for the current period.
Yes, on Platform. The free widget at /widgets is available to everyone and carries a small “Powered by PuntersEdge” credit. The white-label widget on Platform does not: it renders in your colours, with your own bookmaker or affiliate links, and nothing on the frame names us. Create one with POST /v1/widgets and embed the iframe it hands back. Managing widgets is free; each metered fill costs 2 credits for racing or 1 for a sports market, and there is at most one fill a minute per parameter set however many people are viewing the page. It is the redistribution licence in practice, which is why it is Platform rather than simply the dearest plan — Scale sells volume for use inside your own systems. How it works →
The model-builder set: the permanent closing-line archive (Standard reads a rolling 90-day window), the bulk price-path export in CSV and Parquet, POST /v1/racing/clv closing-line value scoring, the race markets view at GET /v1/racing/markets — win, place and Same Race Multi Top 2/3/4 per bookmaker with each book’s market percentage, and the settled exotic dividends once a race has been run — paced form backfill, webhooks and runner-level betslip deep links (Unibet, TAB, Ladbrokes and Neds) — plus the licence to show our odds to your own users with a credit. Business adds the commercial licence, IP whitelisting, priority support and daily bulk dataset files: one pre-built Parquet or CSV file per dataset per day (closing lines, price paths, results, acceptances, track conditions, race markets, exotic dividends) from /v1/bulk. Platform adds the redistribution licence and monthly dataset bundles. Business and above also hold several API keys on one credit pool — 3 on Business, 5 on Platform, 10 on Scale — minted and revoked from /v1/keys/team, each with its own rate limit, IP whitelist and usage line. Each of those keys can also carry its own monthly credit cap inside the pool — set it when you mint the key, or later with PATCH /v1/keys/team/{key_id} — so one client, worker or trial refuses at its own limit instead of spending the account's month. Standard keys issued before 20 September 2026 keep the archive, the export and webhooks they were sold and also have the race markets view, and Standard and Hobby keys issued before 21 September 2026 keep the betslip links.
Add up every endpoint you will call. One /v1/racing/next-to-go call a minute for the default 10 races costs 2 credits; across the whole Australian card — about 11 hours a day for 30 days — that loop is 39,600 credits a month, against the 75,000 in Standard. Polling it every 30 seconds doubles that to 79,200, more than Standard holds. Results, changes, markets and price history are billed per call on top, and a next-to-go call for more than 20 races costs more; the calculator adds the loops up. If you only poll during one meeting, or only when a race is close to jumping, the free tier or Hobby will hold you for a long time.
Yes, on two axes. The free tier has 3,000 credits per month and a hard limit of 30 requests per minute. Go over it and you get a 429 with Retry-After: 60; the window is a rolling 60 seconds per API key, not a clock minute. Paid tiers raise it — Hobby 60/min, Standard 200/min, Plus 500/min, Business 750/min, Platform 1,000/min, Scale 2,000/min.
Every racing quote carries age_seconds, the time since that price was last read from the bookmaker, on every plan. What differs is how old the stored /v1/racing/next-to-go board can be: at most 20 seconds on a paid plan and 65 seconds on Free. An older board is rebuilt for a paid key, and every age is recomputed when the response is sent. How fresh is this price? has the full rules.
Yes. For custom credit limits, a contract or SLA, or dedicated infrastructure, tell us what you are building and a human replies. Platform and Scale are arranged with us at the prices on this page rather than bought with a card, and Platform can start as a 30-day pilot; enterprise terms are agreed in writing.
Four licences, and each adds to the ones above it. Your plan decides which one you hold.
Plus and Business are different permissions, not different sizes of the same one. Plus lets you SHOW our prices in one product, and carries the commercial permission that product needs. Business lets you USE the data anywhere in your business, whether or not a price is ever displayed.
Already a customer? If your key existed on 15 September 2026 you keep the licence published on 8 September 2026 — commercial use inside your own systems, on whatever plan you hold. It is attached to the key and survives a plan change. Nothing you are already doing needs an upgrade.
All four are set out in section 8 of the Terms. If your case does not fit them, email us and we will put it in writing.
The API is for informational and data use only. It may not be used to facilitate illegal gambling, unlicensed operators, or services prohibited under Australian law. See the API platform page for full terms.
Tell me. Plans are shaped by what people actually ask for, and a use case that doesn't fit an existing tier is the most useful thing you can send. Describe it on the requests page and it goes straight to the person who sets the pricing.