PuntersEdge Developers
Integration kits
Three starter projects, one for each way people use PuntersEdge. Each one runs as downloaded, ships with offline tests, and comes with ready-made MCP configs that point your AI tools at the hosted server's tools for that job. Costs, plans and licence terms below are read from the live API and pricing, so they match what you are billed.
Research kit
Your own betting, models and research: the live market and the closing-line archive from the command line, and the research tools inside Claude, Cursor or VS Code.
MCP endpoint
https://api.puntersedge.online/mcp
Every hosted tool.
Key in an X-API-Key header. Setup for each client →
Run it
- Try it with no key
python python/research.py sample - Add your key
export PUNTERSEDGE_API_KEY=your_key - Every bookmaker's price
python python/research.py board --races 3 - Best price per runner
python python/research.py best --races 5 - A day of closing prices to CSV
python python/research.py export --date 2026-10-24 --out day.csv - Connect Claude Code
sh mcp/claude-code.sh
Tests: cd python && python -m unittest discover -s tests, offline on labelled synthetic fixtures, no key needed.
Plans this kit is built for
| Plan | A$/mo | Credits | Licence |
|---|---|---|---|
| Free | Free | 3,000 | Your own betting, research, models and projects. |
| Hobby | 9 | 7,500 | Your own betting, research, models and projects. |
| Standard | 29 | 75,000 | Your own betting, research, models and projects. |
The data licence in full is Terms 8; limits per plan are on pricing.
What each part costs
| Part | Endpoint | Credits |
|---|---|---|
| board | GET /v1/racing/next-to-go |
2 credits |
| best | GET /v1/racing/best-odds |
3 credits |
| results | GET /v1/racing/results |
2 credits |
| export | GET /v1/racing/closing-lines |
5 creditsStandard and above (last 90 days); Plus and above for the full archive |
| usage | GET /v1/usage |
0 credits |
| sample | GET /v1/demo/racing/next-to-go |
0 creditsNo key needed |
Inside the zip
python/research.pythe command-line toolpython/pe_client.pya small client with no dependencies: key in a header, credit headers, ETag, retriespython/tests/offline tests on labelled synthetic fixturesmcp/ready-made MCP configs for Claude Code, Claude Desktop, Cursor, VS Code and the Claude APIREADME.mdsetup, plans, costs and the tool list
Tools your agents get
| Tool | What it does | Credits | Plan |
|---|---|---|---|
odds_board | Live odds board | 2 credits | Every plan |
race_odds | One race, every bookmaker | 2 credits | Every plan |
race_markets | All markets for one race | 2 credits | Plus and above |
race_card | Race card (no prices) | 1 credit | Every plan |
best_odds | Best price per runner | 3 credits | Every plan |
odds_changes | Prices that changed since a cursor | 2 credits | Every plan |
market_movers | Firming and drifting runners | 3 credits | Every plan |
price_history | Price history for one race | 5 credits | Every plan for races in the last 24 hours; Standard and above for older races |
consensus_price | Margin-free consensus price | 3 credits | Every plan |
race_intelligence | Race market intelligence | 3 credits | Every plan |
market_summary | Settled market summary | 5 credits | Standard and above (last 90 days); Plus and above for the full archive |
race_results | Race results | 2 credits | Every plan |
closing_lines | Closing prices archive | 5 credits | Standard and above (last 90 days); Plus and above for the full archive |
evaluate_clv | Closing line value for your bets | 5 credits per request | Plus and above |
race_form | Form for a whole field | 3 credits | Every plan |
horse_form | One horse's form | 3 credits | Every plan |
track_conditions | Track conditions | 1 credit | Every plan |
acceptances | Acceptances and fields | 2 credits | Every plan |
sports_list | Sports covered | 1 credit | Every plan |
sports_odds | Sports odds by bookmaker | 1 credit per market requested | Every plan |
sports_best_odds | Best sports prices | 3 credits | Every plan |
sports_movements | Sports price movements | 5 credits | Standard and above |
feed_health | Bookmaker feed health | 1 credit | Every plan |
account_status | Your plan, credits and limits | 0 credits | Every plan |
bulk_datasets | Bulk dataset catalogue | 0 credits | Business and above |
racing_sample | Live racing sample (no key) | 0 credits | No key needed |
Configs in mcp/: Claude Code, Claude Desktop, Cursor, VS Code and the Claude API. More about this audience: /api/for/research.
Product kit
Apps, sites and tipping products that show prices to their users: one shared upstream poll however many visitors you have, a signed webhook receiver, an odds board with the attribution credit in place, and a Next.js route.
MCP endpoint
https://api.puntersedge.online/mcp
Every hosted tool.
Key in an X-API-Key header. Setup for each client →
Run it
- Configure
cp .env.example .env - Run the tests
cd node && npm test - Start the server
node --env-file=../.env server.mjs - See the board
open http://localhost:3000
Tests: cd node && npm test, offline on labelled synthetic fixtures, no key needed.
Plans this kit is built for
| Plan | A$/mo | Credits | Licence |
|---|---|---|---|
| Plus | 49 | 140,000 | Show our odds to your own users, paying subscribers included, with a visible credit. |
| Business | 99 | 300,000 | Use the data anywhere in your business — internal systems, client work, products you sell. |
| Platform | 199 | 1,500,000 | Pass our data on inside your product, as a feed, an export or an API. |
| Scale | 249 | 5,000,000 | Use the data anywhere in your business — internal systems, client work, products you sell. |
The data licence in full is Terms 8; limits per plan are on pricing.
What each part costs
| Part | Endpoint | Credits |
|---|---|---|
| shared board poll | GET /v1/racing/next-to-go |
2 credits |
| best price per runner (optional) | GET /v1/racing/best-odds |
3 credits |
Inside the zip
node/server.mjsthe server: /api/board, /api/best, /healthz, POST /webhooks/puntersedgenode/lib/upstream.mjsone poller per dataset with If-None-Match (unchanged boards are 0 credits)node/lib/verify.mjswebhook signature check, with secret rotation and replay protectionnode/public/the board page, with the Prices by PuntersEdge creditnext/app/api/odds/route.tsa Next.js App Router route that keeps your key on the servermcp/Claude API, OpenAI, LangChain, n8n and editor configs for an in-product assistantREADME.mdsetup, plans, costs and the tool list
Tools your agents get
| Tool | What it does | Credits | Plan |
|---|---|---|---|
odds_board | Live odds board | 2 credits | Every plan |
race_odds | One race, every bookmaker | 2 credits | Every plan |
race_markets | All markets for one race | 2 credits | Plus and above |
race_card | Race card (no prices) | 1 credit | Every plan |
best_odds | Best price per runner | 3 credits | Every plan |
odds_changes | Prices that changed since a cursor | 2 credits | Every plan |
market_movers | Firming and drifting runners | 3 credits | Every plan |
price_history | Price history for one race | 5 credits | Every plan for races in the last 24 hours; Standard and above for older races |
consensus_price | Margin-free consensus price | 3 credits | Every plan |
race_intelligence | Race market intelligence | 3 credits | Every plan |
market_summary | Settled market summary | 5 credits | Standard and above (last 90 days); Plus and above for the full archive |
race_results | Race results | 2 credits | Every plan |
closing_lines | Closing prices archive | 5 credits | Standard and above (last 90 days); Plus and above for the full archive |
evaluate_clv | Closing line value for your bets | 5 credits per request | Plus and above |
race_form | Form for a whole field | 3 credits | Every plan |
horse_form | One horse's form | 3 credits | Every plan |
track_conditions | Track conditions | 1 credit | Every plan |
acceptances | Acceptances and fields | 2 credits | Every plan |
sports_list | Sports covered | 1 credit | Every plan |
sports_odds | Sports odds by bookmaker | 1 credit per market requested | Every plan |
sports_best_odds | Best sports prices | 3 credits | Every plan |
sports_movements | Sports price movements | 5 credits | Standard and above |
feed_health | Bookmaker feed health | 1 credit | Every plan |
account_status | Your plan, credits and limits | 0 credits | Every plan |
bulk_datasets | Bulk dataset catalogue | 0 credits | Business and above |
racing_sample | Live racing sample (no key) | 0 credits | No key needed |
Configs in mcp/: the Claude API for an in-product assistant, OpenAI, LangChain, n8n, Copilot Studio, Claude Code, Cursor and VS Code. More about this audience: /api/for/products.
Business kit
Trading desks, analytics and data teams: mirror the live market into Postgres with the change cursor, receive signed webhooks, mint a team key per service, and give your agents the desk tools.
MCP endpoint
https://api.puntersedge.online/mcp
Every hosted tool.
Key in an X-API-Key header. Setup for each client →
Run it
- Configure
cp .env.example .env - Run the tests
python -m unittest discover -s tests - A team key per service
python ops/account.py team mint --label ingest - Start Postgres, the ingestor and the receiver
docker compose up -d - Or without Docker (SQLite)
python ingest/ingest.py
Tests: python -m unittest discover -s tests, offline on labelled synthetic fixtures, no key needed.
Plans this kit is built for
| Plan | A$/mo | Credits | Licence |
|---|---|---|---|
| Business | 99 | 300,000 | Use the data anywhere in your business — internal systems, client work, products you sell. |
| Scale | 249 | 5,000,000 | Use the data anywhere in your business — internal systems, client work, products you sell. |
| Platform | 199 | 1,500,000 | Pass our data on inside your product, as a feed, an export or an API. |
The data licence in full is Terms 8; limits per plan are on pricing.
What each part costs
| Part | Endpoint | Credits |
|---|---|---|
| full fetch | GET /v1/racing/next-to-go |
2 credits |
| change polls | GET /v1/racing/changes |
2 credits |
| usage | GET /v1/usage |
0 credits |
| bulk datasets | GET /v1/bulk/datasets |
0 creditsBusiness and above |
Inside the zip
ingest/ingest.pykeeps a database in step with the market through /v1/racing/changesingest/store.pySQLite by default, Postgres with DATABASE_URL; at-least-once replays stored oncewebhooks/receiver.pysigned webhook receiver; each delivery id stored onceops/account.pyusage, team keys, webhook subscriptions and bulk datasetsdocker-compose.ymlPostgres + ingestor + receivermcp/Claude API, OpenAI, LangChain, n8n, Copilot Studio and editor configsREADME.mdsetup, plans, costs and the tool list
Tools your agents get
| Tool | What it does | Credits | Plan |
|---|---|---|---|
odds_board | Live odds board | 2 credits | Every plan |
race_odds | One race, every bookmaker | 2 credits | Every plan |
race_markets | All markets for one race | 2 credits | Plus and above |
race_card | Race card (no prices) | 1 credit | Every plan |
best_odds | Best price per runner | 3 credits | Every plan |
odds_changes | Prices that changed since a cursor | 2 credits | Every plan |
market_movers | Firming and drifting runners | 3 credits | Every plan |
price_history | Price history for one race | 5 credits | Every plan for races in the last 24 hours; Standard and above for older races |
consensus_price | Margin-free consensus price | 3 credits | Every plan |
race_intelligence | Race market intelligence | 3 credits | Every plan |
market_summary | Settled market summary | 5 credits | Standard and above (last 90 days); Plus and above for the full archive |
race_results | Race results | 2 credits | Every plan |
closing_lines | Closing prices archive | 5 credits | Standard and above (last 90 days); Plus and above for the full archive |
evaluate_clv | Closing line value for your bets | 5 credits per request | Plus and above |
race_form | Form for a whole field | 3 credits | Every plan |
horse_form | One horse's form | 3 credits | Every plan |
track_conditions | Track conditions | 1 credit | Every plan |
acceptances | Acceptances and fields | 2 credits | Every plan |
sports_list | Sports covered | 1 credit | Every plan |
sports_odds | Sports odds by bookmaker | 1 credit per market requested | Every plan |
sports_best_odds | Best sports prices | 3 credits | Every plan |
sports_movements | Sports price movements | 5 credits | Standard and above |
feed_health | Bookmaker feed health | 1 credit | Every plan |
account_status | Your plan, credits and limits | 0 credits | Every plan |
bulk_datasets | Bulk dataset catalogue | 0 credits | Business and above |
racing_sample | Live racing sample (no key) | 0 credits | No key needed |
Configs in mcp/: the Claude API, OpenAI, LangChain, n8n, Copilot Studio, Claude Code and VS Code. More about this audience: /enterprise.