Wayback Machine Snapshot History & Archived Text Extractor

Pull the Wayback Machine's capture history for any URL, host, or domain with timestamps, status codes, MIME types, and optional archived page text.

Open in Apify Store$0.99 / 1K on Free

Short answer

Wayback Machine Snapshot History & Archived Text Extractor is an Apify Store Actor for Wayback Machine data that returns 19 published output fields, including title, originalUrl, archiveDate, archiveUrl. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 19 input settings, none required. It covers 1 of the 6 core Wayback Machine fields this site tracks. Last updated Nov 9, 2026.

From the public Store listing and published build schema, synced 2026-11-12.
Wayback Machine SEOAutomationDeveloper tools

What it returns

19 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.

  • originalUrl
  • archiveDate
  • archiveUrl
  • statusCode
  • mimeType
  • contentLength
  • changeType
  • captureYear
  • resultIndex
  • title
  • wordCount
  • characterCount
  • requestedDate
  • available
  • firstArchiveDate
  • lastArchiveDate
  • captureCount
  • versionCount
  • spanDays

Not in the schema among the core Wayback Machine fields: original, archive, status, mime, capture. The field matrix shows which other tools return them.

Input

Input settings for Wayback Machine Snapshot History & Archived Text Extractor
SettingTypeRequiredDefaultWhat it does
mode string No search What to collect. 'search' returns every matching capture; 'timeline' returns one row per distinct content version; 'summary' returns archive coverage per target; 'closest' returns the nearest capture to a date; 'content' returns readable text from the archived page.
url string No – One URL, host, domain, or Wayback playback URL. Examples: 'apify.com', 'https://example.com/blog', 'https://web.archive.org/web/20240101000000/https://apify.com/'. Wildcards like 'example.com/*' and '*.example.com' are detected automatically.
urls array No [] One or more targets for batch collection. Each target is queried independently and the Max items budget is split across them.
matchType string No exact How the target is matched against the archive. 'exact' = that URL only; 'prefix' = the URL and every path beneath it; 'host' = every path on the same host; 'domain' = the host and all subdomains.
dateFrom string No – Earliest capture date, inclusive. Accepts YYYY, YYYY-MM, YYYY-MM-DD, or a full timestamp such as 2024-01-31T12:00:00.
dateTo string No – Latest capture date, inclusive. Uses the same formats as From date. A date without a time includes the whole day.
statusCodes array No [] Only keep captures with these HTTP status codes, e.g. ['200','301']. Leave empty for all statuses. Values may also be comma-separated.
excludeStatusCodes array No [] Drop captures with these HTTP status codes, e.g. ['404','500']. Leave empty to exclude nothing.
mimeTypes array No [] Only keep captures with these MIME types, e.g. ['text/html','application/pdf']. Leave empty for all MIME types.
excludeMimeTypes array No [] Drop captures with these MIME types, e.g. ['image/png','video/mp4']. Leave empty to exclude nothing.
Show the other 9 settings
More input settings for Wayback Machine Snapshot History & Archived Text Extractor
SettingTypeRequiredDefaultWhat it does
collapseBy string No digest Deduplicate adjacent captures in 'search' mode. 'digest' keeps one record per distinct content fingerprint; 'urlkey' keeps one capture per URL; 'monthly', 'daily', and 'hourly' keep one capture per time bucket; 'none' returns every raw capture. 'timeline' and 'summary' always read raw captures so th
sortDirection string No earliest Choose whether the limited result set comes from the oldest or newest captures. Search rows are emitted in chronological order; 'latest' reverses the final rows so the newest appears first.
targetDate string No – Date used by 'closest' and 'content' modes, and as the reference when a playback URL does not include a timestamp. Accepts YYYY, YYYY-MM, YYYY-MM-DD, or a full timestamp. Defaults to now when empty.
enrichWithContent boolean No false In 'search' mode, fetch the archived HTML for the first Max content fetches rows and add its readable text and metadata. Off by default because it costs extra requests.
maxContentFetch integer No 10 Cap on archived pages downloaded when 'Add archived text to search rows' is on. 0 disables enrichment. This setting is ignored by 'content' mode, which uses Max items instead.
maxContentChars integer No 500000 Truncate extracted text at this many characters. The full word count and text hash are still recorded, and contentTruncated is set when clipping happens.
includeHeadings boolean No true Add the page's H1-H6 headings as structured records when archived text is extracted.
maxItems integer No 500 Hard cap on emitted records. For bulk search the budget is split evenly across targets. In 'summary' mode it is also the per-target capture scan budget, split between the oldest and newest ends. Up to 100,000 captures are supported through automatic resume-key pagination.
detectChanges boolean No true In 'search' mode, compare each capture with the previous capture of the same URL and add changed, changeType, previousTimestamp, and related fields.

