2.8.3 • Published 10 months ago

odds-portal-scraper v2.8.3

Weekly downloads
-
License
ISC
Repository
github
Last release
10 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

10 months ago

2.8.0

10 months ago

2.8.3

10 months ago

2.8.2

10 months ago

2.7.1

1 year ago

2.7.0

1 year ago

2.6.2

1 year ago

2.6.1

1 year ago

2.6.0

1 year ago

2.5.1

1 year ago

2.5.0

2 years ago

2.4.1

2 years ago

2.4.2

2 years ago

2.4.0

2 years ago

2.3.5

2 years ago

2.3.4

2 years ago

2.3.3

2 years 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

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago