AccessBet APIaccessbet.com ↗
Fetch prematch betting odds from AccessBet across sports, tournaments, and individual matches. 4 endpoints covering sports, leagues, and market selections.
What is the AccessBet API?
The AccessBet API exposes prematch betting odds across sports via 4 endpoints, covering everything from top-level sport listings to per-match market breakdowns. Starting with get_sports, you can enumerate all available sports with match counts, drill into tournaments by sport ID using get_tournaments, and retrieve full market selections — 1X2, Over/Under, Both Teams Score, and more — at the tournament or individual match level.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/ccca7b9c-f856-4a7d-aa93-3f0257590fe8/get_sports' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace accessbet-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: AccessBet prematch odds — browse sports, drill into tournaments, read match odds."""
from parse_apis.AccessBet_Prematch_Odds_API import AccessBet, MatchNotFound
client = AccessBet()
# List all available sports and their match counts.
for sport in client.sports.list(limit=5):
print(sport.name, f"({sport.total_matches} matches, {sport.total_tournaments} tournaments)")
# Drill into the first sport's tournaments.
sport = client.sports.list(limit=1).first()
if sport:
for tournament in sport.tournaments(limit=3):
print(tournament.name, tournament.category_name, f"({tournament.match_count} matches)")
# Get odds for the first tournament's matches.
tournament = sport.tournaments(limit=1).first()
if tournament:
for match in tournament.odds(limit=2):
print(match.name, match.status)
for market in match.markets[:3]:
sels = ", ".join(f"{s.name}={s.odds}" for s in market.selections)
print(f" {market.market_name} [{market.special}]: {sels}")
# Typed error: attempt to fetch a non-existent match.
try:
detail = client.matches.get(match_id="0000000")
print(detail.name, detail.total_markets)
except MatchNotFound as exc:
print(f"Match not found: {exc}")
print("exercised: sports.list / sport.tournaments / tournament.odds / matches.get")
Fetch all available sports with their IDs, names, and match counts. Returns the full list of sports offered for prematch betting, sorted by display order. Each sport includes the count of categories and tournaments available.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer",
"sports": "array of sport objects with id, name, code, order, total_matches, total_categories, total_tournaments"
},
"sample": {
"data": {
"total": 21,
"sports": [
{
"id": "1",
"code": "soccer",
"name": "Football",
"order": 0,
"total_matches": 261,
"total_categories": 22,
"total_tournaments": 77
},
{
"id": "2",
"code": "basketball",
"name": "Basketball",
"order": 2,
"total_matches": 17,
"total_categories": 9,
"total_tournaments": 10
}
]
},
"status": "success"
}
}About the AccessBet API
Sports and Tournament Navigation
The get_sports endpoint returns the complete list of sports available for prematch betting on AccessBet, including each sport's id, name, code, display order, total_matches, total_categories, and total_tournaments. No parameters are required. Use the returned id values as input to get_tournaments, which accepts a sport_id string (e.g. '1' for Football, '2' for Basketball, '5' for Tennis) and returns tournaments grouped by category — typically country or region. Each tournament object includes id, name, code, category_id, category_name, and match_count.
Odds at Tournament and Match Level
get_prematch_odds takes a tournament_id (obtained from get_tournaments) and returns every active prematch match in that tournament, each with its full set of betting markets and selections. The response includes sport_name, category_name, tournament_name, total_matches, and a matches array where each entry carries market objects containing selection names and current odds values. Markets cover common types such as 1X2, Over/Under totals, Both Teams Score, and GG/NG.
Single-Match Market Detail
For deeper inspection of one fixture, get_match_odds accepts either a numeric match_id or a match_code string and returns the complete market listing for that match. The response surfaces match_name, start_timestamp, total_markets, tournament_name, sport_name, category_name, and a markets array with each market's type, special value (used for handicap lines and over/under thresholds), and all selections with their current odds. This endpoint is suited for monitoring odds movement on a specific fixture over time.
The AccessBet API is a managed, monitored endpoint for accessbet.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when accessbet.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official accessbet.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate prematch odds from AccessBet alongside other bookmakers to build an odds comparison tool.
- Track odds movement on specific matches by repeatedly calling
get_match_oddswith a known match ID. - Identify which tournaments are active for a given sport by querying
get_tournamentswith a sport ID. - Build a sports betting dashboard that groups available markets by category and country using
category_namefields. - Detect arbitrage opportunities by comparing Over/Under and 1X2 selections across tournaments returned by
get_prematch_odds. - Populate a betting research feed with upcoming fixture names, start timestamps, and market counts from
get_match_odds. - Enumerate all AccessBet sports and their match volumes programmatically using
get_sportsfor coverage analysis.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AccessBet have an official developer API?+
What does `get_match_odds` return that `get_prematch_odds` doesn't?+
get_match_odds focuses on a single fixture and returns start_timestamp, total_markets, and match_code alongside the full market list. get_prematch_odds covers all matches in a tournament at once but doesn't include start_timestamp or match_code per match — it's better suited for bulk retrieval, while get_match_odds is better for tracking one fixture in detail.Does the API cover live in-play betting odds?+
Can I look up a match by team name rather than a match ID?+
match_id or match_code as identifiers for get_match_odds. To find a match for specific teams, you would first call get_prematch_odds for the relevant tournament and scan the returned matches array for the fixture by name. You can fork this API on Parse and revise it to add a search-by-team-name endpoint.