Skip to main content

DOJ Multimedia Search API Client - Query and export document metadata

Project description

Epstein DOJ Multimedia Search Client

CLI tool to query the DOJ Multimedia Search API and export document metadata.

Installation

With uv installed:

uv sync

Or with pip:

pip install -r requirements.txt

Usage

Using the CLI module (recommended)

python3 -m epstein.cli --search "donald" --limit 50

Using legacy main.py (backward compatible)

python3 main.py --search "artificial intelligence" --limit 100

Basic search

python3 -m epstein.cli --search "donald" --limit 50

Search and save results to files

python3 -m epstein.cli --search "artificial intelligence" --limit 100 --prefix ai_docs --output-path reports

This creates three files in the reports directory:

  • ai_docs_TIMESTAMP.json - Full document metadata in JSON
  • ai_docs_TIMESTAMP.csv - Comma-separated values for spreadsheet import
  • ai_docs_TIMESTAMP_urls.txt - Plain text list of document URLs

Preview results without saving

python3 -m epstein.cli --search "epstein" --limit 20 --no-save --head 5

All options

python3 -m epstein.cli --help

Common options:

  • -s, --search TERM - Search query (empty = all documents)
  • -l, --limit N - Maximum number of results to fetch
  • -d, --delay SECONDS - Delay between API requests (default: 0.5)
  • -o, --prefix NAME - Output file prefix (default: epstein_library)
  • --output-path PATH - Directory to save report files (default: lib_data)
  • --no-save - Don't save to files, just display results
  • --head N - Number of top results to display (default: 10)

Examples

Search for documents mentioning "Trump":

python3 -m epstein.cli --search "Trump" --limit 50

Fetch 200 results with minimal delay:

python3 -m epstein.cli --search "banking" --limit 200 --delay 0.1

Get the first 5 results only, no file saving:

python3 -m epstein.cli --search "contacts" --limit 5 --no-save

Project Structure

scrape-doj/
├── epstein/              # Main package
│   ├── __init__.py       # Package initialization
│   ├── client.py         # API client logic
│   └── cli.py            # CLI interface
├── main.py               # Legacy entry point (backward compatible)
├── README.md
├── pyproject.toml        # Project configuration with uv
├── requirements.txt      # pip-compatible requirements
└── uv.lock               # Lockfile for reproducible installs

Output Format

Each result includes:

  • Title - Document filename
  • File - Actual filename
  • URL - Direct link to the PDF (properly URL-encoded)
  • Document ID - Unique identifier
  • Pages - Page range in document
  • File Size - Size in bytes
  • Words - Total word count
  • Indexed - When the document was indexed

Requirements

  • Python 3.9+
  • requests - HTTP library
  • beautifulsoup4 - HTML/XML parsing

API

You can also import and use the client directly:

from epstein import DOJMultimediaSearchClient

client = DOJMultimediaSearchClient()
documents = client.search_all(query="donald", max_results=50)

# Save results
client.save_results(documents, prefix="my_search", output_path="my_reports")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doj_multimedia_search-0.2.5.tar.gz (62.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doj_multimedia_search-0.2.5-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file doj_multimedia_search-0.2.5.tar.gz.

File metadata

  • Download URL: doj_multimedia_search-0.2.5.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for doj_multimedia_search-0.2.5.tar.gz
Algorithm Hash digest
SHA256 dc4f37003b144f62f083b7e6b3799a49cacd2834601964ce2247722a4558b5b1
MD5 878636bedebcefaf09097ca5911ae209
BLAKE2b-256 d1517b0a5091f4f56134cdd85941dba2c76c93618428c49d8ef65af9bc7dc2bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for doj_multimedia_search-0.2.5.tar.gz:

Publisher: publish.yml on soumyadepp/doj-eps-extractor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file doj_multimedia_search-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for doj_multimedia_search-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3a810c2fabef05d13e61a95b6ba0c88d2705900abfdb8a38adc8bf8240fefe91
MD5 69d2e75674d43d3b8df2b7414970c1f7
BLAKE2b-256 d195b6b665d370df30ca18642f65b2a977696cb6e0c70069ce21e7fd7540be9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for doj_multimedia_search-0.2.5-py3-none-any.whl:

Publisher: publish.yml on soumyadepp/doj-eps-extractor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page