Core API Documentation v1.4.0

The 1990 Web Archive Core API provides programmatic access to our curated collection of early web artifacts. All endpoints support JSON responses, cursor-based pagination, and cryptographic verification of archived content.

Authentication

All API requests require a valid API key passed via the X-1990-Archive-Key header. Keys are scoped to specific collections and can be managed in your developer dashboard.

Header Type Description
X-1990-Archive-Keyrequired string Your secret API key
X-Client-Version string Optional: SDK or client version
Accept string Defaults to application/json
Bash
# Example request with curl curl -X GET "https://api.1990webarchive.com/v1/archive/search" \ -H "X-1990-Archive-Key: sk_live_8f7a...9x2m" \ -H "Accept: application/json"

Endpoints

GET /v1/archive/search Stable

Query the archive index for preserved pages, assets, or metadata matching era-specific criteria.

q string Search query or URL pattern
era range Date range (e.g., 1995-1999)
format enum html, gif, mid, full_render
cursor string Pagination cursor
POST /v1/archive/render Stable

Triggers an on-demand pixel-perfect rendering of an archived page using era-appropriate browser emulation.

archive_id string Unique identifier of the archived page
emulator enum netscape_30, ie_40, mozilla_1_0
viewport string Resolution string (e.g., 800x600)
GET /v1/geo/profiles/:id Beta

Retrieves structured metadata for a recovered GeoCities or Angelfire personal homepage.

id string Path segment or numeric ID
include_assets boolean Include base64 thumbnails and GIF manifests
GET /v1/system/health Stable

Returns system status, storage utilization, and crawler queue depth.

JSON Response
{ "status": "operational", "storage_tb": 142.8, "active_crawlers": 12, "queue_depth": 3420, "last_backup": "2024-11-14T08:30:00Z" }

Rate Limits & Quotas

Tier Allocation

  • Free Tier: 100 requests/hour, 5 concurrent renders
  • Researcher: 5,000 requests/hour, 50 concurrent renders
  • Enterprise: Custom limits, dedicated crawler nodes, SLA support

Rate limit headers are included in every response:

Response Headers
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 842 X-RateLimit-Reset: 1700000000 Retry-After: 45 (only on 429)

Error Codes

The API uses standard HTTP status codes. Detailed error payloads are returned in JSON format.

Code Meaning Resolution
200 OK Request successful
400 Bad Request Malformed query or invalid parameters
401 Unauthorized Missing or expired API key
429 Too Many Requests Check Retry-After header and implement backoff
500 Internal Server Error Archival node failure. Retry with exponential backoff.

Need Help?

Check our SDK repository on GitHub, join the #api-support channel on Discord, or contact developer-relations@1990webarchive.com for enterprise access.