PuntersEdge Developers
Australian odds API — docs and data product entry points
Documentation hub for Australian sports and racing odds data, historical pricing, webhook delivery, and bookmaker coverage. The indexable developer layer that supports the API Platform.
What each endpoint does
Every call in plain English: what it returns, when to use it, what it costs and which plan has it. Read this before the reference.
Start hereGetting Started
Overview of supported workflows, example requests, and first-call quickstart for the PuntersEdge odds API.
TypeScriptOfficial TypeScript & JavaScript client
npm install puntersedge — no dependencies, ESM and CommonJS, and every response type generated from the live OpenAPI document so the types cannot drift from the API. A typed error per status code (402 is not 429 is not 422), the credit balance read off each response instead of a second call, and webhook signature verification that works on Node, Deno, Bun, Cloudflare Workers and in the browser.
Official Python SDK
pip install puntersedge — typed methods over every endpoint, your key read from the environment or a config file instead of pasted into your code, and a puntersedge-arb scanner that filters candidates and sizes stakes. It never places a bet. MIT licensed; install, CLI and arbitrage docs are in the README.
MCP server
pip install puntersedge-mcp — the official Model Context Protocol server. Twenty-six read-only tools covering live prices, the change feed, results, form, premierships, the closing-line archive and feed health, with the credit cost in every description and the remaining balance after every call. One config block for Claude Desktop, Claude Code or Cursor.
Use with ChatGPT, Claude, Cursor and Copilot
Three ways to give an assistant live odds: the MCP server, the OpenAPI schema imported as a custom GPT Action, or llms.txt as context. With a worked prompt that makes a real next-to-go call.
Package on PyPI
The published releases, version history and install metadata for puntersedge. Install with pip install puntersedge; the source and issue tracker are on GitHub.
Node.js and TypeScript quickstart
A first call with the fetch built into Node 18+, X-API-Key auth, the 402-versus-429 rule and reading X-Credits-Remaining. No package to install. Links the full tutorial.
Calling the API from Python
A walkthrough using requests directly — authentication, best-odds boards and next-to-go racing, with the response shapes written out. Start here if you would rather not add a dependency.
Postman Collection
Every endpoint, ready to run. In Postman choose Import → Link and paste the URL — the Sandbox group needs no API key.
Sports Odds API — Australia
AFL, NRL, NBA, WNBA, Tennis and more — multi-bookmaker sports odds in one API call.
Authentication
API key setup, header format, rate limits, and error codes.
RacingHorse racing odds API — Australia
Live and historical thoroughbred odds from 15 bookmakers, results with dividends, horse form and price history, with the live per-code coverage figures.
RacingGreyhound racing API
Live greyhound odds, settled results with dividends, form and stats from our own results, and the closing-line archive for every race.
RacingHarness racing odds API — Australia & NZ
Trots and pacers priced by the served bookmakers, settled results, price movement and the permanent closing-line archive.
RacingNew Zealand racing odds API
NZ thoroughbred and harness on the same endpoints, filtered with country=NZ, with results, price history and the closing-line archive. No NZ greyhounds.
AFL Odds API
Australian Rules Football odds across the Australian bookmakers that quote it — BetRight, Ladbrokes, Palmerbet, PointsBet, Sportsbet, TAB carry sports today.
NRL Odds API
NRL rugby league odds and markets across the Australian bookmakers that quote it — 6 carry sports, and NRL averages 2.12 books an event.
RacingHistorical racing odds API
Closing lines and full price paths archived permanently from 4 August 2026, per-race price history and settled results, with CSV and Parquet export. Standard plan and above.
Odds Comparison API
Best-price detection and cross-bookmaker odds comparison in a single endpoint.
MeasuredBookmaker coverage, measured
Which bookmakers quote what share of Australian races, books per race, poll cadence and price-history depth — recomputed every 30 minutes with the SQL published.
Webhooks for Odds Alerts
Signed webhooks when a cross-book arbitrage opportunity opens, filtered by minimum edge and sport. Pro plan and above.
Integrate: auth, quickstarts, schema
API-key auth, the free tier, curl and Python quickstarts, the OpenAPI document and the machine-readable references in one page.
ResearchAustralian Racing Market Report
Weekly: best-price share by bookmaker, book percentage at close, steamers and drifters and favourite strike rate, measured from archived prices, with a JSON twin. Free to cite.
Embeddable odds widget
A live odds-comparison table for any site in one iframe line, no key needed, with a Powered-by credit that links back here.
Tutorials and example projects
Each tutorial builds one thing end to end with the real endpoints and response shapes. Each repository clones and runs against the keyless demo endpoints before you register, so you see the output first.
The complete Python guide
List sports, pull live AFL and NRL odds, compare best prices across the racing bookmakers and add next-to-go racing, with the response shapes written out.
Node.jsThe complete Node.js guide
First call with no key, next-to-go racing, best prices across bookmakers, rate limits and credits, TypeScript types included.
TutorialRacing next-to-go dashboard in Python
Upcoming races, runners and the best bookmaker win price per runner.
TutorialLive odds comparison tool in Python
Best price per selection across Australian bookmakers, and the overlay measured.
TutorialLine movement tracker in Python
Steam moves and drifting prices from the movements endpoint and full price history.
TutorialPrice-alert bot in Python
Poll the odds, keep a little state, and alert when a price crosses your target.
TutorialModel data pipeline in Python
Implied probability, market consensus and de-vigged prices as model-ready features.
TutorialSports arbitrage scanner in Python
Cross-bookmaker arbitrage detection on AFL, NRL and more, with the maths explained.
SnippetsRequest and response examples
Every core endpoint as curl, Python and JavaScript, with the JSON that comes back and every error shape.
Example projects index
The index repository, routing to eight standalone MIT-licensed projects that each run keyless before registration.
GitHubaustralian-racing-api-python
A single-file, stdlib-only racing client: live prices, results, price history and form.
GitHubhorse-racing-odds-dashboard
A next-to-go board in one HTML file: no build step, no backend, best price per runner highlighted.
GitHubracing-price-movement-tracker
Firmers and drifters in the hour before the jump, with a terminal sparkline and an SVG chart.
GitHubafl-odds-api-example
Best price per team, implied probability and overround, ported line for line between Python and Node.
GitHubnrl-odds-api-python
NRL prices to a tidy CSV and an append-only price history, built for a model feed rather than a viewer.
GitHubsports-odds-discord-bot
Posts next races, best prices and movers into a channel, with a credit budget that actually stops it spending.
GitHubracing-data-fastapi
A cached FastAPI backend that keeps the key server-side and gives your frontend a small, stable contract.
GitHubpuntersedge-mcp-examples
Client config blocks per assistant, a generated tool reference and raw JSON-RPC transcripts of real MCP calls.