sportybet.com APIwww.sportybet.com ↗
Access SportyBet betting odds, live scores, and upcoming events for football, basketball, and more. 3 endpoints covering markets, tournaments, and sport listings.
curl -X GET 'https://api.parse.bot/scraper/8ffd9f0c-6174-43af-80dc-4898f47f074b/get_upcoming_events?sport=football&page_size=10' \ -H 'X-API-Key: $PARSE_API_KEY'
Get upcoming and today's events with full betting odds for a sport. Returns tournaments with events, each containing multiple markets (1X2, Over/Under, Handicap, GG/NG, Double Chance, etc.) with odds for each outcome. Supports pagination.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| sport | string | Sport name ('football', 'basketball') or a raw sport ID from get_sport_list (e.g. 'sr:sport:1', 'sr:sport:2', 'sr:sport:20') |
| page_size | integer | Number of events per page (max 100) |
| market_ids | string | Comma-separated market IDs to include in results |
| today_only | boolean | If true, only return today's games |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"sport": "string, the sport queried",
"page_size": "integer, events per page",
"today_only": "boolean, whether filtered to today only",
"tournaments": "array of tournament objects, each with tournament_id, tournament_name, category, and events array containing odds",
"total_events": "integer, total number of events available"
},
"sample": {
"data": {
"page": 1,
"sport": "football",
"page_size": 10,
"today_only": false,
"tournaments": [
{
"events": [
{
"game_id": "20751",
"markets": [
{
"name": "1X2",
"outcomes": [
{
"id": "1",
"odds": "1.91",
"description": "Home"
},
{
"id": "2",
"odds": "4.20",
"description": "Draw"
},
{
"id": "3",
"odds": "3.88",
"description": "Away"
}
],
"market_id": "1"
}
],
"event_id": "sr:match:61301233",
"away_team": "Chelsea",
"home_team": "Liverpool",
"start_time": 1778326200000,
"match_status": "Not start",
"total_markets": 846
}
],
"category": "England",
"tournament_id": "sr:tournament:17",
"tournament_name": "Premier League"
}
],
"total_events": 1437
},
"status": "success"
}
}About the sportybet.com API
The SportyBet API exposes 3 endpoints that return betting odds, live match scores, and sport listings from sportybet.com. The get_upcoming_events endpoint delivers full market odds — including 1X2, Over/Under, Handicap, GG/NG, and Double Chance — grouped by tournament for any supported sport. Live match data includes real-time scores, match period, and played time alongside available odds, making this useful for odds monitoring and sports data pipelines.
Upcoming Events and Odds
The get_upcoming_events endpoint accepts a sport parameter (either a friendly name like 'football' or a raw sport ID such as 'sr:sport:1' from get_sport_list), plus optional page, page_size (up to 100), today_only, and market_ids parameters. The response groups events under tournaments, each containing tournament_id, tournament_name, category, and an events array. Each event includes multiple betting markets with outcome odds. The top-level total_events field tells you how many events exist for the current query without fetching all pages.
Live Events
get_live_events returns currently active matches filtered by sport. Each event in the tournaments array carries the current score, match period, and time played alongside betting markets and odds. If no matches are live at query time, tournaments returns an empty array and total_live_events is zero. There is no polling interval enforced on the caller's side — hit the endpoint as frequently as your plan allows to track score changes.
Sport Discovery
get_sport_list maps available sports to their sport_id, name, and event_count. Passing product='live' scopes the count to currently live events; product='prematch' scopes it to upcoming events. The raw sport_id values returned here (e.g. sr:sport:1) can be passed directly to the other two endpoints, which is useful when you want to query a sport that does not have a predefined friendly name.
- Monitor real-time odds movement across multiple markets (1X2, Over/Under, Handicap) for football and basketball.
- Build a live scores dashboard that tracks current match period, played time, and score from
get_live_events. - Aggregate upcoming tournament schedules grouped by
tournament_nameandcategoryfor pre-match analysis. - Detect arbitrage opportunities by comparing odds across multiple markets returned in the
eventsarray. - Filter today's matches using
today_only=trueto populate daily bet-tracking tools. - Discover which sports are currently live by querying
get_sport_listwithproduct='live'and checkingevent_count. - Build a sport-selection UI by using
get_sport_listto enumerate available sports before querying 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 | 250 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 SportyBet have an official developer API?+
What does `get_upcoming_events` return and how can I narrow the results?+
tournaments array where each tournament contains an events array with full market odds. You can narrow results using today_only=true to limit to today's games, market_ids as a comma-separated list to include only specific markets, and page/page_size for pagination up to 100 events per page. The total_events field in the response lets you calculate how many pages to fetch.How fresh is the live event data from `get_live_events`?+
Does the API cover historical match results or bet settlement data?+
Is data available for sports beyond football and basketball?+
get_sport_list returns all sports that SportyBet currently offers, each with a raw sport_id. You can pass any of those IDs directly to get_upcoming_events or get_live_events. The actual sports available vary by region and change over time, so querying get_sport_list first is the reliable way to enumerate what is available.