Home · Skills · Development
Web archive scraper
Search the Wayback Machine for archived versions of websites.
How to use it
- Hit Copy the whole skill.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/web-archive-scraper#main ~/.claude/skills/web-archive-scraperFor one project only, change the path to .claude/skills/web-archive-scraper.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text90 lines
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
- CDX API search — Queries
web.archive.org/cdx/search/cdxfor snapshots matching the URL - Filtering — Filters by date range, HTTP status code, and MIME type
- Dedup — Collapses to one snapshot per day by default to avoid redundant results
- Content fetch — Optionally fetches the raw archived HTML (using
id_modifier to skip Wayback toolbar) - Text extraction — Strips HTML tags for readable text output when fetching content
CLI Reference
| Flag | Default | Description |
|---|---|---|
--url |
required | Target URL to search in the archive |
--match |
exact | Match type: exact, prefix, host, domain |
--from |
none | Start date (YYYY-MM-DD) |
--to |
none | End date (YYYY-MM-DD) |
--limit |
25 | Max number of snapshots to return |
--fetch |
false | Fetch and display the content of the most recent snapshot |
--fetch-all |
false | Fetch content of ALL matched snapshots (use with small --limit) |
--status |
200 | HTTP status filter (set to "any" to include all) |
--output |
json | Output format: json, csv, summary |
--collapse |
day | Dedup 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
| 1 | |
| 2 | name web-archive-scraper |
| 3 | description > |
| 4 | Search the Wayback Machine for archived versions of websites. Extract cached pages, |
| 5 | customer lists, testimonials, and partner directories from sites that have changed or |
| 6 | gone offline. Uses the free CDX API — no API key needed. |
| 7 | |
| 8 | |
| 9 | # Web Archive Scraper |
| 10 | |
| 11 | 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. |
| 12 | |
| 13 | ## Quick Start |
| 14 | |
| 15 | Only dependency is `requests`. No API key needed. |
| 16 | |
| 17 | |
| 18 | # Find all snapshots of a URL |
| 19 | python3 skills/web-archive-scraper/scripts/search_archive.py \ |
| 20 | --url "https://botkeeper.com/customers" |
| 21 | |
| 22 | # Search with date range |
| 23 | python3 skills/web-archive-scraper/scripts/search_archive.py \ |
| 24 | --url "https://botkeeper.com" --from 2025-01-01 --to 2026-02-01 |
| 25 | |
| 26 | # Search all pages under a domain (prefix match) |
| 27 | python3 skills/web-archive-scraper/scripts/search_archive.py \ |
| 28 | --url "https://botkeeper.com" --match prefix --limit 50 |
| 29 | |
| 30 | # Fetch the actual archived page content |
| 31 | python3 skills/web-archive-scraper/scripts/search_archive.py \ |
| 32 | --url "https://botkeeper.com/customers" --fetch |
| 33 | |
| 34 | # Output formats |
| 35 | python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output json |
| 36 | python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output csv |
| 37 | python3 skills/web-archive-scraper/scripts/search_archive.py --url URL --output summary |
| 38 | |
| 39 | |
| 40 | ## How It Works |
| 41 | |
| 42 | **CDX API search** — Queries `web.archive.org/cdx/search/cdx` for snapshots matching the URL |
| 43 | **Filtering** — Filters by date range, HTTP status code, and MIME type |
| 44 | **Dedup** — Collapses to one snapshot per day by default to avoid redundant results |
| 45 | **Content fetch** — Optionally fetches the raw archived HTML (using `id_` modifier to skip Wayback toolbar) |
| 46 | **Text extraction** — Strips HTML tags for readable text output when fetching content |
| 47 | |
| 48 | ## CLI Reference |
| 49 | |
| 50 | | Flag | Default | Description | |
| 51 | |------|---------|-------------| |
| 52 | | `--url` | *required* | Target URL to search in the archive | |
| 53 | | `--match` | exact | Match type: `exact`, `prefix`, `host`, `domain` | |
| 54 | | `--from` | none | Start date (YYYY-MM-DD) | |
| 55 | | `--to` | none | End date (YYYY-MM-DD) | |
| 56 | | `--limit` | 25 | Max number of snapshots to return | |
| 57 | | `--fetch` | false | Fetch and display the content of the most recent snapshot | |
| 58 | | `--fetch-all` | false | Fetch content of ALL matched snapshots (use with small --limit) | |
| 59 | | `--status` | 200 | HTTP status filter (set to "any" to include all) | |
| 60 | | `--output` | json | Output format: `json`, `csv`, `summary` | |
| 61 | | `--collapse` | day | Dedup level: `none`, `day`, `month`, `year` | |
| 62 | |
| 63 | ## Output Schema |
| 64 | |
| 65 | |
| 66 | { |
| 67 | "url": "https://botkeeper.com/customers", |
| 68 | "timestamp": "20250915143022", |
| 69 | "datetime": "2025-09-15T14:30:22", |
| 70 | "status_code": "200", |
| 71 | "mime_type": "text/html", |
| 72 | "archive_url": "https://web.archive.org/web/20250915143022/https://botkeeper.com/customers", |
| 73 | "raw_url": "https://web.archive.org/web/20250915143022id_/https://botkeeper.com/customers", |
| 74 | "content": "..." |
| 75 | } |
| 76 | |
| 77 | |
| 78 | The `content` field is only populated when `--fetch` or `--fetch-all` is used. |
| 79 | |
| 80 | ## Cost |
| 81 | |
| 82 | Free. The Wayback Machine CDX API requires no authentication or API key. Rate limit is ~15 requests/minute. |
| 83 | |
| 84 | ## Common Use Cases |
| 85 | |
| 86 | **Find customer lists from shut-down companies** (e.g., botkeeper.com) |
| 87 | **Recover testimonials/case studies** before a site redesign |
| 88 | **Track how a competitor's messaging changed over time** |
| 89 | **Find partner directories** that have been removed |
| 90 |
Discussion
Alternatives
Also in Services & APIsContext7Pulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.Adaptyv Bio Foundry APIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`..NET Backend Development PatternsMaster C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.Add AI protectionProtect AI chat and completion endpoints from abuse — detect prompt injection and jailbreak attempts, block PII and sensitive info from leaking in responses, and enforce token budget rate limits to control costs. Use this skill when the user is building or securing any endpoint that processes user prompts with an LLM, even if they describe it as "preventing jailbreaks," "stopping prompt attacks," "blocking sensitive data," or "controlling AI API costs" rather than naming specific protections.