SportsbettingAPI
API to webscrape sportsbetting odds from different platforms
Data
Scraping Data
{
exchange: "Betfair",
sport: "EPL",
games:
[
{
homeTeam: 'Fulham',
awayTeam: 'Chelsea',
startTime: 1663317818000,
link: 'https://www.betfair.com.au/exchange/plus/football/market/1.203643135',
outcomes:
{
home: 1.210,
draw: 1.400,
away: 8.211,
}
}
...
]
}
Games Data
This is what the data looks like after combining scraped data by games { "homeTeam": "Paris Saint-Germain", "awayTeam": "OGC Nice", "startTime": 1664650800000, "sport": "Ligue 1", "bookmakers": [ { "bookmaker": "Ladbrokes", "link": "https://www.ladbrokes.com.au/sports/soccer/france/french-ligue-1", "outcomes": { "home": 1.15, "draw": 8, "away": 19 } }, { "bookmaker": "BlueBet", "link": "https://www.bluebet.com.au/sports/Soccer/100/France/Ligue-1-Orange/Paris-Saint-Germain-v-OGC-Nice/1056121/All-Markets", "outcomes": { "home": 1.14, "draw": 7.5, "away": 15 } }, { "bookmaker": "Pointsbet", "link": "https://pointsbet.com.au/sports/soccer/French-Ligue-1/1331822", "outcomes": { "home": 1.15, "draw": 7.5, "away": 15 } }, ... ] },
Coverage
sport | BetDeluxe | Betfair | BlueBet | Ladbrokes | MidasBet | PalmerBet | PlayUp | Pointsbet | Sportsbet | Tab | Unibet |
---|---|---|---|---|---|---|---|---|---|---|---|
EPL | true | true | true | true | true | true | true | true | true | true | true |
Ligue 1 | true | true | true | true | true | true | true | true | true | true | true |
Packages
npm install express
npm install dotenv
npm install -D typescript @types/express @types/node
npm install -D concurrently nodemon
npm install dayjs
npm install puppeteer