ArchiveBox Open-source self-hosted web archiving. ▶️ Quickstart | Demo | GitHub | Documentation | Info & Motivation | Community ArchiveBox is a self-hosted app that lets you preserve content from…
ArchiveBoxOpen-source self-hosted web archiving.
▶️ Quickstart | Demo | GitHub | Documentation | Info & Motivation | Community
ArchiveBox is a self-hosted app that lets you preserve content from websites in a variety of formats.
We aim to make your data immediately useful, and kept in formats that other programs can read directly. As output, we save standard HTML, PNG, PDF, TXT, JSON, WARC, SQLite, all guaranteed to be readable for decades to come. ArchiveBox also has a CLI, REST API, and webhooks so you can set up integrations with other services.
Without active preservation effort, everything on the internet eventually disappears or degrades.
*ArchiveBox is an open source tool that lets organizations & individuals archive both public & private web content while retaining control over their data. It can be used to save copies of bookmarks, preserve evidence for legal cases, backup photos from FB/Insta/Flickr or media from YT/Soundcloud/etc., save research papers, and more...*
> ➡️ Get ArchiveBox with uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev' on [Linux](#quickstart)/[macOS](#quickstart), or via [Docker](#quickstart) ⭐️ on any OS.
*Once installed, you can interact with it through the: Browser Extension, [CLI](#usage), self-hosted web interface, Python API, or [filesystem](#static-archive-exporting).*
📥 You can feed ArchiveBox URLs one at a time, or schedule regular imports from your bookmarks or history, social media feeds or RSS, link-saving services like Pocket/Pinboard, our Browser Extension, and more.
See Input Formats for a full list of supported input formats...
It saves snapshots of the URLs you feed it in several redundant formats.
It also detects any content featured *inside* pages & extracts it out into a folder:
- 🌐 HTML/Any websites ➡️
original HTML+CSS+JS,singlefile HTML,screenshot PNG,PDF,WARC,title,article text,favicon,headers, ... - 🎥 Social Media/News ➡️
post content TXT,comments,title,author,images, ... - 🎬 YouTube/SoundCloud/etc. ➡️
MP3/MP4s,subtitles,metadata,thumbnail, ... - 💾 Github/Gitlab/etc. links ➡️
clone of GIT source code,README,images, ... - ✨ *and more, see [Output Formats](#output-formats) below...*
You can run ArchiveBox as a Docker web app to manage these snapshots, or continue accessing the same collection using the
uv-installed CLI, Python API, and SQLite3 APIs.All the ways of using it are equivalent, and provide matching features like adding tags, scheduling regular crawls, viewing logs, and more...
🛠️ ArchiveBox uses [standard tools](#dependencies) like Chrome, wget, & yt-dlp, and stores data in [ordinary files & folders](#archive-layout).
*(no complex proprietary formats, all data is readable without needing to run ArchiveBox)*
The goal is to sleep soundly knowing the part of the internet you care about will be automatically preserved in durable, easily accessible formats [for decades](#background--motivation) after it goes down.
📦 Install ArchiveBox using your preferred method: docker / uv / brew / apt / etc. ([see full Quickstart below](#quickstart)).
Expand for quick copy-pastable install commands... ⤵️
Option A: Get ArchiveBox with Docker Compose (recommended):
mkdir -p ~/archivebox/data && cd ~/archivebox curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml # edit options in this file as-needed docker compose run archivebox initdocker compose run archivebox add 'https://example.com'
docker compose run archivebox help
docker compose up
Option B: Or use it as a plain Docker container:
mkdir -p ~/archivebox/data && cd ~/archivebox/data docker run -it -v $PWD:/data archivebox/archivebox:dev initdocker run -it -v $PWD:/data archivebox/archivebox:dev add 'https://example.com'
docker run -it -v $PWD:/data archivebox/archivebox:dev help
docker run -it -v $PWD:/data -p 8000:8000 archivebox/archivebox:dev
Option C: Or install it with uv (see Quickstart below for apt, brew, and more)
uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev' mkdir -p ~/archivebox/data && cd ~/archivebox/data archivebox init archivebox installarchivebox add 'https://example.com'
archivebox help
archivebox server 0.0.0.0:8000
Option D: Or use the optional auto setup script to install it
curl -fsSL 'https://get.archivebox.io' | bashOpen http://web.archivebox.localhost:8000 for the public UI and http://admin.archivebox.localhost:8000 for the admin UI ➡️
Set BASE_URL to change the public base domain; web. and admin. subdomains are used automatically. BIND_ADDR only controls the local listen address.
Demo | Screenshots | Usage
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Features
- Free & open source, own your own data & maintain your privacy by self-hosting
- Powerful CLI with [modular dependencies](#dependencies) and support for Google Drive/NFS/SMB/S3/B2/etc.
- Comprehensive documentation, active development, and rich community
- Extracts a wide variety of content out-of-the-box: [media (yt-dlp), articles (readability), code (git), etc.](#output-formats)
- Supports scheduled/realtime importing from [many types of sources](#input-formats)
- [Uses standard, durable, long-term formats](#output-formats) like HTML, JSON, PDF, PNG, MP4, TXT, and WARC
- Powerful CLI, self-hosted web UI, Python API (BETA), REST API (ALPHA), or desktop app
- Saves all pages to archive.org as well by default for redundancy (can be disabled for local-only mode)
- Advanced users: support for archiving content requiring login/paywall/cookies (see wiki security caveats!)
- Planned: support for running JS during archiving to adblock, autoscroll, modal-hide, thread-expand
🤝 Professional Integration
ArchiveBox is free for everyone to self-host, but we also provide support, security review, and custom integrations to help NGOs, governments, and other organizations run ArchiveBox professionally:
- Journalists:
crawling during research, preserving cited pages, fact-checking & review
- Lawyers:
collecting & preserving evidence, detecting changes, tagging & review
- Researchers:
analyzing social media trends, getting LLM training data, crawling pipelines
- Individuals:
saving bookmarks, preserving portfolio content, legacy / memoirs archival
- Governments:
snapshotting public service sites, recordkeeping compliance
> *Contact us if your org wants help using ArchiveBox professionally.*
> We offer: setup & support, CAPTCHA/ratelimit unblocking, SSO, audit logging/chain-of-custody, and more
> *ArchiveBox is a 🏛️ 501(c)(3) nonprofit FSP and all our work supports open-source development.*
Quickstart
🖥 Supported OSs: Linux/BSD, macOS, Windows (Docker) 👾 CPUs: amd64 (x86_64), arm64, arm7 (raspi>=3)
✳️ Easy Setup
docker-compose (macOS/Linux/Windows) 👈 recommended (click to expand)
👍 Docker Compose is recommended for the easiest install/update UX + best security + all extras out-of-the-box.
Install Docker on your system (if not already installed).
Download the docker-compose.yml file into a new empty directory (can be anywhere).
mkdir -p ~/archivebox/data && cd ~/archivebox
Read and edit docker-compose.yml options as-needed after downloading
curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml
Run the initial setup to create an admin user (or set ADMIN_USER/PASS in docker-compose.yml)
docker compose run archivebox init
Next steps: Start the server then login to the Web UI http://archivebox.localhost:8000 ⇢ Admin.
docker compose up
completely optional, CLI can always be used without running a server
docker compose run [-T] archivebox [subcommand] [--help]
docker compose run archivebox add 'https://example.com'
docker compose run archivebox help
For more info, see Install: Docker Compose in the Wiki. ➡️
See below for more usage examples using the CLI, Web UI, or filesystem/SQL/Python to manage your archive.
docker run (macOS/Linux/Windows)
Install Docker on your system (if not already installed).
Create a new empty directory and initialize your collection (can be anywhere).
mkdir -p ~/archivebox/data && cd ~/archivebox/data
docker run -v $PWD:/data -it archivebox/archivebox:dev init
Optional: Start the server then login to the Web UI http://archivebox.localhost:8000 ⇢ Admin.
docker run
…
Members
-
ArchiveBox ★ PINNED
🗃 Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more...
Python ★ 28k 21h agoExplain → -
archivebox-browser-extension ★ PINNED
🖥️ Official ArchiveBox browser extension: automatically/manually preserve your browsing history using ArchiveBox.
TypeScript ★ 469 1mo agoExplain → -
abx-dl ★ PINNED
⬇️ A simple all-in-one CLI tool to download EVERYTHING from a URL (like youtube-dl/yt-dlp, forum-dl, gallery-dl, simpler ArchiveBox). 🎭 Uses headless Chrome to get HTML, JS, CSS, images/video/audio/subtitles, PDFs, screenshots, article text, git repos, and more...
Python ★ 135 22h agoExplain → -
abx-plugins ★ PINNED
🧩 Plugins and extractors that ArchiveBox + abx-dl use: chrome, ytdlp, wget, singlefile, readability, forum-dl, gallery-dl, papers-dl, and more...
Python ★ 8 22h agoExplain → -
good-karma-kit ★ PINNED
😇 A Docker Compose bundle to run on servers with spare CPU, RAM, disk, and bandwidth to help the world. Includes Tor, ArchiveWarrior, BOINC, and more...
★ 396 1y agoExplain → -
abxbus ★ PINNED
📢 Fast multi-language Event Bus library for Python/TS/Golang/Rust with support for advanced concurrency control features, nested event tracking, type enforcement, bridges to other backends, and more...
Rust ★ 11 1d agoExplain → -
electron-archivebox
Desktop Electron app for ArchiveBox internet archiver. (ALPHA: not ready for general use)
JavaScript ★ 184 4mo agoExplain → -
docker-archivebox
Home of the official docker image for ArchiveBox
★ 58 1y agoExplain → -
readability-extractor
Javascript/Node wrapper around Mozilla's Readability library so that ArchiveBox can call it as a oneshot CLI command to extract each page's article text.
JavaScript ★ 44 1y agoExplain → -
pocket-exporter ▣
[FREE] A service to help export your pocket bookmarks, tags, saved article text, and more...
TypeScript ★ 34 5mo agoExplain → -
archivebox-proxy
Official ArchiveBox MITM proxy: saves URLs of all requests passing through to an ArchiveBox server for archival.
Python ★ 33 2y agoExplain → -
abxpkg
📦 Modern strongly typed Python library for managing system dependencies with package managers like apt, brew, pip, npm, etc.
Python ★ 28 22h agoExplain → -
homebrew-archivebox
Homebrew formula for the ArchiveBox self-hosted internet archiving solution.
Python ★ 28 1d agoExplain → -
DigestBox
DigestBox takes any webpage URL (news article, video link, comment thread, etc.) and gives you just the raw content. It's powered by ArchiveBox.io under the hood.
HTML ★ 22 2y agoExplain → -
abx-spec-behaviors ▣
🧩 Proposal to allow user scripts like "expand comments", "hide popups", "fill out this form", etc. to be reusable across pure browser environments, puppeteer, playwright, extensions, AI tools, and many other contexts with minimal adjustment.
JavaScript ★ 20 1y agoExplain → -
debian-archivebox
Home of the official apt/deb package for Ubuntu/Debian-based systems.
Shell ★ 17 1d agoExplain → -
docs
Source for the Github Wiki / ReadTheDocs documentation for AchiveBox, the self-hosted internet archiving solution.
CSS ★ 17 2mo agoExplain → -
internet-archiving-talk ⑂
🎭 An introduction to the Internet Archiving ecosystem, tooling, and some of the ethical dilemmas that the community faces.
★ 15 5y agoExplain → -
pip-archivebox ▣
Official Python package for ArchiveBox, the self-hosted internet archiving solution.
★ 12 1y agoExplain → -
community
A wiki of the broader Web Archiving Community: important organizations, alternative projects, blog posts, and more.
★ 8 2y agoExplain → -
githubusers
GitHub user contribution dashboards · serves precomputed stats at githubusers.archivebox.io/<login>
HTML ★ 3 1mo agoExplain → -
monorepo
🛠️ Development-only monorepo config for archivebox + abx-dl + abx-plugins + abx-pkg + abxbus.
Shell ★ 1 3d agoExplain → -
squasher-browser-extension ⑂
Extension to collect all open browser tabs for a given domain into a new window (with suspender support).
★ 1 2y agoExplain →
No repos match these filters.