An open API service indexing awesome lists of open source software.

awesome-web-archiving

An Awesome List for getting started with web archiving
https://github.com/iipc/awesome-web-archiving

Last synced: 18 days ago
JSON representation

  • Community Resources

  • Public Data

  • Resources for Web Publishers

    • For Researchers using Web Archives

      • Definition of Web Archivability - This describes the ease with which web content can be preserved. ([Archived version from the Stanford Libraries](https://web.archive.org/web/20230728211501/https://library.stanford.edu/projects/web-archiving/archivability))
  • Tools & Software

    • Acquisition

      • Crawl - A simple web crawler in Golang. *(Stable)*
      • Heritrix - An open source, extensible, web-scale, archival quality web crawler. *(Stable)*
      • Heritrix Q&A - A discussion forum for asking questions and getting answers about using Heritrix.
      • HTTrack - An open source website copying utility. *(Stable)*
      • WebMemex - Browser extension for Firefox and Chrome which lets you archive web pages you visit. *(In Development)*
      • Wget - An open source file retrieval utility that of [version 1.14 supports writing warcs](http://www.archiveteam.org/index.php?title=Wget_with_WARC_output). *(Stable)*
      • ArchiveBox - A tool which maintains an additive archive from RSS feeds, bookmarks, and links using wget, Chrome headless, and other methods (formerly `Bookmark Archiver`). *(In Development)*
      • archivenow - A [Python library](http://ws-dl.blogspot.com/2017/02/2017-02-22-archive-now-archivenow.html) to push web resources into on-demand web archives. *(Stable)*
      • ArchiveWeb.Page - A plugin for Chrome and other Chromium based browsers that lets you interactively archive web pages, replay them, and export them as WARC & WACZ files. Also available as an Electron based desktop application.
      • Auto Archiver - Python script to automatically archive social media posts, videos, and images from a Google Sheets document. Read the [article about Auto Archiver on bellingcat.com](https://www.bellingcat.com/resources/2022/09/22/preserve-vital-online-content-with-bellingcats-auto-archiver-tool/).
      • Browsertrix Crawler - A Chromium based high-fidelity crawling system, designed to run a complex, customizable browser-based crawl in a single Docker container. *(Stable)*
      • Brozzler - A distributed web crawler (爬虫) that uses a real browser (Chrome or Chromium) to fetch pages and embedded urls and to extract links. *(Stable)*
      • Cairn - A npm package and CLI tool for saving webpages as single HTML files. It does not produce WARC or WACZ archives. *(Stable)*
      • Chronicler - Web browser with record and replay functionality. *(In Development)*
      • Community Archive - Open Twitter Database and API with tools and resources for building on archived Twitter data.
      • crau - A lightweight command-line tool for archiving the Web and playing archives: you just need a list of URLs. The name "crau" stems from the Brazilian pronounciation of "crawl". *(Stable)*
      • crocoite - Crawl websites using headless Google Chrome/Chromium and save resources, static DOM snapshot and page screenshots to WARC files. *(In Development)*
      • DiskerNet - A non-WARC-based tool which hooks into the Chrome browser and archives everything you browse making it available for offline replay. *(In Development)*
      • F(b)arc - A commandline tool and Python library for archiving data from [Facebook](https://www.facebook.com/) using the [Graph API](https://developers.facebook.com/docs/graph-api). *(Stable)*
      • freeze-dry - JavaScript library to turn page into static, self-contained HTML document; useful for browser extensions. *(In Development)*
      • grab-site - The archivist's web crawler: WARC output, dashboard for all crawls, dynamic ignore patterns. *(Stable)*
      • Heritrix Walkthrough
      • html2warc - A simple script to convert offline data into a single WARC file. *(Stable)*
      • monolith - CLI tool to save a web page as a single HTML file. *(Stable)*
      • Obelisk - Go package and CLI tool for saving web page as single HTML file. *(Stable)*
      • Scoop - High-fidelity, browser-based, single-page web archiving library and CLI for witnessing the web. *(Stable)*
      • SingleFile - Browser extension for Firefox/Chrome and CLI tool to save a faithful copy of a complete page as a single HTML file. *(Stable)*
      • SiteStory - A transactional archive that selectively captures and stores transactions that take place between a web client (browser) and a web server. *(Stable)*
      • Social Feed Manager - Open source software that enables users to create social media collections from Twitter, Tumblr, Flickr, and Sina Weibo public APIs. *(Stable)*
      • Squidwarc - An [open source, high-fidelity, page interacting](http://ws-dl.blogspot.com/2017/07/2017-07-24-replacing-heritrix-with.html) archival crawler that uses Chrome or Chrome Headless directly. *(In Development)*
      • twarc - A command line tool and Python library for archiving Twitter JSON data. *(Stable)*
      • WAIL - A graphical user interface (GUI) atop multiple web archiving tools intended to be used as an easy way for anyone to preserve and replay web pages; [Python](https://machawk1.github.io/wail/), [Electron](https://github.com/n0tan3rd/wail). *(Stable)*
      • Warcprox - WARC-writing MITM HTTP/S proxy. *(Stable)*
      • Warcworker - An open source, dockerized, queued, high fidelity web archiver based on Squidwarc with a simple web GUI. *(Stable)*
      • Wayback - A toolkit for snapshot webpage to Internet Archive, archive.today, IPFS and beyond. *(Stable)*
      • Waybackpy - Wayback Machine Save, CDX and availability API interface in Python and a command-line tool *(Stable)*
      • Web2Warc - An easy-to-use and highly customizable crawler that enables anyone to create their own little Web archives (WARC/CDX). *(Stable)*
      • Wget-lua - Wget with Lua extension. *(Stable)*
      • Wpull - A Wget-compatible (or remake/clone/replacement/alternative) web downloader and crawler. *(Stable)*
      • StormCrawler - A collection of resources for building low-latency, scalable web crawlers on Apache Storm. *(Stable)*
      • Web Curator Tool - Open-source workflow management for selective web archiving. *(Stable)*
    • Analysis

      • Archives Research Compute Hub - Web application for distributed compute analysis of Archive-It web archive collections. *(Stable)*
      • ArchiveSpark - An Apache Spark framework (not only) for Web Archives that enables easy data processing, extraction as well as derivation. *(Stable)*
      • Archives Unleashed Notebooks - Notebooks for working with web archives with the Archives Unleashed Toolkit, and derivatives generated by the Archives Unleashed Toolkit. *(Stable)*
      • Archives Unleashed Toolkit - An open-source platform for analyzing web archives with Apache Spark. *(Stable)*
      • Common Crawl Jupyter notebooks - A collection of notebooks using Common Crawl's various datasets. *(Stable)*
      • Tweet Archvies Unleashed Toolkit - An open-source toolkit for analyzing line-oriented JSON Twitter archives with Apache Spark. *(In Development)*
      • Web Data Commons - Structured data extracted from Common Crawl. *(Stable)*
    • Curation

      • Zotero Robust Links Extension - A [Zotero](https://www.zotero.org/) extension that submits to and reads from web archives. Supercedes [leonkt/zotero-memento](https://github.com/leonkt/zotero-memento).
    • For Researchers using Web Archives

    • Quality Assurance

    • Replay

      • InterPlanetary Wayback (ipwb) - Web Archive (WARC) indexing and replay using [IPFS](https://ipfs.io/).
      • PYWB - A Python 3 implementation of web archival replay tools, sometimes also known as 'Wayback Machine'. *(Stable)*
      • Reconstructive - A Service Worker module for client-side reconstruction of composite mementos by rerouting resource requests to corresponding archived copies (JavaScript).
      • ReplayWeb.page - A browser-based, fully client-side replay engine for both local and remote WARC & WACZ files. Also available as an Electron based desktop application. *(Stable)*
      • warc2html - Converts WARC files to static HTML suitable for browsing offline or rehosting.
      • SecurityTrails - Web based archive for WHOIS and DNS records. REST API available free of charge.
      • Tempas v1 - Temporal web archive search based on [Delicious](https://en.wikipedia.org/wiki/Delicious_(website)) tags. *(Stable)*
      • Tempas v2 - Temporal web archive search based on links and anchor texts extracted from the German web from 1996 to 2013 (results are not limited to German pages, e.g., [Obama@2005-2009 in Tempas](http://tempas.l3s.de/v2/query?q=obama&from=2005&to=2009)). *(Stable)*
      • here
      • hyphe - A webcrawler built for research uses with a graphical user interface in order to build web corpuses made of lists of web actors and maps of links between them. *(Stable)*
      • Mink - A [Google Chrome](https://www.google.com/intl/en/chrome/) extension for querying Memento aggregators while browsing and integrating live-archived web navigation. *(Stable)*
      • PANDORÆ - A desktop research software to be plugged on a Solr endpoint to query, retrieve, normalize and visually explore web archives. *(Stable)*
      • playback - A toolkit for searching archived webpages from <!--lint ignore double-link-->[Internet Archive](https://web.archive.org), [archive.today](https://archive.today), [Memento](https://mementoweb.org/) and beyond. *(In Development)*
      • webarchive-discovery - WARC and ARC full-text indexing and discovery tools, with a number of associated tools capable of using the index shown below. *(Stable)*
      • Shine - A prototype web archives exploration UI, developed with researchers as part of the [Big UK Domain Data for the Arts and Humanities project](https://buddah.projects.history.ac.uk/). *(Stable)*
      • SolrWayback - A backend Java and frontend VUE JS project with freetext search and a build in playback engine. Require Warc files has been index with the Warc-Indexer. The web application also has a wide range of data visualization tools and data export tools that can be used on the whole webarchive. [SolrWayback 4 Bundle release](https://github.com/netarchivesuite/solrwayback/releases) contains all the software and dependencies in an out-of-the box solution that is easy to install.
      • Warclight - A Project Blacklight based Rails engine that supports the discovery of web archives held in the WARC and ARC formats. *(In Development)*
      • Wasp - A fully functional prototype of a personal [web archive and search system](http://ceur-ws.org/Vol-2167/paper6.pdf). *(In Development)*
      • PastPage - Browser extension for Chrome and Firefox that recovers broken or changed pages by querying the Wayback Machine and other web archives in parallel. *(Stable)*
    • Utilities

      • ArchiveTools - Collection of tools to extract and interact with WARC files (Python).
      • Go Get Crawl - Extract web archive data using <!--lint ignore double-link-->[Wayback Machine](https://web.archive.org/) and [Common Crawl](https://commoncrawl.org/). *(Stable)*
      • gowarcserver - [BadgerDB](https://github.com/dgraph-io/badger)-based capture index (CDX) and WARC record server, used to index and serve WARC files (Go).
      • har2warc - Convert HTTP Archive (HAR) -> Web Archive (WARC) format (Python).
      • HTTPreserve linkstat - Command line implementation of <!--lint ignore double-link-->[httpreserve.info](https://httpreserve.info) to describe the status of a web page. Can be easily scripted and provides JSON output to enable querying through tools like JQ. HTTPreserve Linkstat describes current status, and earliest and latest links on <!--lint ignore double-link-->[archive.org](https://archive.org/). (Golang). *(Stable)*
      • Internet Archive Library - A command line tool and Python library for interacting directly with <!--lint ignore double-link-->[archive.org](https://archive.org). (Python). *(Stable)*
      • httrack2warc - Convert HTTrack archives to WARC format (Java).
      • MementoMap - A Tool to Summarize Web Archive Holdings (Python). *(In Development)*
      • MemGator - A Memento Aggregator CLI and Server (Golang). *(Stable)*
      • node-cdxj - [CDXJ](https://github.com/oduwsdl/ORS/wiki/CDXJ) file parser (Node.js). *(Stable)*
      • OutbackCDX - RocksDB-based capture index (CDX) server supporting incremental updates and compression. Can be used as backend for OpenWayback, PyWb and [Heritrix](https://github.com/ukwa/ukwa-heritrix/blob/master/src/main/java/uk/bl/wap/modules/uriuniqfilters/OutbackCDXRecentlySeenUriUniqFilter.java). *(Stable)*
      • py-wasapi-client - Command line application to download crawls from WASAPI (Python). *(Stable)*
      • The Unarchiver - Program to extract the contents of many archive formats, inclusive of WARC, to a file system. Free variant of The Archive Browser (macOS only, Proprietary app).
      • tikalinkextract - Extract hyperlinks as a seed for web archiving from folders of document types that can be parsed by Apache Tika (Golang, Apache Tika Server). *(In Development)*
      • warcdb - A command line utility (Python) for importing WARC files into a SQLite database. *(Stable)*
      • warcbench - A tool for exploring, analyzing, transforming, recombining, and extracting data from WARC (Web ARChive) files.
      • warcdedupe - WARC deduplication tool (and WARC library) written in Rust. *(In Development)*
      • warc-safe - Automatic detection of viruses and NSFW content in WARC files.
      • WarcPartitioner - Partition (W)ARC Files by MIME Type and Year. *(Stable)*
      • warcrefs - Web archive deduplication tools. *(Stable)*
      • webarchive-indexing - Tools for bulk indexing of WARC/ARC files on Hadoop, EMR or local file system.
      • wikiteam - Tools for downloading and preserving wikis. *(Stable)*
      • duckdb-web-archive-cdx - DuckDB extension to query the Internet Archive and CommonCrawl CDX APIs directly from SQL. *(In Development)*
      • bagnabit2warc - Convert a [bag-nabit](https://github.com/harvard-lil/bag-nabit) dataset stored in a ZIP into a full-content WARC.
      • duckdb_warc - DuckDB extension to query WARC files. *(In Development)*
      • WARC Explorer - Browser-based inspector for WARC files and records (client-side).
      • httpreserve.info - Service to return the status of a web page or save it to the Internet Archive. HTTPreserve includes disambiguation of well-known short link services. It returns JSON via the browser or command line via CURL using GET. Describes web sites using earliest and latest dates in the Internet Archive and demonstrates the construction of Robust Links in its output using that range. (Golang). *(Stable)*
      • Warchaeology - A collection of tools for inspecting, manipulating, deduplicating and validating WARC-files. *(Stable)*
    • WARC I/O Libraries

      • FastWARC - A high-performance WARC parsing library (Python).
      • HadoopConcatGz - A Splitable Hadoop InputFormat for Concatenated GZIP Files (and `*.warc.gz`). *(Stable)*
      • jwarc - Read and write WARC files with a type safe API (Java).
      • Jwat - Libraries for reading/writing/validating WARC/ARC/GZIP files (Java). *(Stable)*
      • Jwat-Tools - Tools for reading/writing/validating WARC/ARC/GZIP files (Java). *(Stable)*
      • node-warc - Parse WARC files or create WARC files using either [Electron](https://electron.atom.io/) or [chrome-remote-interface](https://github.com/cyrus-and/chrome-remote-interface) (Node.js). *(Stable)*
      • Sparkling - Internet Archive's Sparkling Data Processing Library. *(Stable)*
      • Unwarcit - Command line interface to unzip WARC and WACZ files (Python).
      • Warcat - Tool and library for handling Web ARChive (WARC) files (Python). *(Stable)*
      • Warcat-rs - Command-line tool and Rust library for handling Web ARChive (WARC) files. *(In Development)*
      • warcio - Streaming WARC/ARC library for fast web archive IO (Python). *(Stable)*
      • warctools - Library to work with ARC and WARC files (Python).
      • webarchive - Golang readers for ARC and WARC webarchive formats (Golang).
      • warc - A Rust library for reading and writing WARC files. *(Stable)*
  • Training/Documentation

  • Web Archiving Service Providers

    • Hosted, Closed Source

    • Self-hostable, Open Source

      • Conifer - From [Rhizome](https://rhizome.org/), source available at <https://github.com/Rhizome-Conifer>. The hosted service was [discontinued in June 2026](https://blog.conifer.rhizome.org/2025/12/15/twilight-announcement.html); existing collections remain accessible.
      • Browsertrix - From [Webrecorder](https://webrecorder.net/), source available at <https://github.com/webrecorder/browsertrix>.