v1.2.0

1990 Web Archive API

Programmatic access to the earliest preserved web content. Search, archive, and render historical snapshots with versioned, predictable endpoints.

Authentication

All API requests require authentication via Bearer token. Include your API key in the request header as shown below. Keys can be generated in your dashboard under Settings > API Keys.

Request Header
Authorization: Bearer your_api_key_here

Limited scope keys are supported. You can restrict keys to read-only access, specific endpoints, or IP allowlists.

Rate Limits

API access is throttled based on your subscription tier. Standard limits apply unless noted otherwise.

Plan Requests / min Burst Concurrent Jobs
Developer 30 10 2
Researcher 120 40 10
Enterprise Unlimited 200 100+

Rate limit headers are returned with every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Submit for Archiving

POST /v1/archive Queue a URL for preservation

Submits a live or historical URL for capture. The crawler will preserve HTML, assets, and metadata. Returns a job ID for tracking.

Request Body (JSON)
{ "url": "https://example.com", "depth": 1, "user_agent": "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)", "metadata": { "tags": ["legacy", "research"], "notes": "Preserve before shutdown" } }
202 Accepted
{ "job_id": "job_9f3k21", "status": "queued", "estimated_completion": "2025-11-10T12:45:00Z" }

Render Snapshot

GET /v1/render/{id} Retrieve archived page content

Returns the preserved HTML, asset manifests, and rendering metadata. Accepts Accept: application/json or text/html.

200 OK (JSON)
{ "id": "arc_8x29a1", "html": "<!DOCTYPE html><html><head>...", "assets": [ "/cdn/assets/arc_8x29a1/bg_tile.gif", "/cdn/assets/arc_8x29a1/main.css" ], "viewport": { "width": 800, "height": 600 }, "render_engine": "netscape_navigator_3_0" }

Error Codes

The API uses standard HTTP status codes and returns detailed error objects in the response body.

Code Meaning Description
400 Bad Request Invalid parameters, malformed JSON, or missing required fields
401 Unauthorized Missing or invalid API key
429 Rate Limited Too many requests. Check X-RateLimit-Reset header
404 Not Found Archive ID or endpoint does not exist
Error Response Format
{ "error": { "code": "rate_limit_exceeded", "message": "You have exceeded your allowed requests per minute.", "retry_after": 42 } }

SDKs & Tools

Official and community-maintained libraries for integrating with the 1990 Web Archive API.

Python
pip install 1990-archive
Node.js
npm install @1990archive/client
cURL Wrapper
bash < ./scripts/archive.sh