PointsBet API for Australian betting apps

Request PointsBet odds with the pointsbet filter, then compare them with Sportsbet, TAB and Bet365 through the same event and market structure.

Paid plans from $30/month. No surprise charges.

GET /v1/events/{event_id}/odds/snapshot?bookmakers=pointsbet
{
  "event_id": "afl-coll-syd",
  "items": [
    
    {
      "bookmaker": "pointsbet",
      "bet_type": "handicap",
      "period_str": "full game",
      "side": "home",
      "selection_name": "Collingwood Magpies -9.5",
      "odds": 1.91
    },
    
    {
      "bookmaker": "pointsbet",
      "bet_type": "total",
      "period_str": "full game",
      "side": "over",
      "selection_name": "Over 168.5",
      "odds": 1.90
    }
    
  ],
  "resume": "1784092451749-0"
}
PointsBet API filter Request only PointsBet prices with the canonical pointsbet bookmaker key.
Comparable bookmaker fields Match PointsBet, Sportsbet, TAB and Bet365 rows by event, market, period, line and selection.
PointsBet snapshot and stream Load the current event first, then process supported pre-match changes with SSE or WebSocket.

Run a PointsBet request

Find a current PointsBet event, then request only its prices with the canonical bookmaker key.

Authentication
X-API-Key
Bookmaker
pointsbet
Returns
Current odds snapshot
GET /v1/events/{event_id}/odds/snapshot?bookmakers=pointsbet
const apiKey = process.env.ODDS_API_KEY;
const baseUrl = "https://api.odds-api.net/v1";
const headers = { "X-API-Key": apiKey };

if (!apiKey) throw new Error("Set ODDS_API_KEY before running this file.");

async function getJson(path) {
    const response = await fetch(`${baseUrl}${path}`, { headers });
    if (!response.ok) throw new Error(await response.text());
    return response.json();
}

const events = await getJson("/events?limit=200");
const event = events.items.find(({ bookmakers }) =>
    Array.isArray(bookmakers)
        ? bookmakers.includes("pointsbet")
        : Object.hasOwn(bookmakers ?? {}, "pointsbet")
);

if (!event) throw new Error("No current PointsBet event found.");

const snapshot = await getJson(
    `/events/${encodeURIComponent(event.event_id)}/odds/snapshot?bookmakers=pointsbet`
);

console.log(JSON.stringify(snapshot, null, 2));

PointsBet prices that line up

Keep PointsBet prices attached to the same fields used across your Australian bookmaker comparison.

API uptime target

99.8%

Monthly operating target for production API endpoints. Check current health on the status page.

Pre-match updates

REST + stream

Load a snapshot, process supported deltas, and resume the stream after a disconnect.

Normalized market types

100+

Head-to-head, line, totals, team totals and player props share one response model.

Australian bookmaker API guides

Compare PointsBet with Australian bookmakers

Use bookmakers=pointsbet,sportsbet,tab,bet365ww to bring local prices into one event and market structure.

Explore the Australian odds API

What a PointsBet response contains

Use normalized bet_type values to place head-to-head, line, totals, team totals and player props into one odds board.

Market API bet_type What it covers
Head-to-head moneyline Straight-up winner prices for full games and covered periods.
Line handicap Favourite and underdog lines with the handicap kept alongside each selection.
Match total total Full-game and period totals with separate over and under selections.
Team totals team total Team-specific scoring totals for covered matches and periods.
Player props player pointsplayer goalsplayer disposals Player performance markets for covered leagues and events where supplied.

PointsBet market availability changes by sport, league, event, and time. Use the current event snapshot as the source of truth.

Built for agents and humans

MCP server

Tools for events, odds, line movement, streams, and paid-plan positive EV or arbitrage feeds.

Agent skill

Agent-ready instructions.

SDKs and examples

TypeScript, Python, Postman and example builds.

Sports and racing

Sports and racing odds coverage for agent workflows.

SSE odds stream

Lightweight streaming updates for dashboards and alerts.

WebSocket feeds

Bidirectional streams for richer pre-match products.

Pull PointsBet odds in four steps

Find the event, request PointsBet, add local bookmaker filters, then track supported pre-match price changes.

  1. 1

    Find a PointsBet event

    Request GET /v1/events and choose an event that lists pointsbet in its bookmaker coverage.

  2. 2

    Request the snapshot

    Call the event snapshot with bookmakers=pointsbet and keep its freshness and resume fields.

  3. 3

    Compare local bookmakers

    Pass pointsbet,sportsbet,tab,bet365ww and match rows by event, market, period, line and selection.

  4. 4

    Track pre-match changes

    Open the matching stream, process supported deltas, and use the resume token when reconnecting.

Odds API Pricing

Choose a monthly plan based on request volume, rate limits, and support.

Best for first builds

Starter

50K
$30 USD / month

Odds

Requests
50K / month
Streams
150 stream-hours / month
Stream connections
1 concurrent
  • All Bookmakers
  • All Markets
  • 60 requests/min
  • Self-serve

Bets

  • Positive EV and arbitrage bets
  • Up to 2 bookmakers
Best value

Builder

2M
$90 USD / month

Odds

Requests
2M / month
Streams
1,500 stream-hours / month
Stream connections
8 concurrent
  • All Bookmakers
  • All Markets
  • 300 requests/min
  • Email support

Bets

  • Positive EV and arbitrage bets
  • Up to 6 bookmakers

Live

20M
$250 USD / month

Odds

Requests
20M / month
Streams
6,000 stream-hours / month
Stream connections
25 concurrent
  • All Bookmakers
  • All Markets
  • 600 requests/min
  • Priority email

Bets

  • Positive EV and arbitrage bets
  • Up to 15 bookmakers

Pro

75M
$500 USD / month

Odds

Requests
75M / month
Streams
20,000 stream-hours / month
Stream connections
75 concurrent
  • All Bookmakers
  • All Markets
  • 1,200 requests/min
  • Priority email plus onboarding

Bets

  • Positive EV and arbitrage bets
  • Up to 50 bookmakers

Scale

Custom
Custom

Odds

Requests
100M+ typical
Streams
Custom
Stream connections
Custom
  • All Bookmakers
  • All Markets
  • Custom
  • Dedicated support

Bets

  • Positive EV and arbitrage bets
  • Custom bookmaker access

PointsBet API FAQs

Practical answers about PointsBet access, regional coverage, comparisons, streaming, and the canonical bookmaker key.

Is this PointsBet's official sportsbook API?

No. odds-api is an independent data service that provides normalized PointsBet odds where coverage is available. It is not affiliated with, endorsed by, or sponsored by PointsBet, and it does not place bets or access customer accounts.

What filter retrieves PointsBet odds?

Use bookmakers=pointsbet on a covered event snapshot. Confirm the exact pointsbet key in GET /v1/bookmakers and verify that the event lists PointsBet before requesting prices.

Which regions list PointsBet coverage?

The public bookmaker registry currently lists PointsBet for Australia and Canada, including Ontario. Use GET /v1/bookmakers and the live coverage catalog to confirm what is available to your account.

Can I compare PointsBet with Sportsbet?

Yes. On endpoints that accept multiple bookmaker filters, pass pointsbet,sportsbet and match rows by normalized event, market, period, side, and selection fields.

Can I stream PointsBet odds changes?

Supported SSE and WebSocket streams can deliver covered pre-match changes after an initial REST snapshot. Use the returned resume token when reconnecting.

Add PointsBet to your odds board

Create a key, request a covered event, then add PointsBet to the bookmaker comparison your users already understand.

Paid plans from $30/month. No surprise charges.