Public API
v1Free, public API for accessing the Epstein investigation document archive. No API key required. Query documents, entities, flight logs, and more programmatically. Built for journalists, researchers, and developers.
Quick Start
Base URL: https://www.epsteininvestigation.org
/api/v1
cURL
curl "https://www.epsteininvestigation.org /api/v1/entities?q=epstein&type=person&limit=5"
JavaScript
const res = await fetch("https://www.epsteininvestigation.org
/api/v1/documents?q=maxwell");
const { data, total } = await res.json();
console.log(`Found ${total} documents`);Python
import requests
r = requests.get("https://www.epsteininvestigation.org
/api/v1/flights?airport=TEB")
flights = r.json()["data"]Available Datasets
Documents
207K+ investigation documents from DOJ, FBI, and House Oversight releases
Entities
23K+ people, organizations, locations, aircraft, and properties with cross-references
Flight Logs
3K+ flight records with passengers, routes, airports, and coordinates
Full-Text Search
Search across all documents with keyword matching and relevance ranking
Endpoints
/api/v1/documentsSearch and browse investigation documents
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | optional | Search query (matches title) |
| type | string | optional | Filter by document_type (court_record, fbi_file, foia_release, deposition, correspondence, financial_record, other) |
| source | string | optional | Filter by source (doj_dataset_1, doj_court_records, fbi_vault, house_oversight, etc.) |
| page | number | optional | Page number (default: 1) |
| limit | number | optional | Results per page (default: 20, max: 100) |
Example Request
GET https://www.epsteininvestigation.org /api/v1/documents?q=maxwell&type=court_record&limit=5
Example Response
{
"data": [
{
"id": "uuid",
"slug": "document-slug",
"title": "Document Title",
"document_type": "court_record",
"source": "doj_court_records",
"document_date": "2024-01-15",
"excerpt": "First 200 characters...",
"page_count": 12,
"file_url": "https://...",
"source_url": "https://..."
}
],
"total": 142,
"page": 1,
"limit": 5
}/api/v1/entitiesSearch people, organizations, locations, and other entities
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | optional | Search by name |
| type | string | optional | Filter by entity_type (person, organization, location, aircraft, property) |
| page | number | optional | Page number (default: 1) |
| limit | number | optional | Results per page (default: 20, max: 100) |
Example Request
GET https://www.epsteininvestigation.org /api/v1/entities?q=gates&type=person
Example Response
{
"data": [
{
"id": "uuid",
"slug": "bill-gates",
"name": "Bill Gates",
"entity_type": "person",
"document_count": 45,
"flight_count": 2,
"email_count": 0,
"role_description": "Microsoft co-founder"
}
],
"total": 3,
"page": 1,
"limit": 20
}/api/v1/flightsQuery flight log records including passengers and routes
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| passenger | string | optional | Filter by passenger name |
| airport | string | optional | Filter by departure or arrival airport code |
| date_from | string | optional | Start date (YYYY-MM-DD) |
| date_to | string | optional | End date (YYYY-MM-DD) |
| page | number | optional | Page number (default: 1) |
| limit | number | optional | Results per page (default: 20, max: 100) |
Example Request
GET https://www.epsteininvestigation.org /api/v1/flights?airport=TEB&limit=5
Example Response
{
"data": [
{
"id": "uuid",
"slug": "flight-slug",
"flight_date": "2002-03-15",
"aircraft_id": "N908JE",
"departure_airport_code": "TEB",
"departure_airport": "Teterboro",
"arrival_airport_code": "PBI",
"arrival_airport": "Palm Beach Intl",
"passenger_names": ["JE", "GM", "..."],
"pilot": "Larry Visoski"
}
],
"total": 89,
"page": 1,
"limit": 5
}/api/v1/searchFull-text search across all documents
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | required | Search query (required) |
| page | number | optional | Page number (default: 1) |
| limit | number | optional | Results per page (default: 20, max: 100) |
Example Request
GET https://www.epsteininvestigation.org /api/v1/search?q=little+st+james&limit=10
Example Response
{
"data": [
{
"id": "uuid",
"slug": "document-slug",
"title": "Document Title",
"document_type": "court_record",
"document_date": "2019-08-09",
"excerpt": "Relevant excerpt..."
}
],
"total": 234,
"page": 1,
"limit": 10,
"query": "little st james"
}Usage Notes
CORS
All endpoints support CORS. You can call them directly from browser JavaScript on any domain.
Pagination
Use page and limit parameters. The response includes total for calculating total pages. Maximum limit is 100.
Rate Limiting
Approximately 100 requests per minute per IP. For bulk data, use CSV downloads instead.
Attribution
Please credit “Epstein Document Archive (epsteininvestigation.org)” when using this data in publications or applications.