Wayback Machine Scraper: Snapshots, History & Archived Pages avatar

Wayback Machine Scraper: Snapshots, History & Archived Pages

Pricing

from $2.00 / 1,000 snapshot rows

Go to Apify Store
Wayback Machine Scraper: Snapshots, History & Archived Pages

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

Alex Burton

Maintained by Community

Actor 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.

ModeWhat you get
List snapshotsEvery capture of a URL or domain with its date, HTTP status, MIME type, size and content hash
Closest snapshotThe single capture nearest a date you name, ready to link to
Page historyOnly the captures where the content actually changed, each labelled with what changed
Download archived contentThe 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 original captured in the year timestamp, 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. 20020120142510 is 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

  1. Choose What to do.
  2. Paste your URLs, one per line.
  3. Pick a Match type: exact for one page, prefix for a path, domain for a site and its subdomains.
  4. Optionally set From date / To date, or turn on Only successful captures.
  5. 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

ResultPrice
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 domain query 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.
  • statuscode can 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.