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.
https://api.epsteinarchive.devQuick 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
Search
Hybrid search combining keyword and semantic search.
Base path: /api/v1/search
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
