How to Use the IA Command Line
The ia tool is the Internet Archive's official command-line client. It does everything the website does — search, download, upload, manage metadata — and a lot more besides, with the speed advantage that matters when you are pulling more than a handful of files.
Install
Install with pip install internetarchive — you will need Python 3.7 or newer. On macOS, use pip3 if your default pip points to Python 2.
Configure (optional)
Run ia configure to set up your archive.org email and password. This is required for uploads and access to your own borrowed items, but not required for public downloads.
Download an item
Run ia download IDENTIFIER to pull every file into a folder named after the identifier. Useful flags include --source=original to skip derived files, --format="PDF" to pick a specific format, and **--glob="*.mp3"** for filename patterns.
Search the catalog
Run ia search with a query string to find matching identifiers — for example, ia search "subject:jazz date:1958". Pipe the results into ia download using the --itemlist flag and xargs to fetch everything that matches.
Get item metadata
Run ia metadata IDENTIFIER to get the full JSON metadata blob. Pipe the output to jq for filtering when scripting.
Upload an item (requires configure)
Run ia upload IDENTIFIER followed by your files and --metadata flags for title, creator, and other fields. The full reference lives at archive.org/developers/internetarchive.
The command is well-built — sensible defaults, real error messages, useful --help on every subcommand.
The ia CLI is ideal for downloading and managing files, but finding the right items to download is often the harder problem. Arkibber gives you a modern search and filtering interface to discover items across the Internet Archive's catalog, so you can identify what you need and then use the CLI to grab it efficiently.