Skip to main content

itch.io bulk game downloader

Project description

itch-dl

PyPI

Bulk download games from itch.io

[!WARNING] This tool does not let you download paid games for free. To download paid games, you must have them attached in your library.

How to use

  • Log into itch.io with the account you'd like to use for downloading.
  • Generate a new API key on your user account page.
  • Optional: Save the API key in the itch-dl configuration file.
  • Run the downloader: uvx itch-dl https://itch.io/jam/yourjamhere
    • Add --api-key <KEY> if you did not save the API key to the config file.
  • Wait. This is going to take a while.

More arguments are available - check them out with itch-dl --help.

The downloader is able to grab more or less everything you can download via the itch app.

The input URL can be one of the supported link formats listed above, a path to a itch.io JSON file with game jam entries, a list of itch.io game URLs (not browse/jam pages!) to download.

It's expected that the downloader output will not be complete - logs are stupidly verbose and it prints a report on failed downloads and external URLs (links to files that are not on itch.io itself, but rather on an external host like Google Drive, Dropbox, etc), so you must manually grab whatever was not handled for you automatically.

The downloader also grabs the entry page HTML, which usually comes with controls and such. By default, it does not download images, assets and so on, just the text - use --mirror-web to try and download these as well. This does not work very well yet, but gets the basics done.

Game Jam Entries JSON

Downloader can parse and download games from a game jam entries JSON file if you need it. (The script basically automates the steps below, so if it's not able to do the same, please create an issue!)

  • Go to your jam's page, ex. https://itch.io/jam/gbcompo21 and right-click -> View Source.
  • Ctrl-F for "id": - it should find that text once, followed by a number. Write it down.
  • (It you found it multiple times, grab the one after I.ViewJam something something.)
  • Download https://itch.io/jam/ID/entries.json (replacing ID with what you wrote down).
  • Feed that to itch-dl!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

itch_dl-0.7.1.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

itch_dl-0.7.1-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file itch_dl-0.7.1.tar.gz.

File metadata

  • Download URL: itch_dl-0.7.1.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for itch_dl-0.7.1.tar.gz
Algorithm Hash digest
SHA256 895a477900a07ad0fb33dd7a347e011e10dbe9154ee0603dcbad4d4aa82764bd
MD5 ee2304c3f49e7c899000756dc63d7cce
BLAKE2b-256 e79dc5fffc6c4edf11d3d657f8b95e3b4213b199c665022c6538143d3f090052

See more details on using hashes here.

File details

Details for the file itch_dl-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: itch_dl-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for itch_dl-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 95869ec66a5bf83b2a49fcf29dd1c143d063c4866e32674141b76c28ab5ffa2c
MD5 2165dcfb3da2ff75e38c567327b1b21d
BLAKE2b-256 b0800ef82ac8b5da1f324775bcf5dd1105974d7e740008eac6736d074ffde14b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page