Cross-sport boards
Bring William Hill football, tennis, basketball, ice hockey and cricket prices into one board.
Build comparison tables and price alerts with William Hill football match odds, goalscorer prices, tennis winners and basketball player props. Get pre-match odds across 11 sports from $50/month, with REST and streaming included.
{
"event_id": "$EVENT_ID",
"items": [
{
"bookmaker": "williamhill",
"bet_type": "team total",
"period_str": "full game",
"side": "over",
"line": "81.5",
"selection_name": "New York Liberty over 81.5 points",
"odds": 1.88
},
{
"bookmaker": "williamhill",
"bet_type": "team total",
"period_str": "full game",
"side": "under",
"line": "81.5",
"selection_name": "New York Liberty under 81.5 points",
"odds": 1.95
}
],
"resume": "$RESUME_TOKEN"
}
Compare football results, track team totals and follow player prices across sports with one API key.
Bring William Hill football, tennis, basketball, ice hockey and cricket prices into one board.
Track match and team totals separately, with each over or under price attached to its line.
Compare football goalscorers, basketball points and NFL passing yards by player, period and line.
Copy a William Hill request for your app or give the prompt to your AI agent.
X-API-Keywilliamhill/v1/events/{event_id}/odds/snapshot?bookmakers=williamhill
Build a William Hill Premier League odds board with https://api.odds-api.net/v1. Keep ODDS_API_KEY server-side and send it in the X-API-Key header.
Find an upcoming fixture at /events?league=EPL¬_started_only=true&limit=50 that lists williamhill. Use its event_id to fetch /events/{event_id}/odds/snapshot?bookmakers=williamhill.
Show teams, kick-off times and decimal prices. Keep home, draw and away selections separate in moneyline 3w. Preserve bet_type, metric, period_str, line and selection_name so match goals, team totals, corners and player props stay distinct. Handle empty results. Load the snapshot before following SSE or WebSocket updates and retain its resume token.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?league=EPL¬_started_only=true&limit=50");
const event = events.items.find(({ bookmakers }) =>
Array.isArray(bookmakers)
? bookmakers.includes("williamhill")
: Object.hasOwn(bookmakers ?? {}, "williamhill")
);
if (!event) throw new Error("No current William Hill event found.");
const snapshot = await getJson(
`/events/${encodeURIComponent(event.event_id)}/odds/snapshot?bookmakers=williamhill`
);
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": 50, "league": "EPL", "not_started_only": True},
timeout=20,
)
events_response.raise_for_status()
events = events_response.json()["items"]
event = next(
(item for item in events if "williamhill" in item.get("bookmakers", [])),
None,
)
if event is None:
raise RuntimeError("No current William Hill event found.")
response = requests.get(
f"{base_url}/events/{event['event_id']}/odds/snapshot",
headers=headers,
params={"bookmakers": "williamhill"},
timeout=20,
)
response.raise_for_status()
print(response.json())
export ODDS_API_KEY="your_api_key"
# Find an upcoming EPL game listing williamhill.
curl -sS \
-H "X-API-Key: $ODDS_API_KEY" \
"https://api.odds-api.net/v1/events?league=EPL¬_started_only=true&limit=50"
# Use that game's event_id below.
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=williamhill"
Explore William Hill match results, goal lines, team totals and player props across 160+ market variations.
Home, draw and away football prices, kept together for the same match and period.
moneyline 3wTwo-way winner prices for tennis, basketball and other sports.
moneylineTeam, game and set handicaps with the signed line attached to each selection.
handicapOver and under prices for goals, points, games and runs, separated by sport and period.
totalOne team's goals or points with its own line, period and over or under selection.
team totalYes and no football prices for full-time and half-time markets.
both teams to scoreCorner totals and handicaps, plus player card markets, distinguished by metric.
totalhandicapplayer propGoalscorers, shots on target, assists and tackles, matched by player and market.
player propBasketball points, rebounds and assists, NFL passing yards and baseball strikeouts.
player propTools 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.
Price updates for sportsbook and exchange products.
Find a fixture, load its William Hill prices and follow changes in the same event format.
Create an odds-api.net account and send your key in the X-API-Key header from your server.
Request upcoming EPL events and select a fixture that lists williamhill in its bookmakers field.
Fetch the event snapshot with bookmakers=williamhill. Retain each market's period, metric, line and selection.
Process SSE or WebSocket updates after the snapshot and retain its resume token for reconnects.
Choose a monthly plan based on request volume, rate limits, and support.
Enterprise grade
Custom projects, scoped with your team.
API keys, William Hill markets and comparisons with other UK bookmakers.
Create an odds-api.net account and copy your key from the account page. Send it in X-API-Key and use bookmakers=williamhill on the event odds snapshot. No William Hill login is needed.
Football, tennis, basketball, ice hockey, American football, baseball, cricket, handball, rugby union, Aussie rules and table tennis. The feed includes match odds, handicaps, totals, team totals and player markets.
Yes. Request bookmakers=williamhill,paddypower,skybet for a shared event. For UK Ladbrokes, add ladbrokes_uk. Match the same market, metric, period, line and selection before comparing decimal prices.
A team total tracks one side's score; a match total tracks the combined event. Keep the team, line, period and over or under side with each William Hill selection.
Compare William Hill prices with another UK source on the same sport, event, market and line.
Explore UK bookmaker coverageChoose a plan and add William Hill match odds, totals and player props to your app.