Credits reset on the 1st of each month at 00:00 UTC and do not roll over. Cancel anytime.
Trusted by 236 developers460,000+ API requests served
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.
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.
$0/mo AUD
1,500 credits/month
30 requests/minute
Explore and prototype
12.5 hours of once-a-minute next-to-go polling
$9/mo AUD
7,500 credits/month
60 requests/minute
Past the free cap, not yet production
62.5 hours of once-a-minute next-to-go polling
$29/mo AUD
75,000 credits/month
200 requests/minute
The full archive and price history, for your own punting
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
140,000 credits/month
250 requests/minute
Show our odds to your own users, with a credit
round-the-clock next-to-go polling — one call every 37.0 s, 24/7, all month
$99/mo AUD
300,000 credits/month
300 requests/minute
Commercial use, across your whole business
round-the-clock next-to-go polling — one call every 17.3 s, 24/7, all month
$199/mo AUD
1.5M credits/month
1,000 requests/minute
Redistribute our data inside your own product
round-the-clock next-to-go polling — one call every 3.5 s, 24/7, all month
$249/mo AUD
5M credits/month
2,000 requests/minute
High-volume, for use inside your own systems
round-the-clock next-to-go polling — one call every 1.0 s, 24/7, all month
Polling figures assume one /v1/racing/next-to-go call a minute, which costs
2 credits. Polling twice a minute costs twice as much: at a 30-second interval Racing covers 5.6 hours a day, not the full card.
The Australian card runs about 11 hours a day
(12:00–23:00 AEST), measured across a week of race start times.
Free keys are activated by clicking a verification link before the key will authenticate.
Pick what you'll poll and how often. Costs and plan sizes below are read live from the API — nothing here is typed in.
Estimates one polling loop against one endpoint. Extra endpoints add their own cost per call — the table above lists every endpoint's price. Credits reset on the 1st of each month.
Everything above is billed monthly, in AUD, and cancels anytime. Annual billing is not available yet — we would rather not put a button here that takes your money for a plan we cannot yet invoice. If you want to pay for a year up front, tell us and we will set it up manually and prioritise shipping it.
Annual — not yet available Ask about annual →402 Payment Required with an RFC 7807 problem body. There is no overage billing and no surprise invoice — we do not have a metered price, so we cannot bill you for one.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 credits | Next 1–50 races across horse/greyhound/harness |
| GET /v1/racing/best-odds | 3 credits | Best win/place price per runner, book vs book |
| 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 |
| GET /v1/racing/closing-lines | 5 credits (JSON) / 20 credits (CSV) | Permanent closing-line and result archive; CSV is a bulk export. Standard, Plus, Business, Platform and Unlimited: full archive. 403 on Free and Hobby. |
| GET /v1/racing/closing-lines/coverage | 1 credit | What the archive actually holds, measured at request time. Same plan gate as the archive — 403 on Free and Hobby. |
| GET /v1/sports/{key}/odds/history | 5 credits | Standard, Plus, Business, Platform and Unlimited only — 403 on Free and Hobby. |
| GET /v1/sports/{key}/odds/movements | 5 credits | Standard, Plus, Business, Platform and Unlimited only — 403 on Free and Hobby. |
| GET /v1/data-quality/summary | 1 credit | Connector freshness and audit status |
| 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/events | 1 credit | Upcoming race list |
| GET /v1/racing/greyhounds/form | 3 credits | Greyhound form history for one dog |
| GET /v1/racing/greyhounds/stats | 3 credits | Greyhound record by track, distance, box or grade |
| GET /v1/racing/horses/form | 3 credits | Thoroughbred form, career record and profile for one horse |
| 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 |
| 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 |
| POST /v1/racing/horses/backfill | 3 credits | Queue a batch of horses for paced form collection |
In practice one row dominates. Measured over the trailing 30 days to 2026-09-16, /v1/racing/next-to-go is 61.9% of all billed calls and 57.9% of all credits spent. It bills a flat 2 credits a call. Size your plan on that endpoint and the rest is rounding.
One credit = one unit of API consumption. Endpoints cost 0–20 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. You are refused, 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.
No. There is no metered price and no top-up product — the cap is a hard stop, not a surcharge. If you need more headroom, move up a tier; the upgrade applies instantly and keeps your key.
Not yet. Every plan above is monthly AUD billing. If annual billing would make the difference for you, email us — we will arrange it manually and it moves up the queue.
Work it out from one number. /v1/racing/next-to-go costs 2 credits. Polling it once a minute across the whole Australian card — about 11 hours a day — is 39,600 credits a month, which is what the Standard plan is sized for. Poll every 30 seconds instead and you need twice that. 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 1,500 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 250/min, Business 300/min, Platform 1,000/min, Unlimited 2,000/min.
Yes. For custom credit limits, SLAs, or dedicated infrastructure contact support via the API platform page.
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.