A web scraper that collects historical MLB betting odds from SportsBookReview
Project description
SBR Odds Scraper
A web scraper that collects historical MLB betting odds from SportsBookReview.
Based on Arnav Saraogi's mlb-odds-scraper.
Installation
pip install sbr-odds-scraper
Python API
import sbr_odds_scraper as sbr
# Single day - returns pandas DataFrame
df = sbr.scrape("2024-10-01")
# Date range
df = sbr.scrape("2024-10-01", "2024-10-05")
# Specific odds types (moneyline, pointspread, totals)
df = sbr.scrape("2024-10-01", odds_types=["moneyline"])
# Specific sportsbooks
df = sbr.scrape("2024-10-01", sportsbooks=["fanduel", "draftkings"])
# Combine filters
df = sbr.scrape("2024-10-01", odds_types=["moneyline"], sportsbooks=["fanduel"])
# Faster scraping (may trigger rate limits)
df = sbr.scrape("2024-10-01", fast=True)
# Raw dict instead of DataFrame
data = sbr.scrape_raw("2024-10-01")
DataFrame Columns
| Column | Description |
|---|---|
date |
Game date |
start_time |
Game start time (ISO format) |
away_team, home_team |
Team full names |
away_score, home_score |
Final scores |
venue |
Stadium name |
game_type |
R=Regular, F=Wild Card, D=Division, L=League, W=World Series |
sportsbook |
Sportsbook name (fanduel, draftkings, betmgm, etc.) |
odds_type |
moneyline, pointspread, or totals |
opening_*, current_* |
Opening and current line values |
CLI Usage
sbr-odds-scraper 2024-10-01 2024-10-05 -t moneyline pointspread -o odds.json
| Flag | Description |
|---|---|
-t, --types |
Odds types: moneyline, pointspread, totals (default: moneyline) |
-c, --concurrent |
Concurrent requests (default: 5) |
-f, --fast |
Faster scraping (reduced delays) |
-o, --output |
Output filename (default: mlb_odds.json) |
JSON Structure
The raw data is organized by date. Each date contains a list of games with sportsbook odds:
{
"2021-04-01": [
{
"gameView": {
"startDate": "2021-04-01T17:05:00+00:00",
"awayTeam": {
"fullName": "Toronto Blue Jays",
"shortName": "TOR"
},
"awayTeamScore": 3,
"homeTeam": {
"fullName": "New York Yankees",
"shortName": "NYY"
},
"homeTeamScore": 2,
"gameStatusText": "Final (10)",
"venueName": "Yankee Stadium",
"gameType": "R"
},
"odds": {
"moneyline": [
{
"sportsbook": "fanduel",
"openingLine": { "homeOdds": -188, "awayOdds": 155 },
"currentLine": { "homeOdds": -200, "awayOdds": 168 }
},
{
"sportsbook": "draftkings",
"openingLine": { "homeOdds": -175, "awayOdds": 148 },
"currentLine": { "homeOdds": -195, "awayOdds": 165 }
}
],
"pointspread": [
{
"sportsbook": "fanduel",
"openingLine": { "homeOdds": 122, "awayOdds": -144, "homeSpread": -1.5, "awaySpread": 1.5 },
"currentLine": { "homeOdds": 100, "awayOdds": -120, "homeSpread": -1.5, "awaySpread": 1.5 }
}
],
"totals": [
{
"sportsbook": "fanduel",
"openingLine": { "overOdds": -106, "underOdds": -114, "total": 8 },
"currentLine": { "overOdds": -122, "underOdds": 100, "total": 7.5 }
}
]
}
}
]
}
Notes
- Historical data available from ~2019-05-03 onwards
- Use
fast=True/-fsparingly to avoid rate limiting - Game types: R=Regular, S=Spring, E=Exhibition, A=All-Star, D=Division, F=Wild Card, L=League Championship, W=World Series
Credits
Original scraper by Arnav Saraogi.
Disclaimer
For educational purposes only. Review SportsBookReview's Terms of Service before use.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sbr_odds_scraper-0.1.3.tar.gz.
File metadata
- Download URL: sbr_odds_scraper-0.1.3.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bc7154aca3d256318fee31c3e2c499616001453ab750361b607b9494ece51b1
|
|
| MD5 |
fadbe26e59957e547d1c9327295cb12a
|
|
| BLAKE2b-256 |
07fd4c9f6458625f90043a049ddfdf6585e9cacc5a88b915e37063fa9e2a902f
|
File details
Details for the file sbr_odds_scraper-0.1.3-py3-none-any.whl.
File metadata
- Download URL: sbr_odds_scraper-0.1.3-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3685fba8617867ebbc8d3ad9d2c84d23ee1d2e8cdb4d0511463e330846528c0a
|
|
| MD5 |
55a24897da0ccfe1d232357fe04f1906
|
|
| BLAKE2b-256 |
7cecafae28291616fbfa50808de1dfa86e7f0557027679468a1286f06548e7e9
|