Bulk download games from itch.io with ease
TypeScript implementation for modern Node.js environments
🚀 Quick Start • 📖 Documentation • 💾 Installation • 🎯 Examples • 🐛 Troubleshooting
- 🏆 Game Jams - All submissions from any itch.io game jam
- 🔥 Browse Pages - Popular games, newest releases, or games by specific tags
- 📂 Collections - Your personal collections or any public collection
- 📚 Your Library - Everything you own from your purchases
- 👨💻 Creator Pages - Complete catalogues from specific developers
- 🎮 Individual Games - Single games or specific titles
- ⚡ Parallel Downloads - Speed up bulk downloads with concurrent processing
- 🎯 Smart Filtering - Filter by platform, file type, or custom patterns
- 📋 Multiple Input Formats - URLs, JSON files, or plain text lists
- 🔄 Resume Support - Skip already downloaded games automatically
- 🌐 Web Mirroring - Optionally download game page assets
- ⚙️ Configuration Profiles - Save settings for different use cases
npm install -g itch-dlVisit itch.io API Keys and generate a new key
# Download a game jam
itch-dl https://itch.io/jam/gmtk-2023 --api-key YOUR_API_KEY
# Download your entire library
itch-dl https://itch.io/my-purchases --api-key YOUR_API_KEY💡 Tip: Save your API key in a config file to avoid typing it every time!
- Node.js 18+ - Download here
- npm (comes with Node.js)
- itch.io account with API key
npm install -g itch-dlgit clone https://github.com/Wal33D/itch-dl.git
cd itch-dl
npm install && npm run build📚 Need help? Check the Installation Guide for detailed instructions.
# Individual games (tested working examples)
itch-dl https://baraklava.itch.io/manic-miners --api-key YOUR_KEY
itch-dl https://ncase.itch.io/anxiety --api-key YOUR_KEY
itch-dl https://bunmuen.itch.io/shiftatmidnight --api-key YOUR_KEY
# Game jam with all submissions
itch-dl https://itch.io/jam/gmtk-2023 --api-key YOUR_KEY
# Your entire game library
itch-dl https://itch.io/my-purchases --api-key YOUR_KEY
# Specific creator's games
itch-dl https://ncase.itch.io --api-key YOUR_KEY
itch-dl https://bunmuen.itch.io --api-key YOUR_KEY
# Public collection (real example)
itch-dl https://itch.io/c/215689/public-collection --api-key YOUR_KEY# Only Windows games
itch-dl https://itch.io/jam/gmtk-2023 --filter-files-platform windows --api-key YOUR_KEY
# Only ZIP files
itch-dl https://itch.io/jam/brackeys-12 --filter-files-glob "*.zip" --api-key YOUR_KEY
# Multiple platforms
itch-dl https://itch.io/my-purchases --filter-files-platform windows mac linux --api-key YOUR_KEY# Fast parallel downloads (3 threads)
itch-dl https://itch.io/jam/gmtk-2023 --parallel 3 --api-key YOUR_KEY
# Just list URLs without downloading
itch-dl https://itch.io/jam/brackeys-12 --urls-only --api-key YOUR_KEY
# Download to specific directory
itch-dl https://itch.io/my-purchases --download-to "/games/itch" --api-key YOUR_KEY
# Mirror web assets (images, etc.)
itch-dl https://some-game.itch.io/game --mirror-web --api-key YOUR_KEY# Use a specific profile
itch-dl https://itch.io/jam/gmtk-2023 --profile windows-only
# See all options
itch-dl --help- Get your API key from itch.io API Keys
- Pass it with
--api-key YOUR_KEYor setITCH_API_KEYenvironment variable
- This was resolved in version 0.6.4
- Update to the latest version:
npm update -g itch-dl
- This is normal if you haven't purchased any games on itch.io
- Free games need to be downloaded individually by URL
- Ensure the collection is public
- Private collections require you to be the owner or have access
- Use
--parallel 1to reduce concurrent requests - Check your internet connection and try again
If you encounter issues:
- Check the GitHub Issues
- Review the wiki documentation
- Create a new issue with details about your problem
We need community help! We've tested extensively with free games, but need testers who have:
- 💰 Purchased games on itch.io to test paid game downloads
- 📦 Bundle access to test bundle functionality (currently unsupported)
- 🔐 Access-restricted games to verify behavior
See our Testing Request Discussion or check the Tested Games wiki for details!
| 📖 Guide | Description |
|---|---|
| Usage Guide | Complete command-line reference with examples |
| API Keys | How to get and securely use your itch.io API key |
| Configuration | Config files, profiles, and environment variables |
| Installation | Detailed installation instructions and troubleshooting |
| Tested Games | List of games and URLs verified to work with itch-dl |
| Troubleshooting | Common issues and their solutions |
- Downloads games you legitimately own or have access to
- Respects itch.io's terms of service and rate limits
- Provides the same access as the official itch.io app
- Requires an API key for all operations - even fetching public game information
- Download paid games for free (you must own them)
- Bypass access restrictions or DRM
- Download from bundles directly (workaround available)
git clone https://github.com/Wal33D/itch-dl.git
cd itch-dl
npm install
# Development commands
npm run build # Compile TypeScript
npm test # Run test suite
npm run clean # Clean build artifactsnpm run build
node build/src/index.js --helpWe welcome contributions! Here's how to get started:
- 🍴 Fork the repository
- 🌿 Create a feature branch:
git checkout -b feature/amazing-feature - 💻 Make your changes
- ✅ Test your changes:
npm test - 📝 Commit your changes:
git commit -m 'Add amazing feature' - 🚀 Push to your branch:
git push origin feature/amazing-feature - 🔄 Open a Pull Request
- Follow existing code style and conventions
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
This project is licensed under the MIT License - see the LICENSE file for details.
- Author: Wal33D
- Contributors: See all contributors
- Inspired by: The original Python implementation concept
Made with ❤️ for the itch.io community
Pre-commit hooks enabled for code quality assurance
If this tool helped you, consider ⭐ starring the repository!