Example input

Built from the input form's published example values and defaults.

{
  "mode": "closest",
  "url": "apify.com",
  "urls": [],
  "matchType": "exact",
  "statusCodes": [],
  "excludeStatusCodes": [],
  "mimeTypes": [],
  "excludeMimeTypes": [],
  "collapseBy": "none",
  "sortDirection": "earliest",
  "targetDate": "2024-01-01",
  "enrichWithContent": false,
  "maxContentFetch": 0,
  "maxContentChars": 500000,
  "includeHeadings": false,
  "maxItems": 1,
  "detectChanges": false
}

Run it from code or an AI agent

The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "mode": "closest",
    "url": "apify.com",
    "urls": [],
    "matchType": "exact",
    "statusCodes": [],
    "excludeStatusCodes": [],
    "mimeTypes": [],
    "excludeMimeTypes": [],
    "collapseBy": "none",
    "sortDirection": "earliest",
    "targetDate": "2024-01-01",
    "enrichWithContent": False,
    "maxContentFetch": 0,
    "maxContentChars": 500000,
    "includeHeadings": False,
    "maxItems": 1,
    "detectChanges": False
}

run = client.actor("dataspryva/wayback-machine-snapshot-history-and-archived-text").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "mode": "closest",
    "url": "apify.com",
    "urls": [],
    "matchType": "exact",
    "statusCodes": [],
    "excludeStatusCodes": [],
    "mimeTypes": [],
    "excludeMimeTypes": [],
    "collapseBy": "none",
    "sortDirection": "earliest",
    "targetDate": "2024-01-01",
    "enrichWithContent": false,
    "maxContentFetch": 0,
    "maxContentChars": 500000,
    "includeHeadings": false,
    "maxItems": 1,
    "detectChanges": false
};

const run = await client.actor("dataspryva/wayback-machine-snapshot-history-and-archived-text").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/dataspryva~wayback-machine-snapshot-history-and-archived-text/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"mode":"closest","url":"apify.com","urls":[],"matchType":"exact","statusCodes":[],"excludeStatusCodes":[],"mimeTypes":[],"excludeMimeTypes":[],"collapseBy":"none","sortDirection":"earliest","targetDate":"2024-01-01","enrichWithContent":false,"maxContentFetch":0,"maxContentChars":500000,"includeHeadings":false,"maxItems":1,"detectChanges":false}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=dataspryva/wayback-machine-snapshot-history-and-archived-text",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

What a run costs

The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.

Cost of Wayback Machine Snapshot History & Archived Text Extractor results by Apify plan
Apify planPer 1,00010,000 results100,000 results
Free plan$0.99$9.90$99
Starter plan$0.82$8.20$82
Scale plan$0.66$6.60$66
Business plan$0.49$4.90$49
  • Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
  • The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
  • Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
  • Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.

Where it fits among Wayback Machine routes

It ranks 1 of 1 catalogue Actors for Wayback Machine on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.

