Install
openclaw skills install jmailSearch and analyze the Jeffrey Epstein email archive (1.78M emails, 4,500+ iMessages, 18K photos, 1.4M documents, 473 identified people) via jmail.world's official Data API. DuckDB/Parquet queries, Web Search API, and file downloads. No auth needed.
openclaw skills install jmailSearch and analyze Jeffrey Epstein's email archive, iMessages, documents, photos, and people on jmail.world.
GET https://jmail.world/api/emails/search?q=QUERY&limit=50&page=1&source=all&from=NAME
No auth needed. Use web_fetch or curl. Good for quick keyword searches.
All datasets served as static Parquet files from https://data.jmail.world/v1/. No API key, no rate limit, no auth.
Use the included scripts:
# Full-text email search (Web API)
bash scripts/jmail-search.sh "query text"
bash scripts/jmail-search.sh "scopolamine" --from "Epstein" --limit 20
# DuckDB queries (local Parquet, no rate limits)
bash scripts/jmail-duckdb.sh search "flight manifest"
bash scripts/jmail-duckdb.sh person "Ghislaine Maxwell"
bash scripts/jmail-duckdb.sh imessages "ghislaine-maxwell"
bash scripts/jmail-duckdb.sh imessage-search "AfD"
bash scripts/jmail-duckdb.sh imessage-search "Merkel" --from "Bannon"
bash scripts/jmail-duckdb.sh imessage-list
bash scripts/jmail-duckdb.sh network "Bill Clinton"
bash scripts/jmail-duckdb.sh timeline "2005-01-01" "2005-12-31"
bash scripts/jmail-duckdb.sh top-senders
bash scripts/jmail-duckdb.sh people
bash scripts/jmail-duckdb.sh documents "flight"
bash scripts/jmail-duckdb.sh photos "person-name"
bash scripts/jmail-duckdb.sh photo-search "pool"
bash scripts/jmail-duckdb.sh photo-download "EFTA00000002-0.png" ./output
bash scripts/jmail-duckdb.sh download "EFTA02406146"
bash scripts/jmail-duckdb.sh download "HOUSE_OVERSIGHT_034601"
bash scripts/jmail-duckdb.sh stars
| Dataset | URL | Size | Records |
|---|---|---|---|
| Emails (full) | emails.parquet | 334MB | 1.78M |
| Emails (slim) | emails-slim.parquet | 41MB | 1.78M |
| Documents | documents.parquet | 25MB | 1.41M |
| Photos | photos.parquet | ~1MB | 18K |
| People | people.parquet | <100KB | 473 |
| Photo Faces | photo_faces.parquet | <100KB | 975 |
| iMessage Conversations | imessage_conversations.parquet | — | — |
| iMessage Messages | imessage_messages.parquet | — | — |
| Star Counts | star_counts.parquet | ~2MB | 414K |
| Release Batches | release_batches.parquet | <10KB | — |
All under https://data.jmail.world/v1/.
id, doc_id, sender, subject, to_recipients (json), cc_recipients (json), bcc_recipients (json), sent_at (timestamp), account_email, email_drop_id, epstein_is_sender (bool)
content_markdown, content_html, attachments (int)
id, slug, name, bio, photo, last_message, last_message_time, pinned, confirmed, source_files (json), message_count
id, conversation_slug, message_index, text, sender ("me" = Epstein, "them" = contact), time, timestamp, source_file, sender_name
id, name, source, photo_count
id, source, release_batch, original_filename, page_count, size, document_description, has_thumbnail
/person/SLUG — Person profile/flights — Flight records/photos — Photo browser/drive/new-only — New documents/topic/SLUG — Topic pagesDocuments have sharded full-text files (large downloads):
documents-full/VOL00008.parquet — DOJ Volume 8documents-full/VOL00009.parquet — DOJ Volume 9documents-full/VOL00010.parquet — DOJ Volume 10documents-full/DataSet11.parquet — DOJ Dataset 11documents-full/other.parquet — House Oversight, court recordsQuery with DuckDB:
SELECT id, original_filename, extracted_text
FROM read_parquet('https://data.jmail.world/v1/documents-full/other.parquet')
WHERE extracted_text ILIKE '%rothschild%'
LIMIT 10;
id, source, release_batch, original_filename, content_type (MIME), width (px), height (px), image_description (AI-generated)
Search photos by description:
SELECT original_filename, image_description, width, height
FROM read_parquet('https://data.jmail.world/v1/photos.parquet')
WHERE image_description ILIKE '%pool%'
LIMIT 20;
# Download by document ID — auto-detects type and source
bash scripts/jmail-duckdb.sh download "EFTA02406146" # DOJ email PDF
bash scripts/jmail-duckdb.sh download "HOUSE_OVERSIGHT_034601" # House Oversight photo
bash scripts/jmail-duckdb.sh download "COURT_giuffre-115cv07433_1" # Court document
bash scripts/jmail-duckdb.sh download "vol00009-efta00462570-pdf" # DOJ volume scan
bash scripts/jmail-duckdb.sh download "EFTA02406146" ./output-dir # Custom output dir
Supported sources:
| ID Pattern | Type | Format |
|---|---|---|
EFTA* | DOJ emails & photos | |
vol* | DOJ volume scans | |
HOUSE_OVERSIGHT_* | House Oversight photos | JPG (direct) |
COURT_giuffre* | Giuffre court docs |
# Search photos by AI-generated description
bash scripts/jmail-duckdb.sh photo-search "swimming pool"
bash scripts/jmail-duckdb.sh photo-search "forced entry"
# Download a specific photo (DOJ: extracts PNG from PDF, HO: direct JPG)
bash scripts/jmail-duckdb.sh photo-download "EFTA00000002-0.png"
bash scripts/jmail-duckdb.sh photo-download "HOUSE_OVERSIGHT_034601.JPG" ./output
DOJ photos are stored as single-page PDFs — the download command automatically extracts the embedded image as PNG using pdfimages. House Oversight photos are direct JPGs. If pdfimages is not installed, DOJ photos are saved as PDF.
SELECT on read_parquet() — no writes, no code execution, no network access beyond the cached Parquet files.duckdb CLI) — must be installed manually (apt install duckdb / brew install duckdb / duckdb.org)apt install poppler-utils