Quickstart Guide
v1.4.2Learn how to authenticate, retrieve archived webpages, and integrate the 1990 Web Archive API into your application in under 5 minutes.
This documentation assumes HTTPS/TLS 1.2+. If you're integrating with pre-1999 infrastructure, refer to our Protocol Bridging Guide.
Prerequisites
- An active API key from the developer dashboard
- Node.js 18+ or any HTTP client supporting JSON payloads
- Basic understanding of RESTful API architecture
Authentication
All API requests require authentication via Bearer token. Include your API key in the Authorization header:
GET /v1/archive/retrieve HTTP/1.1
Host: api.1990webarchive.com
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Never expose your API keys in client-side code or public repositories. Use environment variables or secret managers.
Retrieving Archived Pages
The core endpoint for fetching historical web content. You can query by URL, timestamp, or archive ID.
Basic Request
const response = await fetch('https://api.1990webarchive.com/v1/archive/retrieve', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${API_KEY}`
},
body: JSON.stringify({
url: 'https://www.geocities.com/Area51/CyberZone/2424',
timestamp: '1998-11-04T14:30:00Z',
format: 'mhtml' // 'html', 'warc', or 'mhtml'
})
});
const archive = await response.json();
console.log(archive.content);
Response Format
| Field | Type | Description |
|---|---|---|
id |
string | Unique archive identifier |
original_url |
string | The source URL captured |
capture_date |
string | ISO 8601 timestamp of preservation |
content |
string | Base64-encoded archive payload |
metadata |
object | HTTP headers, MIME type, checksums |
Advanced Search
Query the index using era-specific filters, technology tags, or visual style descriptors.
const results = await fetch('https://api.1990webarchive.com/v1/archive/search', {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` },
body: JSON.stringify({
query: 'guestbook webring',
filters: {
era: '1996-1999',
technologies: ['html_tables', 'mid_background', 'hit_counter'],
min_quality: 0.8
},
limit: 20
})
});
Use the render_preview=true parameter to get a base64 PNG snapshot of how the page appeared in Netscape Navigator 3.0.
Rate Limits
API access is tiered based on your subscription plan:
| Plan | Requests/min | Daily Quota | Max Payload |
|---|---|---|---|
| Free | 15 | 500 | 2 MB |
| Researcher | 100 | 10,000 | 50 MB |
| Enterprise | 500 | Unlimited | 500 MB |
Exceeding limits returns 429 Too Many Requests with a Retry-After header.
Next Steps
- Explore Authentication Methods for OAuth2 and API key rotation
- Read the WARC Format Specification for offline archival
- Join our Developer Discord for community support