Route diagram for Wayback Machine dataWayback Machine Snapshot History & Archived Text Extractor: stops at 1 of the 10 fields shown; Other Store tools (8): stops at 6 of the 10 fields shown; Wayback Machine APIs (Availability, CDX Server, Memento): public, field coverage not compared.Wayback MachineoriginalarchivestatusmimecapturetitletimestampsnapshotUrlcapturedAtdigest1+API

Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.

Official route: Wayback Machine APIs (Availability, CDX Server, Memento)

Public API. The Internet Archive documents a Wayback Availability JSON API, the Wayback CDX Server API at web.archive.org/cdx/search/cdx for querying and filtering captures, and Memento protocol support.

Free; no API key is required for public captures.

Official documentation

Other Store tools for Wayback Machine

Reference only, from their public listings.

Other Store tools for Wayback Machine
ToolFieldsPrice / 1K
Wayback Machine Scraper9$0.50
Internet Archive & Wayback Machine Scraper7$1.50
Wayback Machine Archive Scraper5$1.00
Wayback Machine Extractor6$0.50
Wayback Machine Snapshots Scraper8$1.00

What people use it for

  • review archived page history
  • find snapshots by date
  • extract archived page text

Complete Page Capture - Screenshot & PDF

Capture complete full-page screenshots or PDFs of any URL list. Scrolls lazy content, waits for images and fonts, removes fixed headers and…

12 output fields $0.99 per 1K

Ahrefs Domain Rating, Backlinks & Traffic Lookup

Look up a domain's public Ahrefs Domain Rating, linking-website count, global rank, and estimated organic traffic, with a mode to fetch just…

6 output fields $0.99 per 1K

Facebook Page & Profile Finder by Keyword or URL

Find Facebook Pages or public profiles by keyword, or scrape a list of Facebook URLs directly, and get back contact info, category, ratings,…

10 output fields $0.99 per 1K

Facebook Public Follower & Following Snapshot Tool

Get the public preview of a Facebook Page or Profile's followers, following, or friends, plus aggregate follower/following counts and parsed…

10 output fields $0.99 per 1K

Search & URL Markdown Extractor for LLMs

Turn a search query or a list of URLs into clean Markdown, plain text, or HTML pages, with filters for domain, keyword, and minimum content…

13 output fields $0.99 per 1K

Wikipedia Article Lookup by URL or Keyword

Fetch structured data for Wikipedia articles by URL or keyword search, in any language edition - summary, description, categories, images, and…

39 output fields $0.99 per 1K

Questions people ask

How much does Wayback Machine Snapshot History & Archived Text Extractor cost?

The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.

What data does Wayback Machine Snapshot History & Archived Text Extractor return?

Its published output schema lists 19 fields: originalUrl, archiveDate, archiveUrl, statusCode, mimeType, contentLength, changeType, captureYear, resultIndex, title, wordCount, characterCount, and 7 more. A listed field is not guaranteed to be filled in every row.

What input does Wayback Machine Snapshot History & Archived Text Extractor need?

No input is strictly required; the defaults run as is. Common settings: mode, url, urls, matchType, dateFrom, dateTo.

How do I run Wayback Machine Snapshot History & Archived Text Extractor from Python or the API?

Use the Apify API client: in Python, ApifyClient(token).actor("dataspryva/wayback-machine-snapshot-history-and-archived-text").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("dataspryva/wayback-machine-snapshot-history-and-archived-text").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/dataspryva~wayback-machine-snapshot-history-and-archived-text/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.

Sources

Actor updated 2026-11-09 Data synced 2026-11-12
Cite this page

Scraper Finder. "Wayback Machine Snapshot History & Archived Text Extractor." https://scraperfinder.com/catalogue/wayback-machine-snapshot-history-and-archived-text/ (data checked 2026-11-12).

Run Wayback Machine Snapshot History & Archived Text Extractor

$0.99 per 1,000 results. Paste the example input above, set your Wayback Machine query, then export the dataset. Still choosing? Compare every Wayback Machine route.

Open in Apify Store