API uptime target
Monthly operating target for production API endpoints. Check current health on the status page.
Request TABtouch prices with the tabtouch filter, compare them with other Australian bookmakers, and track supported pre-match changes through one API.
{
"event_id": "nrl-bris-mel",
"items": [
{
"bookmaker": "tabtouch",
"bet_type": "moneyline",
"period_str": "full game",
"side": "home",
"selection_name": "Brisbane Broncos",
"odds": 2.15
},
{
"bookmaker": "tabtouch",
"bet_type": "handicap",
"period_str": "full game",
"side": "away",
"selection_name": "Melbourne Storm -4.5",
"odds": 1.90
}
],
"resume": "1784092451749-0"
}
tabtouch bookmaker key.
Choose a current event that includes TABtouch, then request its prices with the canonical bookmaker key.
X-API-Keytabtouch/v1/events/{event_id}/odds/snapshot?bookmakers=tabtouch
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("tabtouch")
: Object.hasOwn(bookmakers ?? {}, "tabtouch")
);
if (!event) throw new Error("No current TABtouch event found.");
const snapshot = await getJson(
`/events/${encodeURIComponent(event.event_id)}/odds/snapshot?bookmakers=tabtouch`
);
console.log(JSON.stringify(snapshot, null, 2));
import os
import requests
base_url = "https://api.odds-api.net/v1"
headers = {"X-API-Key": os.environ["ODDS_API_KEY"]}
events_response = requests.get(
f"{base_url}/events",
headers=headers,
params={"limit": 200},
timeout=20,
)
events_response.raise_for_status()
events = events_response.json()["items"]
event = next(
(item for item in events if "tabtouch" in item.get("bookmakers", [])),
None,
)
if event is None:
raise RuntimeError("No current TABtouch event found.")
response = requests.get(
f"{base_url}/events/{event['event_id']}/odds/snapshot",
headers=headers,
params={"bookmakers": "tabtouch"},
timeout=20,
)
response.raise_for_status()
print(response.json())
export ODDS_API_KEY="your_api_key"
export EVENT_ID="replace_with_event_id"
curl -sS \
-H "X-API-Key: $ODDS_API_KEY" \
"https://api.odds-api.net/v1/events/$EVENT_ID/odds/snapshot?bookmakers=tabtouch"
Keep TABtouch prices in the same normalized structure as the rest of your Australian bookmaker board.
Monthly operating target for production API endpoints. Check current health on the status page.
Start from a complete snapshot, apply supported pre-match deltas, and resume cleanly after a disconnect.
Head-to-head, line, totals, team totals and player props use consistent response fields.
Use bookmakers=tabtouch,sportsbet,tab,ladbrokes to put local prices into the same event and market structure.
Explore the Australian odds APIUse normalized bet_type values to organise TABtouch head-to-head, line, totals, team totals and player props.
| Market | API bet_type | What it covers |
|---|---|---|
| Head-to-head |
moneylinemoneyline 3w
|
Two-way and three-way winner prices for full matches and covered periods. |
| Line |
handicap
|
Favourite and underdog lines with the handicap preserved on each selection. |
| Match total |
total
|
Over and under prices with the scoring line attached to the market selection. |
| Team totals |
team total
|
Team-specific totals for full matches and covered periods. |
| Player props |
player pointsplayer goalsplayer disposals
|
Normalized player performance markets for supported sports and fixtures. |
Use the event snapshot and live coverage catalogue to see the TABtouch markets currently attached to a fixture. Check current TABtouch coverage.
Tools for events, odds, line movement, streams, and paid-plan positive EV or arbitrage feeds.
Agent-ready instructions.
TypeScript, Python, Postman and example builds.
Sports and racing odds coverage for agent workflows.
Lightweight streaming updates for dashboards and alerts.
Bidirectional streams for richer pre-match products.
Find the event, filter for TABtouch, align the selections, then process supported pre-match price changes.
Request GET /v1/events and select an event that lists tabtouch among its available bookmakers.
Call the odds snapshot with bookmakers=tabtouch and retain the response freshness and resume metadata.
Add sportsbet, tab or ladbrokes and match prices by event, market, period, line and selection.
Open the matching stream for supported pre-match changes and reconnect with the latest resume token.
Choose a monthly plan based on request volume, rate limits, and support.
Answers about TABtouch access, bookmaker filters, Australian comparisons, streams, and independence.
No. odds-api is an independent data service. It is not affiliated with, endorsed by, or sponsored by TABtouch, and it does not place bets or access TABtouch customer accounts.
Use bookmakers=tabtouch on an event odds snapshot. GET /v1/bookmakers returns the canonical key accepted by bookmaker filters.
Yes. Pass tabtouch with tab or sportsbet on endpoints that accept multiple bookmaker filters, then match rows by event, market, period, line and selection.
Use the events endpoint to find AFL and NRL fixtures with TABtouch attached, then request the matching normalized odds snapshot for that event.
Start with the REST snapshot, then use the matching SSE or WebSocket route for supported pre-match changes and resume handling.
Create an API key, choose a covered event, and bring TABtouch into your Australian bookmaker comparison.