2.8.3 • Published 6 months ago

odds-portal-scraper v2.8.3

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

Odds Portal Scraper CLI

A command line tool for scraping soccer odds data from Odds Portal. The tool supports both historical odds data and upcoming matches across multiple leagues and formats.

Features

  • Scrape historical odds data for specified date ranges
  • Get odds for upcoming matches
  • Support for multiple leagues and odds formats
  • Export data to local files or S3 buckets
  • Built with Puppeteer for reliable scraping
  • Configurable logging and error handling

Installation

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • AWS CLI configured (for S3 exports)

Install via npm

npm install -g odds-portal-scraper

Install via yarn

yarn global add odds-portal-scraper

Usage

Commands Overview

odds-portal [command] [options]

Available Commands

CommandDescription
historicScrape historical odds data
next-matchesScrape odds for upcoming matches
soccer-leaguesList available leagues
odds-formatList supported odds formats

Command Details

Historic Odds

Scrape historical odds data for a specified league and date range.

odds-portal historic <leagueName> <startYear> <endYear> [options]

Parameters:

  • leagueName: Name of the league (use soccer-leagues command to see available options)
  • startYear: Starting year for historical data (e.g., 2020)
  • endYear: Ending year for historical data (e.g., 2023)

Options:

OptionDescription
--odds-formatOdds format (default: EU)
--localLocal directory to save JSON files
--s3S3 bucket name to upload data

Example:

odds-portal historic premier-league 2020 2023 --local ./data --odds-format eu

next-matches

Scrape odds for upcoming matches in a specified league.

Scrape next matches odds data for a given soccer league.

Parameters:

  • leagueName: Name of the league (use soccer-leagues command to see available options)

Options:

OptionDescription
--odds-formatOdds format (default: EU)
--localLocal directory to save JSON files
--s3S3 bucket name to upload data

odds-portal next-matches premier-league --local ./data --odds-format eu

This will scrape next matches odds data for the English Premier League.

Soccer Leagues

List all available leagues for scraping.

odds-portal soccer-leagues

Odds Formats

List all supported odds formats.

odds-portal odds-format

Configuration

Environment Variables

VariableDescription
ODDS_PORTAL_PROXY_URLProxy URL for scraping
AWS_ACCESS_KEY_IDAWS access key for S3 exports
AWS_SECRET_ACCESS_KEYAWS secret key for S3 exports

Data Structure

Scraped data is saved in JSON format with the following structure:

{
  "scrapedAt": "2023-10-15 14:30:00",
  "day": "Sunday",
  "date": "2023-10-15",
  "time": "14:00",
  "homeTeam": "Manchester United",
  "awayTeam": "Liverpool",
  "mlFirstHalf": [
    {
      "bookMakerName": "Bet365",
      "hw": "2.10",
      "d": "3.25",
      "aw": "3.50"
    }
  ],
  "mlSecondHalf": [...],
  "mlFullTime": [...],
  "leagueName": "premier-league",
  "underOver25": [
    {
      "bookmakerName": "Bet365",
      "oddsOver": "1.80",
      "oddsUnder": "2.00"
    }
  ],
  "underOver15": [...],
  "underOver35": [...]
}

Error Handling

The tool includes comprehensive error handling with the following features:

  • Automatic retries for failed requests
  • Detailed error logging
  • Graceful shutdown on critical errors
  • Validation of input parameters

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin feature/your-feature)
  5. Create a new Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support or feature requests, please open an issue on the GitHub repository.

2.8.1

6 months ago

2.8.0

6 months ago

2.8.3

6 months ago

2.8.2

6 months ago

2.7.1

9 months ago

2.7.0

10 months ago

2.6.2

11 months ago

2.6.1

11 months ago

2.6.0

11 months ago

2.5.1

11 months ago

2.5.0

1 year ago

2.4.1

1 year ago

2.4.2

1 year ago

2.4.0

1 year ago

2.3.5

1 year ago

2.3.4

1 year ago

2.3.3

1 year ago

2.3.2

2 years ago

1.0.3

2 years ago

2.3.0

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.3.1

2 years ago

2.2.2

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago