1

Authentication & API Keys

All interactions with the archive require a valid API key. Generate yours from your dashboard under Settings → API Access. Keys are scoped to specific regions and have rate limits based on your plan.

Bash
$ export WA_API_KEY="wa_live_8f9a2b1c3d4e5f6g7h8i" $ export WA_REGION="us-east-1"
ℹ️
Never commit API keys to version control. Use environment variables or a secret manager in production workflows.
2

Setup & Installation

Choose your preferred interface. The CLI is recommended for researchers and automated pipelines, while the Dashboard offers visual job monitoring and instant preview.

  • CLI: Install via npm, pip, or standalone binary
  • Dashboard: Access at app.1990archive.com
  • REST API: Base endpoint https://api.1990archive.com/v2
NPM
$ npm install -g @1990webarchive/cli $ wa init # Verifies connection and configures defaults
3

Run Your First Crawl

Use the wa crawl command to queue a preservation job. You can target a single URL, a sitemap, or a list of legacy domains. The engine automatically resolves frames, redirects, and embedded assets.

Bash
$ wa crawl --url "http://www.example.com/geocities-page.html" \ --era "1995-1999" \ --format "warc,html-pkg" \ --depth "3" \ --output "./archive-job-01"
⚠️
Legacy sites often use deprecated protocols (HTTP/1.0, FTP, Gopher). Our crawler handles automatic fallback, but enable --legacy-mode for maximum compatibility.
4

Retrieve & Export

Once completed, your archive is indexed and ready for retrieval. You can download packages directly or stream them via the API. All exports include metadata manifests and cryptographic integrity hashes.

Bash
$ wa jobs list $ wa export --id "job_9x2k4m" --format "zip" --dest "./output" [✓] Download complete: 48.2MB (312 resources, 28 GIFs, 14 MIDI)
?

FAQ & Troubleshooting

Q: Why are some frames missing?
A: Framesets are reconstructed using our legacy renderer. Ensure --frames is enabled and check the job logs for blocked resources.

Q: Can I archive password-protected sites?
A: Yes. Pass HTTP headers or session cookies via --auth-header or a .netrc file. We never store credentials; they are encrypted in transit and discarded after the job.

Q: How do I verify archive integrity?
A: Every package includes a manifest.sha256 and a timestamped signature. Run wa verify --path ./output to validate.

Ready to dive deeper?