Developer Documentation
Welcome to the 1990 Web Archive developer portal. Our RESTful API provides programmatic access to over 4.2 million archived web pages, complete with metadata, rendering pipelines, and preservation tools. Designed for researchers, developers, and digital archivists.
ℹ️ This documentation covers API v2.4.0. Previous versions are available in the version archive.
Authentication
All API requests require authentication via Bearer token. Tokens can be generated in your Developer Dashboard. Never expose your secret keys in client-side code.
GET /v1/archive/search?q=geocities&year=1997
Authorization: Bearer your_api_token_here
Accept: application/json
| Header | Description |
|---|---|
Authorization | Bearer token for authentication |
X-Archive-Version | Optional. Target rendering engine (default: netscape-3.0) |
API Reference: Search
Query the archive for pages matching specific criteria. Supports full-text, era-based, and technology filters.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
q Required | string | Search query (supports wildcards) |
year | integer | Filter by capture year (1990-1999) |
format | string | HTML, GIF, MIDI, MHTML |
limit | integer | Results per page (max 100, default 20) |
curl -X GET "https://api.1990archive.dev/v1/archive/search?q=under+construction&year=1998&limit=5" \
-H "Authorization: Bearer $TOKEN"
API Reference: Preserve
Submit a URL for immediate archiving. Returns a preservation ticket and estimated completion time.
{
"url": "https://example.com/legacy",
"render_engine": "netscape-3.0",
"capture_assets": true,
"priority": "standard"
}
Response
{
"ticket_id": "arc_7f9a2b1c",
"status": "queued",
"estimated_completion": "2024-05-12T14:30:00Z",
"webhook_url": null
}
SDKs & Libraries
We provide official SDKs for popular languages. Community packages are also welcome and verified.
npm install @1990archive/sdk
pip install archive1990
Error Handling
The API uses standard HTTP status codes and returns structured JSON errors. All errors include a machine-readable code for programmatic handling.
| Code | Status | Description |
|---|---|---|
rate_limit_exceeded | 429 | Too many requests. Check Retry-After header. |
archive_not_found | 404 | The requested ID does not exist in the index. |
render_failed | 503 | Legacy rendering engine temporarily unavailable. |
invalid_token | 401 | Authentication failed or token expired. |