EDA

Public API

v1

Free, 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

GET/api/v1/documents

Search and browse investigation documents

Parameters

NameTypeRequiredDescription
qstringoptionalSearch query (matches title)
typestringoptionalFilter by document_type (court_record, fbi_file, foia_release, deposition, correspondence, financial_record, other)
sourcestringoptionalFilter by source (doj_dataset_1, doj_court_records, fbi_vault, house_oversight, etc.)
pagenumberoptionalPage number (default: 1)
limitnumberoptionalResults 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
}
GET/api/v1/entities

Search people, organizations, locations, and other entities

Parameters

NameTypeRequiredDescription
qstringoptionalSearch by name
typestringoptionalFilter by entity_type (person, organization, location, aircraft, property)
pagenumberoptionalPage number (default: 1)
limitnumberoptionalResults 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
}
GET/api/v1/flights

Query flight log records including passengers and routes

Parameters

NameTypeRequiredDescription
passengerstringoptionalFilter by passenger name
airportstringoptionalFilter by departure or arrival airport code
date_fromstringoptionalStart date (YYYY-MM-DD)
date_tostringoptionalEnd date (YYYY-MM-DD)
pagenumberoptionalPage number (default: 1)
limitnumberoptionalResults 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
}

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.

FAQ: Epstein Files API

Is the Epstein Files API free to use?
Yes. The API is completely free and does not require an API key. It provides read-only access to the same data available on the website. We ask that you include attribution when using the data.
What are the API rate limits?
The API is rate-limited to approximately 100 requests per minute per IP address. For bulk data access, please use the download page to get CSV exports of the full dataset.
Can I use this data in my research or journalism?
Yes. All data in the archive comes from publicly released government documents (DOJ, FBI, House Oversight Committee). You are free to use the API for research, journalism, academic work, or any other lawful purpose. We appreciate attribution to the Epstein Document Archive.
How often is the data updated?
The archive is continuously updated as new documents are processed and loaded. New DOJ releases are added as they become available. Entity extraction and cross-referencing are ongoing processes.
Is there a bulk download option?
Yes. Visit the Download page for CSV exports of entities, flight logs, and other datasets. The API is better suited for programmatic queries and building applications on top of the data.