LiveScoreBet APIlivescorebet.com ↗
Access sports listings, leagues, live match odds, and detailed event markets from LiveScoreBet.com across football, esports, and more via 4 REST endpoints.
What is the LiveScoreBet API?
The LiveScoreBet API exposes betting data from livescorebet.com across 4 endpoints, covering sports catalogues, league listings, match odds, and full event market breakdowns. Starting with list_sports, you can enumerate every available sport with live and upcoming event counts, then drill down through leagues and individual matches to pull selection-level odds, handicaps, totals, and both-teams-to-score markets for any event on the platform.
curl -X GET 'https://api.parse.bot/scraper/5a247b57-675b-4396-beb2-29b207004c3e/list_sports?lang=en-ng' \ -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 livescorebet-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: LiveScoreBet SDK — bounded, re-runnable; every call capped."""
from parse_apis.LiveScoreBet_Odds_API import LiveScoreBet, Lang, Interval, SportId, EventNotFound
client = LiveScoreBet()
# List all available sports with event counts
for sport in client.sports.list(lang=Lang.EN_NG, limit=5):
print(sport.name, sport.total_inplay, sport.total_not_started)
# Navigate into a sport to get its leagues
football = client.sport(id="SBTC1_311")
for league in football.leagues(limit=3):
print(league.name, league.country_name, league.total_not_started)
# Get matches for a league
esports_league = client.league(id="SBTC3_215750")
match = esports_league.matches(interval=Interval.ALL, limit=1).first()
# Get detailed odds for a match, with typed error handling
if match:
try:
event_odds = match.odds()
print(event_odds.name, event_odds.state)
for market in event_odds.markets[:3]:
print(market.name, market.kind, market.suspended)
for selection in market.selections:
print(selection.name, selection.decimal_odds, selection.outcome_type)
except EventNotFound as exc:
print(f"Event expired: {exc.event_id}")
print("exercised: sports.list / sport.leagues / league.matches / match.odds")
List all available sports with live and upcoming event counts. Each sport carries counters for in-play and not-started events plus a childs_count indicating how many leagues belong to it.
| Param | Type | Description |
|---|---|---|
| lang | string | Language/locale code for the response. |
{
"type": "object",
"fields": {
"total": "integer total count of sports",
"sports": "array of sport objects with id, name, total_inplay, total_not_started, childs_count"
},
"sample": {
"data": {
"total": 38,
"sports": [
{
"id": "SBTC1_1",
"name": "Football",
"childs_count": 131,
"total_inplay": 6,
"total_not_started": 1420
}
]
},
"status": "success"
}
}About the LiveScoreBet API
Sports and League Navigation
The list_sports endpoint returns every sport available on LiveScoreBet, including id, name, total_inplay, total_not_started, and childs_count. These IDs feed directly into get_leagues, which accepts a sport_id parameter (for example SBTC1_1 for Football or SBTC1_311 for Esports Football) and returns a list of competitions with country_code, country_name, and per-league event counts. An optional lang parameter is accepted by all four endpoints to localise response text.
Match Data and Primary Odds
get_matches takes a category_id from get_leagues and returns all matches in that competition, each with id, name, start_time, state, participants (including venue_role and short_name), a scoreboard object, and a markets array carrying the primary market odds. The interval parameter lets you filter events by time window. This endpoint is the entry point for monitoring live and pre-match odds at the competition level.
Full Event Market Detail
get_event_odds accepts an event_id (for example SBTE_2_1027846533) sourced from get_matches and returns the complete set of betting markets for that event. The markets array includes objects with id, name, kind, period_type, suspended status, tags, and selections. Alongside markets, the response includes a scoreboard with period, timer_value, home_score, and away_score, plus participants and start_time. This is the endpoint to use when you need handicap lines, totals, or in-play state for a single event.
The LiveScoreBet API is a managed, monitored endpoint for livescorebet.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when livescorebet.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 livescorebet.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?+
- Track live in-play odds shifts across multiple sports using
total_inplaycounts fromlist_sports. - Build a league-level odds aggregator by iterating
get_leaguesresults for a given sport and fetching match odds viaget_matches. - Monitor suspended markets on specific events using the
suspendedfield inget_event_oddsmarket objects. - Compare pre-match and in-play odds for esports football events by filtering on
stateinget_matches. - Capture handicap and totals lines for a match using the
kindandselectionsfields returned byget_event_odds. - Build event count dashboards per country using
country_nameandtotal_not_startedfields fromget_leagues. - Alert on scoreboard changes during live matches using
home_score,away_score, andtimer_valuefromget_event_odds.
| 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 LiveScoreBet have an official public developer API?+
What does `get_event_odds` return beyond basic win/lose odds?+
get_event_odds returns the full market set for an event, including handicap markets, totals, both-teams-to-score, and other bet types. Each market object carries kind, period_type, suspended status, tags, and a selections array with individual odds. The scoreboard object also provides live score and timer data when the event is in-play.Does the API expose historical odds or only current markets?+
Can I retrieve odds for a specific country or region only?+
get_leagues returns country_code and country_name on each league object, so you can filter results client-side by country. There is no server-side country filter parameter in the current API. You can fork it on Parse and revise to add a country filter parameter if needed.