A powerful CLI tool to automate browser interactions, intercept stream URLs, and download media from streaming mirror sites using yt-dlp and ffmpeg.
- This project does not use the official Netflix API.
- The implementation targets streaming mirror sites (e.g.,
net22.cc,net51.cc) via browser automation. - Disclaimer: You are solely responsible for complying with local laws, platform Terms of Service, and copyright rules. Usage may violate applicable legislation depending on your jurisdiction.
You must have ffmpeg and Google Chrome installed on your system.
- FFmpeg: Required to merge video and audio streams seamlessly.
- Google Chrome: Required for the browser automation engine.(Any other browser can be used too but you have to pass its flags as an argument) - see CLI flags
- Ubuntu/Debian:
sudo apt install ffmpeg - macOS (Homebrew):
brew install ffmpeg - Windows: Download FFmpeg and add it to your system PATH.
The fastest way to get started:
pip install netflix-scrapperIf you want to run the latest code from source:
git clone https://github.com/AliHaSSan-13/Netflix-scrapper
cd Netflix-scrapper
pip install .After installation, you can launch the app directly from your terminal by simply typing:
netflix-scrapperZero-Touch Onboarding: On the very first run, the tool automatically detects if
yt-dlpor browser binaries are missing and offers to install them for you.
✅ Ready to Go: The
cookies.jsonfile is included when you install the package viapip! The tool uses a default set of cookies out-of-the-box. NOTE: The cookies are for firefox browser only.
If the default cookies ever expire or stop working, you can update them using your own active session:
- Navigate to the mirror site (e.g.,
https://net22.cc/home). - Sign in to your account.
- Use a browser extension (like Export Cookies or similar) to export your active session cookies as JSON.
- If you haven't run the tool yet, manually create the config directory:
mkdir -p ~/.netflix-scrapper/ - Save the exported JSON file precisely at
~/.netflix-scrapper/cookies.json(overwriting the default one).
- Interactive CLI: Simple question-and-answer workflow to select titles, languages, and episodes.
- Zero-Touch Onboarding: Automatic detection and installation of Chromium (default) and
yt-dlp. - Engine Selection: Toggle between
chromium,firefox, orwebkitvia flags. - Rich Progress Bars: Enhanced
tqdmbars with real-time download speed tracking. - Human Simulation: Organic mouse movements and delays to minimize bot detection.
- Smart Resume: Persisted run state allows resuming interrupted downloads.
# Example: Search and run with Firefox engine
netflix-scrapper --query "Breaking Bad" --browser firefox| Flag | Shortcut | Description |
|---|---|---|
--query |
-q |
Initial search string for title. |
--browser |
-b |
Browser engine (chromium, firefox, webkit). |
--headless |
Run without a visible browser window. | |
--output |
-o |
Default download directory path. |
--config |
-c |
Path to a custom config.yaml. |
Settings are stored in ~/.netflix-scrapper/config.yaml. You can customize selectors, timeouts, and network interception rules there.
ffmpegnot found: Ensureffmpegis in your systemPATH.- Browser launch failure: Run
playwright installor allow the tool to auto-install. - Verification Loop: If blocked, run with
--no-headlessto manually complete the verification if the simulator fails.
MIT License. See LICENSE for details.