Archive.today
Archive.today
- providers.archiveToday()
- provider: "archiveToday"
- Index
- Memento TimeMap
- Bodies
- the archive's rendering
- provider=all
- included
Operations
- Listsnapshots()
- Readcontent()
- Diffdiff()
Access
- Load
createArchive(providers.archiveToday()) - Needs
nothing, no key or collection - Replay
Archive.today doesn't answer connections from Cloudflare Workers, so this site can't list or read it. Run providers.archiveToday() from your own machine.
Load it
import { createArchive, providers } from "@agntn/archives";
const archive = createArchive(providers.archiveToday());
What it lists
snapshots reads archive.is/timemap/<url>, a Memento TimeMap in link format, and turns every rel="memento" entry into a page. _meta carries the capture hash, the raw_date the TimeMap printed, and the position in the list. Snapshot URLs point at archive.md, exactly as the TimeMap names them. The from and to window is applied after the fact.
A URL Archive.today never saved has no TimeMap at all. The endpoint answers 404 with The archive has no Mementos for the requested URI, and the provider reads that as an empty listing, not a failure. Every other 404 is still an error.
Reading bodies
Archive.today does not expose original responses. content() fetches the capture page Archive.today rendered, so the body is that wrapper HTML around the archived page. It is still useful for text, and the format=text rendering in the agent tools reads well, but a raw diff against it shows Archive.today's markup, not the site's.
Every real capture answers with a Memento-Datetime header. A response without it is the bot protection page, and the provider reports that instead of handing it back as content.
Gotchas
- Rate limits are strict. Retries and a cache are not optional here.
- The TimeMap lists
www.and bare domain captures together under the domain you asked for. - Do not diff an Archive.today body against another archive's; the helper refuses it, and for good reason.
Where it lives
src/providers/archive-today.ts.