# Wayback Machine: Recover Deleted Gov Pages & Data (`thoob/gov-data-rescue-retriever`) Actor

Recovers US federal pages and datasets pulled offline by finding their archived copies through the Internet Archive's official Wayback APIs. Returns the archived snapshot URL, timestamp, and metadata for each source. Billed only per archived snapshot found.

- **URL**: https://apify.com/thoob/gov-data-rescue-retriever.md
- **Developed by:** [Pono Data](https://apify.com/thoob) (community)
- **Categories:** Developer tools, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.03 / 1,000 snapshot founds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Government Data-Rescue Retriever

US federal pages and datasets have been pulled offline, and people need the
archived copies. Give this actor the original URLs and it finds their captures in
the Internet Archive, returning a snapshot you can open now plus its capture
date, status, and type. Closest-capture mode gives you the single best snapshot;
history mode lists every capture.

### What this collects and how (clear-zone stance)

- **What**: pointers to Internet Archive captures of US government pages, the
  archived URL and its metadata. The underlying material is US-government work,
  public domain.
- **Source**: the Internet Archive's own official public APIs (Wayback
  Availability and CDX). No logins, no paywalls, no access bypass, and no
  scraping of arbitrary third-party mirrors, so the only reuse terms in play are
  the Archive's own, which permit programmatic access.
- **Scope**: built for US government data. Each row is stamped `jurisdiction=US`.
- **Billing**: charged only per archived snapshot actually found; misses are free.
- **Provenance**: every row carries the exact Internet Archive API query as
  `sourceUrl`, so any result is verifiable.

This actor returns archived locations and metadata; it does not re-host content
or extract individual-level records. Point it at public pages and datasets, not
at anything containing personal records.

### Input

- **URLs to recover**, **Mode** (closest / history), **Target date** (closest),
  **From/To date** and **Only successful (200)** and **Max captures per URL** (history),
  **Max delivered snapshots**.

### Output

`originalUrl`, `archivedUrl`, `timestamp`, `waybackTimestamp`, `statusCode`,
`mimeType`, `digest`, plus provenance (`sourceUrl`, `retrievedAt`, `confidence`,
`jurisdiction`, `dataSource`).

### Sample output

A real run recovering archived copies of federal pages (Internet Archive):

| original URL | archived snapshot | snapshot time | HTTP |
| --- | --- | --- | --- |
| https://www.cdc.gov | http://web.archive.org/web/2026061423… | 2026-06-14 | 200 |
| https://www.epa.gov | http://web.archive.org/web/2026061323… | 2026-06-13 | 200 |

Every row carries a `sourceUrl` (the Wayback availability query), for example `https://archive.org/wayback/available?url=https%3A%2F%2Fwww.cdc.gov`.

### See also

More clean, pay-only-for-results data tools from Pono Data:

- [Regulatory Change Monitor](https://apify.com/thoob/regulatory-change-monitor) - federal rulemaking from the Federal Register
- [FDA Food Recall & Enforcement Alerts](https://apify.com/thoob/fda-food-recall-feed) - US food recalls and enforcement reports
- [FCC Filings & Proceedings Lookup](https://apify.com/thoob/fcc-ecfs-filings) - public FCC filings and proceedings

Full catalog: https://apify.com/thoob

# Actor input Schema

## `urls` (type: `array`):

The original (now-offline) page or dataset URLs to find archived copies of, one per line (for example https://www.cdc.gov/nchs/hus/). The actor queries the Internet Archive for snapshots of each.
## `mode` (type: `string`):

closest returns the single best archived capture (optionally nearest a target date). history returns every capture the Internet Archive holds.
## `timestamp` (type: `string`):

Optional. In closest mode, find the capture nearest this date (for example 20250101). Empty means the most recent.
## `fromDate` (type: `string`):

Optional. In history mode, earliest capture date to include.
## `toDate` (type: `string`):

Optional. In history mode, latest capture date to include.
## `onlySuccessful` (type: `boolean`):

In history mode, keep only captures with HTTP status 200.
## `maxSnapshotsPerUrl` (type: `integer`):

Cap on captures returned per URL in history mode. 0 means no per-URL cap.
## `maxRecords` (type: `integer`):

Cap on delivered, billed rows. Default 1000. 0 means no cap. The platform spend cap is honored regardless.

## Actor input object example

```json
{
  "urls": [
    "https://www.cdc.gov/nchs/",
    "https://data.cdc.gov"
  ],
  "mode": "closest",
  "onlySuccessful": true,
  "maxSnapshotsPerUrl": 50,
  "maxRecords": 1000
}
````

# Actor output Schema

## `documents` (type: `string`):

One row per archived capture found.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.cdc.gov/nchs/",
        "https://data.cdc.gov"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("thoob/gov-data-rescue-retriever").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "urls": [
        "https://www.cdc.gov/nchs/",
        "https://data.cdc.gov",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("thoob/gov-data-rescue-retriever").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.cdc.gov/nchs/",
    "https://data.cdc.gov"
  ]
}' |
apify call thoob/gov-data-rescue-retriever --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=thoob/gov-data-rescue-retriever",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wayback Machine: Recover Deleted Gov Pages & Data",
        "description": "Recovers US federal pages and datasets pulled offline by finding their archived copies through the Internet Archive's official Wayback APIs. Returns the archived snapshot URL, timestamp, and metadata for each source. Billed only per archived snapshot found.",
        "version": "0.0",
        "x-build-id": "EHqHsiwPuCxOaKJob"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/thoob~gov-data-rescue-retriever/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-thoob-gov-data-rescue-retriever",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/thoob~gov-data-rescue-retriever/runs": {
            "post": {
                "operationId": "runs-sync-thoob-gov-data-rescue-retriever",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/thoob~gov-data-rescue-retriever/run-sync": {
            "post": {
                "operationId": "run-sync-thoob-gov-data-rescue-retriever",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "URLs to recover",
                        "minItems": 1,
                        "type": "array",
                        "description": "The original (now-offline) page or dataset URLs to find archived copies of, one per line (for example https://www.cdc.gov/nchs/hus/). The actor queries the Internet Archive for snapshots of each.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "closest",
                            "history"
                        ],
                        "type": "string",
                        "description": "closest returns the single best archived capture (optionally nearest a target date). history returns every capture the Internet Archive holds.",
                        "default": "closest"
                    },
                    "timestamp": {
                        "title": "Target date for closest (YYYYMMDD)",
                        "type": "string",
                        "description": "Optional. In closest mode, find the capture nearest this date (for example 20250101). Empty means the most recent."
                    },
                    "fromDate": {
                        "title": "History from (YYYYMMDD)",
                        "type": "string",
                        "description": "Optional. In history mode, earliest capture date to include."
                    },
                    "toDate": {
                        "title": "History to (YYYYMMDD)",
                        "type": "string",
                        "description": "Optional. In history mode, latest capture date to include."
                    },
                    "onlySuccessful": {
                        "title": "Only successful captures (HTTP 200)",
                        "type": "boolean",
                        "description": "In history mode, keep only captures with HTTP status 200.",
                        "default": true
                    },
                    "maxSnapshotsPerUrl": {
                        "title": "Max captures per URL (history)",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Cap on captures returned per URL in history mode. 0 means no per-URL cap.",
                        "default": 50
                    },
                    "maxRecords": {
                        "title": "Max delivered snapshots",
                        "minimum": 0,
                        "maximum": 200000,
                        "type": "integer",
                        "description": "Cap on delivered, billed rows. Default 1000. 0 means no cap. The platform spend cap is honored regardless.",
                        "default": 1000
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
