Bet365 Live Scores API | Real-Time Sports Data, 13 Sports
Pricing
from $1.99 / 1,000 live games
Bet365 Live Scores API | Real-Time Sports Data, 13 Sports
Real-time sports scores via REST API. Live games, competition results, full match detail with lineups, statistics, and events. Football, basketball, tennis, hockey, and 9 more sports. 2600+ competitions. Multi-language support.
Pricing
from $1.99 / 1,000 live games
Rating
0.0
(0)
Developer
Zen Studio
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Bet365 Live Scores API | Real-Time Sports Scores, 13 Sports
Real-time sports scores as a REST API. Live games, competition scores, full match detail. 13 sports, 2600+ competitions. Instant responses via Standby mode.
No scraping. No browser. Just HTTP endpoints that return structured JSON.
5 endpoints. Live scores, competition data, game detail, competition discovery.
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this API.
zen-studio/bet365-live-scores on Apify (Standby actor). Base URL: https://zen-studio--bet365-live-scores.apify.actor. Auth: ?token=APIFY_TOKEN (get at https://console.apify.com/account/integrations). Endpoints: GET /live (all live games, filter by sport/competition/team), GET /scores?competition=X (scores with Bet365 odds), GET /game/{id} (full detail: lineups, stats, events), GET /competitions?sport=X (browse 2600+ competitions), GET /health. Pricing: live-request $0.002, scores-request $0.002, game-detail $0.003. Competitions and health are free.
Also available as an MCP server — add zen-studio/bet365-live-scores for natural language access.
Related Actors
| Zen Studio Sports Betting • Real-time odds and scores across every major sportsbook | |||
|
➤ You are here |
39 sports, all markets |
Lines, props, SGP |
18 states, 22 sports |
Endpoints
| Endpoint | Method | Description |
|---|---|---|
/live | GET | All live games right now |
/scores | GET | Current and recent games for a competition |
/game/{id} | GET | Full game detail: events, lineups, stats, venue |
/competitions | GET | Discover competition IDs and slugs |
/health | GET | Health check |
|
Quick Start
Get live football games
curl "https://zen-studio--bet365-live-scores.apify.actor/live?sport=football" \-H "Authorization: Bearer YOUR_APIFY_TOKEN"
Get Premier League scores
curl "https://zen-studio--bet365-live-scores.apify.actor/scores?competition=premier-league" \-H "Authorization: Bearer YOUR_APIFY_TOKEN"
Get full game detail
curl "https://zen-studio--bet365-live-scores.apify.actor/game/4679449" \-H "Authorization: Bearer YOUR_APIFY_TOKEN"
Discover competitions
curl "https://zen-studio--bet365-live-scores.apify.actor/competitions?sport=football" \-H "Authorization: Bearer YOUR_APIFY_TOKEN"
Parameters
/live
| Param | Type | Default | Description |
|---|---|---|---|
sport | string | all | Filter by sport: football, basketball, tennis, hockey, handball, american-football, baseball, volleyball, rugby |
competition | string | - | Filter by competition slug or ID. Comma-separated for multiple. Example: premier-league or 7 or premier-league,champions-league |
team | int | - | Filter by team/competitor ID |
language | string | English | Language for team names (English, Deutsch, Español, Français, etc.) |
/scores
| Param | Type | Default | Description |
|---|---|---|---|
competition | string | required | Competition slug or ID. Comma-separated for multiple |
team | int | - | Filter by team ID |
includeOdds | bool | true | Include Bet365 1X2 odds (decimal, fractional, American) |
language | string | English | Language for team names (English, Deutsch, Español, Français, etc.) |
/game/{game_id}
| Param | Type | Default | Description |
|---|---|---|---|
language | string | English | Language for team names (English, Deutsch, Español, Français, etc.) |
/competitions
| Param | Type | Default | Description |
|---|---|---|---|
sport | string | football | Sport name |
language | string | English | Language for team names (English, Deutsch, Español, Français, etc.) |
Competition Slugs
Use human-readable slugs instead of numeric IDs. Pass them in competition on /live and /scores.
| Slug | Competition |
|---|---|
premier-league | Premier League |
laliga | LaLiga |
bundesliga | Bundesliga |
serie-a | Serie A |
ligue-1 | Ligue 1 |
champions-league | UEFA Champions League |
europa-league | UEFA Europa League |
fa-cup | FA Cup |
copa-del-rey | Copa del Rey |
nba | NBA |
nfl | NFL |
nhl | NHL |
70+ slugs supported. Use /competitions to discover all available competitions with their slugs and IDs.
Numeric IDs also work: competition=7 is the same as competition=premier-league.
Response Format
/live and /scores
{"success": true,"count": 19,"games": [{"gameId": 4452851,"sportType": "Football","competition": "Premier League","competitionId": 7,"startTime": "2026-03-22T15:00:00Z","status": "finished","minute": 90,"progress": 100.0,"homeTeam": "Arsenal","homeTeamId": 110,"homeTeamCode": "ARS","homeTeamLogo": "http://cdn.example.com/...","awayTeam": "Chelsea","awayTeamId": 114,"awayTeamCode": "CHE","awayTeamLogo": "http://cdn.example.com/...","homeScore": 2,"awayScore": 1,"homeHalftimeScore": 1,"awayHalftimeScore": 0,"result": "home","attendance": 60704,"odds": {"bookmakerId": 14,"homeWinOdds": 1.5,"homeWinFractional": "1/2","homeWinAmerican": "-200","homeWinOpeningOdds": 1.55,"drawOdds": 4.33,"awayWinOdds": 6.0}}]}
Odds are included on /scores when includeOdds=true (default). Not available on /live (data source limitation).
/game/{id}
Returns everything from /scores plus:
- events: Goals, cards, substitutions with minute, player name, assist
- lineups: Full squad (23 players per team) with formation, positions, jersey numbers, age
- statistics: 42 stat types (possession, shots, passes, tackles, etc.) with home/away values
- venue: Stadium name, capacity, location
- officials: Referee details
- fanVote: Community prediction (home/draw/away vote counts)
- missingPlayers: Injuries and suspensions
/competitions
{"success": true,"sport": "football","count": 813,"competitions": [{"id": 7,"name": "Premier League","slug": "premier-league","country": "England","currentSeason": "2025/2026","hasStandings": true}]}
Errors
{"success": false,"error": "Unknown competition: xyz. Use /competitions to discover available IDs."}
| Status | Error | Meaning |
|---|---|---|
| 400 | Unknown competition | Slug or ID not recognized |
| 400 | Unknown sport | Sport name not valid |
| 400 | Missing required parameter | Required query param missing |
| 404 | Game not found | Game ID doesn't exist |
| 500 | Internal error | Unexpected server error |
Use Cases
Live Dashboard
Poll /live?sport=football every 30-60 seconds during match hours. Get all active games with scores, game time, and status.
Score Tracker
Monitor specific competitions with /scores?competition=premier-league,champions-league. Returns current matchday games with results and upcoming fixtures.
Match Analysis
Pull full game data via /game/{id} for detailed events, lineups, formations, and match statistics.
Competition Discovery
Start with /competitions?sport=football to browse 813 football competitions. Find IDs for niche leagues, then use them in /live and /scores.
Supported Sports
Football, Basketball, Tennis, Ice Hockey, Handball, American Football, Baseball, Volleyball, Rugby.
2600+ competitions across all sports. 813 football competitions alone.
Pricing
Pay per API request. No subscriptions.
| Event | Endpoints | Per request | Per 1,000 |
|---|---|---|---|
live-request | /live | $0.002 | $1.99 |
scores-request | /scores | $0.002 | $1.99 |
game-detail-request | /game/{id} | $0.003 | $2.99 |
/competitions and /health are free.
Example
Track Premier League every minute for 3 hours on match day: 180 requests x $0.002 = $0.36
FAQ
What is Standby mode? The actor runs as an always-on HTTP server. No queue, no cold start. Apify keeps it warm and routes requests directly. See the Standby tab for the hostname.
Can I use this in batch mode? Yes. Pick a competition preset and click Start to get scores pushed to the dataset. For production use, Standby mode gives you real-time access via REST endpoints. For historical data, player profiles, or transfers, use the companion Bet365 Sports Data Scraper actor.
Why no odds on /live?
The live games data source doesn't include betting data. Odds are available on /scores, which uses a different data source that supports them.
What countries block odds?
Bet365 odds are included automatically on /scores when includeOdds=true (the default).
How often can I poll? No rate limits from the API. Poll as frequently as you need. Every 30-60 seconds is typical for live tracking.
How much does Standby mode cost to keep running? You don't pay anything while it's idle. The actor sleeps automatically after a period of no requests and wakes up on the next call (cold start takes 2-3 seconds). You only pay compute for hours it's actually running.
What's the difference between this and the Bet365 Odds actor? This actor provides live scores, lineups, statistics, and match events. The Odds actor provides betting odds and markets. Different data, different use cases. Use both together for a complete picture.
Can I get historical scores?
/scores returns recent and upcoming games for a competition (typically the current round plus a few past rounds). For deep historical data, use the Bet365 Sports Data Scraper actor.
Support
Bug reports, feature requests, or questions? Open an issue in the Issues tab.
Real-time sports scores via REST API. 13 sports. 2600+ competitions. Instant responses.