Web Archive API API
The Web Archive API returns historical website snapshots from the Wayback Machine and Common Crawl as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary snapshots endpoint returns a URL's captures with timestamp, original URL, MIME type, status code, digest and length, and you can find the nearest available capture, pull capture history, list a domain's captures, batch and search Common Crawl indexes. It is built for OSINT, brand-monitoring and research workflows that need a page's history without parsing archive.org's raw CDX API. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, snapshots, on .
{
"method": "POST",
"url": "https://api.reefapi.com/web-archive/v1/snapshots",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"url": "github.com",
"limit": 10,
"collapse": "digest"
}
}{
"ok": true,
"meta": {
"api": "web-archive",
"endpoint": "snapshots",
"mode": "live",
"latency_ms": 5933.3,
"record_count": 10,
"bytes": 1307,
"cache_hit": false,
"source": "wayback",
"url": "https://web.archive.org/cdx/search/cdx?url=github.com&output=json&fl=urlkey,timestamp,original,mimetype,statuscode,digest,length&limit=10&collapse=digest&showResumeKey=true",
"has_more": true,
"resume_key": "eJxLzs_VSc8syShN0tRXMDIwsDCwNDAzMDIxMDEHAHRmBzE",
"attempts": 1
},
"data": {
"snapshots": [
{
"timestamp": "[redacted-phone]",
"datetime": "[redacted-phone]T21:01:48Z",
"original": "http://github.com/",
"urlkey": "com,github)/",
"mimetype": "text/html",
"statuscode": "200",
"digest": "L4YKKNIYL4FNB5SJWPQ4YII5FJTLWHRF",
"length": 3531,
"snapshot_url": "https://web.archive.org/web/[redacted-phone]/http://github.com/"
},
{
"timestamp": "[redacted-phone]",
"datetime": "[redacted-phone]T20:13:17Z",
"original": "http://github.com:80/?",
"urlkey": "com,github)/",
"mimetype": "text/html",
"statuscode": "200",
"digest": "7HRNG6K4OGFHZZU4KVQO4ZMO7M7LYMLQ",
"length": 3474,
"snapshot_url": "https://web.archive.org/web/[redacted-phone]/http://github.com:80/?"
},
{
"timestamp": "[redacted-phone]",
"datetime": "[redacted-phone]T21:14:38Z",
"original": "http://github.com:80/?",
"urlkey": "com,github)/",
"mimetype": "text/html",
"statuscode": "200",
"digest": "5QK7JOGEJQKSQGH2IVAX7AIT7GTOUU5A",
"length": 4199,
"snapshot_url": "https://web.archive.org/web/[redacted-phone]/http://github.com:80/?"
}
],
"count": 10,
"resume_key": "eJxLzs_VSc8syShN0tRXMDIwsDCwNDAzMDIxMDEHAHRmBzE",
"has_more": true
}
}What the Web Archive API API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| snapshots | All Wayback captures for a URL (timestamp, status, mimetype, digest, archival size, snapshot_url), date/status/mime filtered, collapsible, RESUME-KEY PAGINATED. | Ops teams call snapshots to get all Wayback captures for a URL (timestamp, status, mimetype, digest, archival size, snapshot_…. | url, from, to, limit, collapse, ... |
| available | Closest single Wayback snapshot to a given date (or the latest). Fast existence check. | Developer tools call available to get closest single Wayback snapshot to a given date (or the latest). | url, timestamp |
| history | Lifespan + capture cadence for a URL: EXACT first_seen/last_seen + span, plus per-year capture counts and status/mime breakdown — the SEO/due-diligence summary. | Validation workflows call history to get lifespan + capture cadence for a URL. | url, from, to, match |
| domain_captures | All archived URLs under a domain (the domain + its subdomains), one row per unique URL — the 'every page this site ever had' view. Resume-key paginated. | Data-quality teams call domain_captures to get all archived URLs under a domain (the domain + its subdomains), one row per unique URL. | url, from, to, limit, status, ... |
| batch | Closest-snapshot existence + capture-count for up to 20 URLs in one call (bulk archival presence — competitor/portfolio sweeps). | Ops teams call batch to get closest-snapshot existence + capture-count for up to 20 URLs in one call (bulk archival presence. | urls, timestamp |
| cc_search | Common Crawl index lookup for a URL — alternate/broader coverage with richer fields (detected language, encoding, WARC offset/filename). Cross-source corroboration. | Developer tools call cc_search to get common Crawl index lookup for a URL. | url, collection, match, limit, from, ... |
| cc_indexes | List the available Common Crawl monthly indexes (id, name, date range) — pick a collection for cc_search. | Validation workflows call cc_indexes to list the available Common Crawl monthly indexes (id, name, date range). | none |
Call snapshots from your stack
curl -X POST https://api.reefapi.com/web-archive/v1/snapshots \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"url":"github.com","limit":10,"collapse":"digest"}'import requests
r = requests.post(
"https://api.reefapi.com/web-archive/v1/snapshots",
headers={"x-api-key": REEF_KEY},
json={
"url": "github.com",
"limit": 10,
"collapse": "digest"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/web-archive/v1/snapshots", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"url": "github.com",
"limit": 10,
"collapse": "digest"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.web-archive.snapshots with {"url":"github.com","limit":10,"collapse":"digest"}.Who uses this API and why
- OSINT researchers call snapshots to see how a page or claim looked at a point in time.
- Brand-monitoring tools use history to track how a competitor's pricing or messaging changed.
- Compliance teams use available to retrieve the archived version of a page for evidence.
Questions developers ask before integrating
What is the Web Archive API API?
Web Archive API API is a ReefAPI endpoint group for web archive api It returns live JSON through POST requests under /web-archive/v1.
Is the Web Archive API API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Web Archive API calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Web Archive API login or account?
No login to Web Archive API is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Web Archive API data?
The page example is captured from a live snapshots call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Web Archive API API use?
Web Archive API actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Web Archive API from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call web-archive actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Web Archive API API a Web Archive API scraper?
It is the managed alternative to a DIY Web Archive API scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same web archive api back as clean JSON.
Why does my Web Archive API scraper keep getting blocked?
Most Web Archive API scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.