Wayback Machine Scraper: Snapshots, History & Archived Pages
Pricing
from $2.00 / 1,000 snapshot rows
Wayback Machine Scraper: Snapshots, History & Archived Pages
List every Internet Archive snapshot of a URL or a whole domain, find the closest capture to a date, track how a page changed over time, and download the archived HTML. Official CDX and availability APIs, no API key.
Pricing
from $2.00 / 1,000 snapshot rows
Rating
0.0
(0)
Developer
Alex Burton
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Everything the Internet Archive holds about a URL or a whole domain, from the official CDX and availability APIs. No API key, no scraping.
| Mode | What you get |
|---|---|
| List snapshots | Every capture of a URL or domain with its date, HTTP status, MIME type, size and content hash |
| Closest snapshot | The single capture nearest a date you name, ready to link to |
| Page history | Only the captures where the content actually changed, each labelled with what changed |
| Download archived content | The archived HTML or text itself, as originally captured |
Why use this one
- It reads the header row. The CDX API returns a JSON array whose first row names the fields rather than holding data. Parsers that miss this emit a phantom snapshot of a page called
originalcaptured in the yeartimestamp, and shift every column if the Archive changes the default field order. This Actor maps each row against the header it was given. - It parses Wayback timestamps correctly.
20020120142510is all digits, so a naive date parser reads it as a unix epoch and reports the year 2604. These get their own parser here. - Page history is genuinely useful. A page crawled daily for ten years gives thousands of identical captures. Collapsing on the content hash leaves only the real changes, and each row says whether the status, type or size moved.
- Archived content comes back clean. Downloads use the
id_form of the snapshot URL, which returns the original bytes without the Archive's navigation toolbar injected into the HTML. - It pages past the limit. Large queries continue with a resume key instead of silently stopping at the first page.
How to use it
- Choose What to do.
- Paste your URLs, one per line.
- Pick a Match type:
exactfor one page,prefixfor a path,domainfor a site and its subdomains. - Optionally set From date / To date, or turn on Only successful captures.
- Click Start, then download as JSON, CSV, Excel or HTML.
Example input: every archived page on a domain in 2020
{"mode": "snapshots","urls": ["example.com"],"matchType": "domain","fromDate": "2020","toDate": "2020","onlySuccessful": true,"maxSnapshotsPerUrl": 2000}
Example input: how a pricing page changed
{"mode": "pageHistory","urls": ["https://example.com/pricing"],"maxSnapshotsPerUrl": 100}
Example input: what did this page say in January 2020
{"mode": "fetchSnapshot","urls": ["https://example.com/"],"fromDate": "20200101","toDate": "20200131","copiesPerUrl": 1}
Output
Snapshot
{"type": "snapshot","query": "example.com","url": "http://example.com:80/","timestamp": "20020120142510","archivedOn": "2002-01-20T14:25:10Z","statusCode": 200,"ok": true,"mimeType": "text/html","digest": "HT2DYGA5UKZCPBSFVCV3JOBXGW2G5UUA","length": 1792,"snapshotUrl": "https://web.archive.org/web/20020120142510/http://example.com:80/","rawSnapshotUrl": "https://web.archive.org/web/20020120142510id_/http://example.com:80/"}
Page history adds version and change:
{ "version": 4, "archivedOn": "2021-06-02T09:14:55Z", "change": "size 1792 to 2410 (+618 bytes)" }
Closest snapshot
{"type": "availability","query": "example.com","available": true,"timestamp": "20260925000024","archivedOn": "2026-09-25T00:00:24Z","statusCode": 200,"snapshotUrl": "http://web.archive.org/web/20260925000024/https://example.com/"}
Capture order
The archive stores captures oldest first. Download archived content therefore always takes the most recent capture inside whatever date range you set, which is what "the archived page" almost always means. List snapshots and Page history stay chronological so they can page through long histories; turn on Newest captures first to take the most recent ones instead.
Pricing
| Result | Price |
|---|---|
| Snapshot row | $2.00 per 1,000 |
| Downloaded archived page | $5.00 per 1,000 |
Downloading content costs more because each row is a second request for the page itself. Set a maximum spend per run in the run options and the Actor stops cleanly when it is reached.
Limits to know about
These come from the Internet Archive, not from this Actor:
- The Archive is a nonprofit running on donations. Default concurrency is 2 on purpose. Please do not raise it far for large jobs.
- The CDX index can be slow on a broad
domainquery over a large site, and the Archive sometimes returns a timeout under load. The Actor retries with backoff and reports what it managed to collect. - Not everything is archived. Pages blocked by robots.txt at crawl time, or later excluded at a site owner's request, will not appear even though the site existed.
statuscodecan be empty on revisit records, where the Archive stored a pointer to an identical earlier capture rather than the page itself. Those rows come back with a null status.- Downloaded content is the raw capture, which for old pages may be in a legacy encoding. It is returned as text with whitespace tidied, not as rendered HTML.
FAQ
Do I need an API key? No. Both APIs are public.
Can I archive a page rather than read one? No. This Actor only reads what the Archive already holds.
Why do I get fewer rows than I asked for? Either the page has fewer captures, or your filters excluded them. Turning off Only successful captures is the usual fix.
What is the difference between the two snapshot URLs? snapshotUrl opens the capture in the Wayback Machine with its toolbar, which is what you want in a browser. rawSnapshotUrl returns the original bytes, which is what you want in a script.
Is this legal? The Wayback Machine is a public archive with public APIs, used here as intended. Archived pages remain subject to the copyright of whoever wrote them.
Feedback
Found a bug or need a field that's missing? Open an issue on the Actor's Issues tab.