Simple CLI tool for scraping LoL ranked leaderboard data from OP.GG. Created because I kept wanting to track the best player's for certain champions, and couldn't find an easy way to do so.
NOTE: If op.gg changes their webpage structure in the future, this program will not work
- Working as of 1/22/2026
- Multi-threaded Scraping, Concurrent HTTP Requests w/ thread pooling
- Progress Bar Tracking
- Flexible CLI, many arguments/options
- Standalone Executable
- Python 3.7+
- pip (Python package manager)
- Clone the repository:
git clone git@github.com:TonyCifer/lol-leaderboard-scraper.git
cd lol-leaderboard-scraper- Install dependencies:
pip install -r requirements.txt- Run the scraper:
python app.py [flags]
# or, via executable
./scraper.exe [flags]
# e.g.
# open tabs of player's in the top 20 pages of the leaderboards that
# mainly play Lee Sin in NA, with a winrate >= 60%
./scraper.exe -r na -c "Lee Sin" -wr 60 -p 20 -o| Argument | Short | Description | Default |
|---|---|---|---|
--region |
-r |
Server region (euw, na, kr, etc.) | euw |
--champion |
-c |
Filter by most-played champion | None |
--pages |
-p |
Number of pages to scrape | 100 |
--min-wr |
-wr |
Minimum winrate percentage | 55 |
--max-level |
-lvl |
Maximum account level | 5000 |
--open-tabs |
-o |
Open matching profiles in browser | False |
--start-page |
Starting page number | 1 |
|
--browser |
-b |
Custom browser executable path | Chrome default |
--workers |
-w |
Number of concurrent workers/threads | 5 |
This project is open source and available for educational purposes.
This tool is for educational purposes only. Please respect OP.GG's terms of service and rate limits. Use responsibly.
