Automated daily generation of popular IMDb TV shows (Sonarr) and movies (Radarr) as JSON import lists.
This repository automatically generates and updates JSON lists of popular content from IMDb:
| Content Type | Output Files | Use With |
|---|---|---|
| πΊ TV Shows | top_tvshows_5.json, top_tvshows_10.json, top_tvshows_25.json |
Sonarr |
| π₯ Movies | top_movies_5.json, top_movies_10.json, top_movies_25.json |
Radarr |
Key Features:
- π Daily automation - GitHub Actions updates lists every day at 03:00 UTC
- π¬ Bollywood excluded - Movies list automatically filters Indian cinema
- π TVDB resolution - TV shows include TVDB IDs for Sonarr compatibility
- π Playwright-powered - Bypasses IMDb's anti-bot protection
- π¦ Zero maintenance - Works automatically once set up
[
{"title": "One Piece", "tvdbId": 392276},
{"title": "The Pitt", "tvdbId": 448176},
{"title": "Invincible", "tvdbId": 368207}
][
{"title": "Project Hail Mary", "imdbId": "tt12042730"},
{"title": "The Super Mario Galaxy Movie", "imdbId": "tt28650488"}
]- Open Sonarr β Settings β Import Lists
- Click + β Custom
- Set:
- List Name:
IMDb Top TV Shows - List URL:
https://raw.githubusercontent.com/FelixClements/imdb-top-lists/main/top_tvshows_25.json
- List Name:
- Save and enable
- Open Radarr β Settings β Import Lists
- Click + β Custom
- Set:
- List Name:
IMDb Top Movies - List URL:
https://raw.githubusercontent.com/FelixClements/imdb-top-lists/main/top_movies_25.json
- List Name:
- Save and enable
- Python 3.9+
- pip
# Clone the repository
git clone https://github.com/FelixClements/imdb-top-lists.git
cd imdb-top-lists
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromium --with-deps
# Run the scrapers
python generate_list.py # TV shows β top_tvshows_25.json
python generate_movies.py # Movies β top_movies_25.json# Generate top 50 TV shows
python generate_list.py -n 50 -o top_tvshows_50.json
# Generate top 100 movies
python generate_movies.py -n 100 -o top_movies_100.json| Parameter | Default | Description |
|---|---|---|
-n, --number |
25 | Number of titles to fetch |
-o, --output |
top_tvshows_25.json / top_movies_25.json |
Output filename |
--user-agent |
Chrome 140 | Custom User-Agent header |
Movie list automatically excludes Indian cinema using IMDb URL parameters:
countries=!in- Excludes India as country of originlanguages=!hi- Excludes Hindi language films
This ensures a Western/international focus while respecting that Bollywood content has dedicated platforms.
The workflow runs automatically every day at 03:00 UTC:
Jobs:
1. Checkout repository
2. Setup Python 3.11
3. Install dependencies
4. Install Playwright browsers
5. Generate TV show lists (5, 10, 25)
6. Generate movie lists (5, 10, 25)
7. Commit changes (if any)Manual trigger: Go to Actions β Update IMDb Lists β Run workflow
βββββββββββββββββββ
β GitHub Actions β
β (Daily 03:00) β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Playwright β βββ Bypasses WAF protection
β Chromium Browserβ
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β IMDb Scraper β βββ Scrapes popular TV/movies
ββββββββββ¬βββββββββ
β
ββββΊ TV Shows βββΊ TVMaze API βββΊ TVDB ID
β
ββββΊ Movies (Bollywood filtered)
β
βΌ
JSON Files (committed to repo)
β
βΌ
Sonarr / Radarr import
| File | Content | Source |
|---|---|---|
top_tvshows_5.json |
Top 5 TV shows | IMDb Popular TV |
top_tvshows_10.json |
Top 10 TV shows | IMDb Popular TV |
top_tvshows_25.json |
Top 25 TV shows | IMDb Popular TV |
top_movies_5.json |
Top 5 movies | IMDb Popular Movies |
top_movies_10.json |
Top 10 movies | IMDb Popular Movies |
top_movies_25.json |
Top 25 movies | IMDb Popular Movies |
# Reinstall Playwright browsers
playwright install chromium --with-depsThe scraper includes retry logic (3 attempts) and increased timeouts for reliability. If issues persist:
- Check internet connection
- Verify IMDb URL is accessible
- Check GitHub Actions logs for details
Contributions welcome! Feel free to:
- Report bugs via Issues
- Suggest features
- Submit pull requests
MIT License - see LICENSE for details.
- Breaking: Renamed output files to
top_tvshows_X.jsonandtop_movies_X.json - Added movie scraper for Radarr with Bollywood exclusion
- Fixed WAF blocking by switching to Playwright browser automation
- Improved timeouts for GitHub Actions reliability
- Added detailed logging for debugging
- Initial release: TV show scraper for Sonarr