V2 Stealer Search
Current stealer search surface for new integrations.
Successful responses use the standard search envelope.
The same route also accepts POST when you want to send filter or filter_id
in the JSON request body instead of the query string.
Overview
/service/v2/stealer/search is the current stealer search surface for new integrations. It supports the standard search envelope, cursor pagination, array filters, and optional POST-based filter payloads.
Use GET for normal query params. Use POST to the same route when you want to send { filter, filter_id } in the request body.
See Structured Filters for a simpler step-by-step guide with examples for flat params, POST body mode, AI filters, and query_config.
Response Shape
Successful responses are wrapped:Smart Query Detection
q parameter automatically detects common query types.| Query | Detected As |
|---|---|
user@example.com | |
example.com | Domain |
john_doe | Username |
123456789012345678 | Discord ID |
Notes
log_idlets you pivot from a credential hit into the related Victim Manifest.- Result objects are sparse. Do not assume every item includes every optional field.
- The legacy
logfield can still appear on some results for compatibility. - Use
from,to, anddate_fieldwhen you need indexed-time monitoring or bounded investigations.
Authorizations
API key for authentication (lowercase header name)
Query Parameters
Search query
indexed_at, pwned_at and, or JSON-encoded structured filter tree.
Use leaf nodes with field, operator, and value, or compound nodes with and / or.
If you would rather send the filter as a real JSON object, use POST on the same /search route.
See /guides/structured-filters for the full grammar, operators, limits, and examples.
24-character transient filter context ID returned by POST /service/v2/ai/filter
or a previous search response.
24-character transient filter context ID.
^[0-9a-fA-F]{24}$"0123456789abcdef01234567"
Response field whitelist