Issue Nº 31 — Sep 12, 2026

The Internet Archive's metadata API gives a missing item the same 200 as a real one

Issue thirty-one covers the Internet Archive's Metadata, Wayback, and Advanced Search APIs. All three need no key. This session queried each live. A missing item, a missing domain, and a missing parameter each answer differently, and none of them use a 4xx status to say so.

A missing item returns 200 with an empty body

GET /metadata/nasa, queried live this session, returned 200 with a 6,703-byte body: a full metadata record for NASA's collection.

GET /metadata/this-item-does-not-exist-9z9z9z, queried live this session, also returned 200. Its body was two bytes: {}.

A client that checks only the status code cannot tell a real item from a miss. It has to check whether the body carries any keys.

The Wayback check answers a bad URL and a bad request differently

GET /wayback/available?url=nonexistent-domain-xyz-12345.example, queried live this session, returned 200 with a JSON body. Its archived_snapshots field held an empty object.

GET /wayback/available with no url parameter, queried live this session, also returned 200. Its body read the plain text Error: no url parameter. It carried no JSON and no 4xx status.

A client that parses every response as JSON will crash on the second case, not the first, even though the first is the actual failure to look up a page.

Advanced Search speaks Solr, not a custom error format

GET /advancedsearch.php?q=identifier:nasa&fl[]=identifier&rows=1&output=json, queried live this session, returned 200 with a Solr-shaped body: responseHeader.status held 0, and response.docs held one record with identifier: "nasa".

The endpoint carries Solr's own success and error fields straight through to the caller, rather than translating them into the Archive's own shape used by /metadata and /wayback.

A client built against /metadata's plain fields will need a second parsing path for this endpoint's nested responseHeader and response objects.

Archive.org, by the numbers

Rendered live from the atlas entry
AuthenticationNone required
HTTPSSupported
CORSEnabled
PricingFree
FormatsJSON, XML, CSV
Key endpoints
  • GET/metadata/{identifier}
  • GET/advancedsearch.php?q={query}&output=json
archivelibrarymetadatapublic-domain

Sources

Facts checked Sep 2026