Skip to main content

Installation

Requirements: Python 3.9+ Source: oathnet/oathnet-py

Quick Start

Authentication

Search Service

Initialize Session

Search sessions group related lookups for the same query. Pass search_type when you already know what the query is; otherwise OathNet will detect it. Reuse the returned session.id as search_id on follow-up searches.

AI Filters

Translate natural-language prompts into reusable V2 structured filters.
Use ai_filter.filter_id with V2 search, export, bulk-search, or scanner query_config flows when you want OathNet to reuse the generated filter context. Use client.ai_filter.create(..., filter_id=...) to refine an existing context. CLI commands are also available:
Use V2 breach search when you need fielded filters, structured filters, or autocomplete-driven workflows. GET is best for simple filters that fit in query parameters. POST is best when the filter tree comes from AI filters, saved UI state, or a complex manual builder.

Investigation And Phonebook

Use investigation when one query should fan out across credentials, victims, files, properties, and related credentials. Use phonebook when you want domain host and email intelligence before deciding which pivots to run next.

Victims

Victim search returns stealer-log profiles. Use the log_id from a selected victim to inspect its file tree, fetch one raw file, or download the whole archive. Passing the search_id from init_session keeps these follow-up requests tied to the same search workflow.
File search runs an asynchronous scan across selected stealer-log files. Use metadata search first when you only need file names and IDs. Create a file-search job when you need to scan file contents with a literal, regex, or wildcard expression.

Exports

Exports are asynchronous jobs for large result sets. Create a job with the service and structured query_config you want, poll the job status, then download the completed file. Use docs for credential-style stealer exports, victims for victim/profile exports, and breach for breach-record exports.
Bulk search is for many input terms or a saved structured filter that should run as one background job. Create the job, poll it, and download the result file when it completes.

Scanners

Scanners monitor newly indexed breach or stealer data and send notifications. Use regular search endpoints for historical investigation; scanners only watch new data after their baseline.
Use client.scanners.delete(scanner_uid) when you want to permanently remove a scanner and its run history. Webhook receivers should verify signed_json or signed_encrypted deliveries against the exact raw request body before parsing JSON. See Scanners for the HMAC and encryption contract.

OSINT Lookups

Utility Service

Error Handling

Configuration

Context Manager

JavaScript SDK

Next: JavaScript SDK

API Reference

Full API documentation