HomeAPI Documentation

API Documentation

The Epstein Archive provides a public REST API for accessing documents, entities, search, timeline events, and graph data. All endpoints return JSON and support CORS.

Base URL:https://api.epsteinarchive.dev
Version:v1
Format:JSON

Quick Start

The API is open and requires no authentication. Here is a simple example to get started:

# Search for documents mentioning "flight logs"
curl "https://api.epsteinarchive.dev/api/v1/search?q=flight%20logs&limit=5"

# Get document statistics
curl "https://api.epsteinarchive.dev/api/v1/documents/stats"

# Get top entities by importance
curl "https://api.epsteinarchive.dev/api/v1/entities?sort=importance-desc&limit=10"

Rate Limiting

The API implements rate limiting to ensure fair usage. Current limits:

  • 100 requests per minute per IP address
  • Exceeded limits return 429 Too Many Requests
  • Rate limit headers are included in responses

Response Format

All responses follow a consistent format:

// Successful response
{
  "success": true,
  "data": { ... },
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 1234,
    "totalPages": 62
  }
}

// Error response
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Document not found"
  }
}

Documents

Access court filings, emails, depositions, FBI reports, and photos.

Base path: /api/v1/documents

Entities

People, organizations, and locations extracted from documents.

Base path: /api/v1/entities

Graph

Entity relationship graph data for visualization.

Base path: /api/v1/graph

Timeline

Chronological events extracted from documents.

Base path: /api/v1/timeline

UMAP Visualization

Document embeddings projected to 2D/3D space for cluster visualization.

Base path: /api/v1/umap

Health

API health and status endpoints.

Base path: /health