Bet365 Live Odds & In-Play Data Scraper
Pricing
from $1.00 / 1,000 extracted in-play odds lines
Bet365 Live Odds & In-Play Data Scraper
Scrape live Bet365 in-play betting odds, running scores, and pre-match lines across soccer, basketball, tennis, baseball, hockey, esports and more. Clean structured rows with Asian handicaps, over/under totals and match timers. Export directly to JSON, CSV or Excel.
Pricing
from $1.00 / 1,000 extracted in-play odds lines
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
39
Total users
8
Monthly active users
20 days ago
Last modified
Categories
Share
Bet365 Live Odds & In-Play Data Scraper — Live Betting Odds, Spreads & Scores ⚡
⚡ Export Bet365 live odds, pre-match lines and scores
Choose a sport and operation, then download the results as JSON or CSV. You do not need a Bet365 account or API key.
🔎 What is the Bet365 Live Odds & In-Play Data Scraper — and when should you use it?
The Bet365 Live Odds & In-Play Data Scraper turns live in-play odds, match spreads, over/under totals and pre-match market lines from Bet365 into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: extracting real-time Bet365 betting odds, live in-play lines, match running scores, and closing line values across soccer, basketball, tennis, baseball, and American football.
Use something else when: you need multi-bookmaker odds aggregation across 60+ sportsbooks (FanDuel, DraftKings, Pinnacle, Betfair). Use Sports Betting Odds Scraper for multi-bookmaker market comparison across 60+ global sportsbooks. Use Football API Scraper for European and global soccer match analytics, lineups and player stats. Use this actor when you specifically need Bet365 in-play or pre-match odds and running match lines.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/bet365-live-odds-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want extract live Bet365 in-play and pre-match betting odds, handicap lines, and match scores using the Apify Actor `sian.agency/bet365-live-odds-scraper`.Use it when I need: extracting real-time Bet365 betting odds, live in-play lines, match running scores, and closing line values across soccer, basketball, tennis, baseball, and American football.Don't use it when: you need multi-bookmaker odds aggregation across 60+ sportsbooks (FanDuel, DraftKings, Pinnacle, Betfair) — use sports-betting-odds-scraper or football-api-scraper instead.How to call it: choose `operation` (`inplay`, `prematch`, `sports`, or `event_detail`) and select your target `sport` (e.g. `soccer`, `basketball`, `tennis`).Start with this input:{"operation": "inplay","sport": "soccer","oddsFormat": "decimal"}Ask me which sport or Bet365 event ID you want to pull live in-play odds for, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Scrape live in-play soccer odds and running match scores from Bet365.
- Extract pre-match basketball odds and point spreads from Bet365.
- List all currently active live in-play sports on Bet365.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/bet365-live-odds-scraper.md.
📋 Overview
The Bet365 Live Odds & In-Play Data Scraper returns live odds, pre-match lines and scores for the selected sport. Availability depends on which matches and markets are open.
Every match row unrolls Bet365's native market groups into clean, structured records — giving you exact moneyline odds (1X2), Asian handicaps, over/under goal lines, corner markets, running match timers, and live scores.
The dataset includes:
- ⚡ True Live In-Play Streams: Real-time odds updates, live running scoreboards, and match minute timestamps for in-progress fixtures.
- 🎯 Deep Market Group Unrolling: 1X2 Full-Time Result, Asian Handicap lines, Over/Under totals, Both Teams to Score (BTTS), and Corner markets.
- 🏈 Sport selection: Choose from the supported sport categories. The sports directory shows which have live events.
- 🔢 Dual Odds Format: Native Decimal (1.95, 3.40) or American (-105, +240) odds format conversion out of the box.
- 💰 Pay-per-event pricing: Result charges apply to valid odds lines. A platform run-start charge can apply even when a query returns no results. Check current pricing.
- 📊 Visual SIÁN Ledger Dashboard: Instant
report.htmlrun report with hero KPIs, sample record inspection JSON, and structured preview tables.
✨ Features
- ⚡ Live In-Play Odds: Extract active matches in progress with live running scores, game minute, and current betting lines.
- 📅 Pre-Match Leagues & Fixtures: Pre-match fixtures and available market prices for the selected sport.
- 🔍 Deep Event Detail & Props: Use a current fixture ID and the same sport to retrieve its available market lines.
- 🏆 Live sports directory: List the sport categories with active live events.
- 📊 Comprehensive Market Unrolling: Asian lines, European 3-way handicaps, over/under goal lines, and both teams to score.
- 🛡️ Result billing: Failed queries and rejected odds lines incur no result charge. The platform run-start charge is separate.
- 📤 Instant Multi-Format Export: Download datasets directly as JSON, CSV, or Excel for spreadsheets, Pandas, or database ingestion.
🎬 Quick Start
Pick an operation, pick your sport, and run. Each run produces one clean dataset you can export to JSON, CSV or Excel. Start with Sports Directory to see active in-play sports, then pull Live In-Play Odds.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~bet365-live-odds-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"operation": "inplay", "sport": "soccer", "oddsFormat": "decimal"}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose an operation
- Live In-Play Odds (
inplay): Real-time odds, scores, and match minute for live games in progress. - Pre-Match Odds (
prematch): Upcoming tournament fixtures and opening/closing lines. - Event Detail (
event_detail): All market groups and props for a specific Bet365 match ID. - Sports Directory (
sports): Discover which sports have live events running right now.
Step 2: Set your sport and odds format
Select your sport (soccer, basketball, tennis, baseball, ice_hockey, table_tennis, esports, etc.) and choose Decimal or American odds format.
Step 3: Run and collect
Start the run and export the dataset in CSV, JSON, or Excel straight from the Apify Console.
A successful run returns:
- Live in-play odds lines with the exact handicap/spread attached
- Running scores and game minute timestamps
- A clean, joinable dataset keyed by Bet365 event ID
📥 Input Configuration
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
operation | string | Yes | inplay | inplay (Live Odds), prematch (Upcoming), sports (Directory), or event_detail (Match Props) |
sport | string | No | soccer | soccer, basketball, tennis, baseball, american_football, ice_hockey, volleyball, table_tennis, rugby_union, rugby_league, handball, esports, horse_racing, or all |
eventId | string | No | "" | Specific match fixture ID (required when operation is event_detail) |
oddsFormat | string | No | decimal | decimal (e.g. 1.95) or american (e.g. -105, +240) |
Example — Live In-Play Soccer Odds:
{"operation": "inplay","sport": "soccer","oddsFormat": "decimal"}
Example — Upcoming Pre-Match Basketball Fixtures:
{"operation": "prematch","sport": "basketball","oddsFormat": "american"}
Example — Event Detail & Props:
{"operation": "event_detail","sport": "soccer","eventId": "149821034"}
📤 Output
Results are saved to the Apify dataset as flat, curated rows. Live In-Play Odds emits one row per match × market × outcome:
| Field | Type | Description |
|---|---|---|
status | string | success or error |
_operation | string | Operation that generated the row (inplay, prematch, sports, event_detail) |
sport | string | Sport category (e.g. Soccer, Basketball) |
league | string | Competition name (e.g. UEFA Champions League, NBA) |
eventId | string | Unique Bet365 event fixture identifier |
homeTeam | string | Home team / player name |
awayTeam | string | Away team / player name |
matchTime | string | Current in-play match minute or scheduled kickoff time |
currentScore | string | Running score (e.g. 1 - 1) |
marketName | string | Market type (e.g. Fulltime Result, Asian Handicap, Match Goals) |
selection | string | Outcome choice (e.g. Real Madrid, Over 2.5, Draw) |
odds | string | Current price in requested format (2.10 or +110) |
handicap | string | Spread or goal line if applicable (e.g. -0.5, 2.5) |
isInPlay | boolean | true for live games, false for pre-match |
capturedAt | string | ISO-8601 UTC timestamp of price capture |
Example row (JSON):
{"_operation": "inplay","_fetchedAt": "2026-08-16T14:30:00.123Z","status": "success","sport": "Soccer","league": "UEFA Champions League","eventId": "149821034","homeTeam": "Real Madrid","awayTeam": "Bayern Munich","matchTime": "68'","currentScore": "1 - 1","marketName": "Fulltime Result","selection": "Real Madrid","odds": "2.10","handicap": null,"isInPlay": true,"capturedAt": "2026-08-16T14:30:00.123Z"}
💼 Use Cases & Workflows
1. Live In-Play Arbitrage & Line Shopping
Compare live Bet365 in-play prices with Pinnacle, Betfair Exchange, and FanDuel. Feed odds into automated alert bots when market discrepancies appear.
2. Predictive Model Backtesting & CLV Tracking
Save repeated runs to compare prices over time. Each row includes an ISO timestamp; the actor does not provide historical odds on demand.
3. Automated Sports Trading & In-Game Hedging
Track game momentum, score changes, and shifting spread/total lines to trigger hedge positions across sportsbooks.
4. Sports Media, Scores & Betting Widgets
Integrate clean JSON endpoints into live dashboards, match analysis portals, and mobile sports applications.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/bet365-live-odds-scraper').call({operation: 'inplay',sport: 'soccer',oddsFormat: 'decimal'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/bet365-live-odds-scraper').call(run_input={'operation': 'inplay','sport': 'soccer','oddsFormat': 'decimal'})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~bet365-live-odds-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "inplay", "sport": "soccer", "oddsFormat": "decimal"}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule (e.g. every 2 minutes during game day)
- HTTP Request: Call the actor API
- Process: Handle the JSON in-play rows
- Action: Push to database, trigger telegram alerts, or log to spreadsheet
📊 Performance & Pricing
FREE Tier (Try It Now)
- 50 rows per run — full feature access to live in-play and pre-match markets
- Perfect for testing a sport, market or integration
PAID Tier (Production Ready)
- Unlimited rows per run
- Structured rows for the selected sport and operation
- Result charges apply to valid lines returned; the platform run-start charge is separate
Check the current per-event prices and account-tier discounts before starting a run. Empty or failed queries incur no result charge, but the platform run-start charge can still apply.
❓ Frequently Asked Questions
Q: Which sports are available for live in-play scraping?
A: Soccer, basketball, tennis, baseball, ice hockey, volleyball, table tennis, rugby union, rugby league, handball, horse racing, and esports.
Q: Are odds available in American or Decimal format?
A: Both formats are natively supported. Set oddsFormat to decimal or american.
Q: Can I scrape lines for a specific match?
A: Yes! Use operation: "event_detail", specify the sport, and supply the eventId.
Q: Do I need a Bet365 account or residential proxies?
A: No. Start the actor with your selected operation and sport. You do not need a Bet365 account or proxy configuration.
Q: What output formats are available?
A: JSON, CSV, and Excel — export directly from the Apify dataset.
Q: How often do live odds update?
A: Lines reflect live prices in real time; each row carries a capturedAt timestamp.
🐛 Troubleshooting
No rows returned
- The selected sport may currently have no live in-play games — run
operation: "sports"to see active live sports. - Check if the sport is in off-season.
- Suspended prices, unnamed selections, and selections belonging to a different match are excluded from billable odds lines.
Fewer rows than expected
- On the FREE tier output is capped at 50 rows — upgrade for unlimited dataset rows.
⚠️ Responsible Use
This tool returns sports betting odds for data, research and informational purposes only. It is not betting advice and does not facilitate the placement of bets. Sports betting may be restricted or illegal in your jurisdiction — you are responsible for complying with all applicable laws. You must be of legal gambling age (18+, or 21+ where required). If you or someone you know has a gambling problem, help is available: call 1-800-GAMBLER (US) or contact your local support service.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what has been chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
You can also read Apify's blog post on the legality of web scraping.
⚠️ Trademark Disclaimer
Bet365™ is a registered trademark of Hillside (New Media) Ltd. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Hillside (New Media) Ltd or Bet365. It accesses publicly available sports data for informational purposes. All product names, logos, and brands are property of their respective owners and are used for identification purposes only.
🤝 Support
Join our active support community
- For issues or questions, open a support issue.
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools