mcpField
W
web-archive-scraper

web-archive-scraper

github.com/gooseworks-aiProductivity1.3k50 installsUpdated 3d ago
Repository

About web-archive-scraper

A Python CLI skill for finding archived website snapshots through the Internet Archive Wayback Machine. It filters and deduplicates results, and can fetch archived HTML as readable text without requiring an API key.

Key features

  1. 01Search snapshots by URL and match type
  2. 02Filter by date, status, and MIME type
  3. 03Deduplicate snapshots by time period
  4. 04Fetch archived HTML content
  5. 05Output JSON, CSV, or summary

Use cases

  1. 01Recover customer or partner lists from old sites
  2. 02Retrieve testimonials before a redesign
  3. 03Track changes in competitor messaging

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gooseworks-ai/goose-skills --skill web-archive-scraper

After installing, type/web-archive-scraperin Claude Code to confirm it loaded.

Bundled filesscripts/search_archive.pyskill.meta.json

Details

From the project README

Web Archive Scraper

Search the Wayback Machine (Internet Archive) for archived snapshots of websites. Fetch cached page content to find customer lists, testimonials, partner directories, and other information from sites that have changed or shut down.

Quick Start

Only dependency is requests. No API key needed.

# Find all snapshots of a URL
python3 skills/web-archive-scraper/scripts/search_archive.py \
  --url "https://botkeeper.com/customers"

# Search with date range
python3 skills/web-archive-scraper/scripts/search_archive.py \
  --url "https://botkeeper.com" --from 2025-01-01 --to 2026-02-01

# Search all pages under a domain (prefix match)
python3 skills/web-archive-scraper/scripts/search_archive.py \
  --url "https://botkeeper.com" --match prefix --limit 50

# Fetch the actual archived page content
python3 skills/web-archive-scraper/scripts/search_archive.py \
  --url "https://botkeeper.com/customers" --fetch

# Output formats
python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output json
python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output csv
python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output summary

How It Works

  1. CDX API search — Queries web.archive.org/cdx/search/cdx for snapshots matching the URL
  2. Filtering — Filters by date range, HTTP status code, and MIME type
  3. Dedup — Collapses to one snapshot per day by default to avoid redundant results
  4. Content fetch — Optionally fetches the raw archived HTML (using id_ modifier to skip Wayback toolbar)
  5. Text extraction — Strips HTML tags for readable text output when fetching content

CLI Reference

FlagDefaultDescription
--urlrequiredTarget URL to search in the archive
--matchexactMatch type: exact, prefix, host, domain
--fromnoneStart date (YYYY-MM-DD)
--tononeEnd date (YYYY-MM-DD)
--limit25Max number of snapshots to return
--fetchfalseFetch and display the content of the most recent snapshot
--fetch-allfalseFetch content of ALL matched snapshots (use with small --limit)
--status200HTTP status filter (set to "any" to include all)
--outputjsonOutput format: json, csv, summary
--collapsedayDedup level: none, day, month, year

Output Schema

{
  "url": "https://botkeeper.com/customers",
  "timestamp": "20250915143022",
  "datetime": "2025-09-15T14:30:22",
  "status_code": "200",
  "mime_type": "text/html",
  "archive_url": "https://web.archive.org/web/20250915143022/https://botkeeper.com/customers",
  "raw_url": "https://web.archive.org/web/20250915143022id_/https://botkeeper.com/customers",
  "content": "..."
}

The content field is only populated when --fetch or --fetch-all is used.

Cost

Free. The Wayback Machine CDX API requires no authentication or API key. Rate limit is ~15 requests/minute.

Common Use Cases

  • Find customer lists from shut-down companies (e.g., botkeeper.com)
  • Recover testimonials/case studies before a site redesign
  • Track how a competitor's messaging changed over time
  • Find partner directories that have been removed

Comments

Markdown supported