internetarchive
A Python interface to archive.org.
What it is and what it does
internetarchive is a Python library and command-line tool that provides access to Archive.org's digital collections. It allows developers to programmatically search for items, retrieve metadata, and download files from the Internet Archive, as well as interact with the service via the `ia` command-line tool. The package wraps Archive.org's APIs and handles the HTTP communication through requests and urllib3, with jsonpatch for metadata manipulation and tqdm for progress reporting during downloads.
The library is production-stable and actively maintained, with support for modern Python versions (3.10+). It is commonly installed via pipx for command-line use or pip for library integration. The package has a long release history since 2013 and maintains a healthy repository with recent commits, making it a reliable choice for Archive.org integration.
Use it for:
- Download archived web pages, books, or media collections from Archive.org in bulk for research or preservation
- Build scripts that query Archive.org metadata to find and retrieve specific items programmatically
- Integrate Archive.org search and retrieval into Python applications without writing raw HTTP requests
- Use the `ia` command-line tool for one-off downloads or administrative tasks from the shell
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Programmatic and command-line interface to search, browse, and download content from Archive.org's digital collections.
Yes, with a critical caveat: upgrade to v5.4.2+ immediately if you use File.download(), as versions <=5.4.1 contain a directory traversal vulnerability. The package is actively maintained, has low install friction, and is the standard way to access Archive.org programmatically. AGPL-3.0 licensing requires review if you plan proprietary use.
Install
internetarchive on PyPI
pip
pip install internetarchiveuv
uv add internetarchivepoetry
poetry add internetarchiveInstalling internetarchive
Before you install
Low install friction with four lightweight runtime dependencies. Active maintenance: last release 23 days ago, repository last commit 2026-07-24, and 1897 stars indicate ongoing support. Requires Python >=3.10.
License in practice
Licensed under AGPL-3.0, which requires derivative works and modifications to be distributed under the same license. Suitable for open-source projects but may restrict commercial or proprietary use without careful licensing review.
Quickstart
pip install internetarchive
from internetarchive import get_item
item = get_item('example_item')
item.download()
Requires Python >=3.10. Versions <=5.4.1 contain a critical directory traversal vulnerability in File.download(); upgrade to v5.4.2+ immediately.
Verify before relying
- Specific Archive.org API endpoints and rate limits supported by this version
- Whether authentication (Archive.org credentials) is required for all operations or only some
- Performance characteristics for bulk downloads or large collections
Package facts
| License | AGPL-3.0 (agpl) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — jsonpatch, requests, tqdm, urllib3 |
| Maintenance | actively maintained — 23 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 320,706/month — #7,634 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: internetarchive-5.11.0-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
savepagenowWrapper and CLI tool to submit URLs to…
permissive · top 15,000 on PyPI
waybackpyWaybackpy provides Python and CLI access to the…
permissive · top 5,000 on PyPI
warc3-wetRead and iterate over WARC (Web ARChive) and…
copyleft · top 15,000 on PyPI
openbb-cryptoProvides cryptocurrency data retrieval commands…
agpl · top 15,000 on PyPI
rpmfileInspect and extract files from RPM archive…
permissive · top 5,000 on PyPI
aws-sso-utilaws-sso-util provides command-line utilities…
permissive · top 15,000 on PyPI
warc3-wet-clueweb09Reads and iterates over WARC and WET archive…
copyleft · top 15,000 on PyPI
pipxpipx installs and runs Python command-line…
permissive · top 5,000 on PyPI
yt-dlpyt-dlp downloads audio and video from thousands…
permissive · top 5,000 on PyPI
tarsafeTarsafe wraps Python's tarfile module to…
permissive · top 15,000 on PyPI