internetarchive-rs
internetarchive-rs is an async Rust client for working with Internet Archive items. It supports public metadata reads, advanced search, authenticated uploads and deletes, metadata updates, public downloads, and higher-level create or upsert workflows.
InternetArchiveClient is the main entrypoint. Use SearchQuery for advanced search, ItemMetadata and UploadSpec to describe uploads, and PatchOperation with MetadataTarget for exact low-level metadata writes. If you want higher-level item creation or updates, use InternetArchiveClient::publish_item and InternetArchiveClient::upsert_item.
Read Example
use ;
Search Example
use ;
Publish Example
use ;
Low-Level Metadata Patch Example
use ;
Authentication
InternetArchiveClient::new() is enough for public metadata reads, searches, and downloads.
Authenticated write helpers use LOW auth credentials and read these standard environment variables:
INTERNET_ARCHIVE_ACCESS_KEY and INTERNET_ARCHIVE_SECRET_KEY. You can create S3 credentials from the official Internet Archive API key page at https://archive.org/account/s3.php.
Operational Notes
Internet Archive's own upload-limit guidance is inconsistent, so the safest choice is to plan conservatively. The official Uploading - Troubleshooting page, updated on August 2, 2021, says a single file should stay around 500 to 700 GB, recommends keeping an item under 10,000 files and 1 TB total, and notes that the API can technically accept up to 250,000 files. The official Uploading - Tips page, updated on August 25, 2021, instead says there is no hard size or file-count limit, but still recommends staying under 50 GB and 1,000 files per single page. For automated ingest, it is better to treat these pages as operational guidance than as a strict contract.
Visibility is eventually consistent rather than immediate. The official Uploading - A Basic Guide says item creation and follow-on tasks can take seconds, hours, or days depending on the amount and type of uploaded data, and the official Problems or errors and Uploading - Troubleshooting pages mention queued, running, paused, or failed tasks, 503-slowdown-spam responses, temporary read-only item servers, and cases where users are told to wait up to 24 hours before assuming an upload is missing.
On retention, the official Archive.org Information page says uploads are duplicated or backed up at various locations and that the Archive's intention is to store materials in perpetuity. That is a strong preservation statement, but it is not presented as a formal durability or uptime SLA. The official sources linked above do not publish an uptime guarantee; the closest operational reference they provide is archive.org/stats, which is mentioned by the Help Center's Internet Archive Statistics page.