Skip to main content
Find which accounts use a specific, known-compromised password — useful for assessing blast radius after a password leak, or for checking whether a weak/default password is being reused across your organization’s accounts. The raw password you searched for is never echoed back; only the affected username, domain, and url are returned.

Request

POST /v1/search/password · Required scope: search:password (pro and ultra tiers)
ParameterTypeRequiredDefaultDescription
passwordstringYesPlaintext password to search for, 4–200 chars, e.g. "Summer2024!"
start_datestring (date-time) | nullNoInclusive start filter, clamped by query_window_days
end_datestring (date-time) | nullNoInclusive end filter
sort_directionasc | descNodescMust stay constant across pages
cursorstring | nullNoPagination token
limitintegerNo251–500, clamped to your tier’s max_rows

Example request

curl -X POST https://api.vantaprism.me/v1/search/password \
  -H "api-key: $VANTAPRISM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "password": "Summer2024!", "limit": 25 }'

Response

200 OK — array of PasswordSearchResult, cursor-paginated. The password field itself is never returned by this endpoint.
{
  "data": [
    {
      "stealer_id": "RL-2026-AC91F3",
      "victim_id": "a3f1c9e8b2d4567890abcdef1234567890abcdef1234567890abcdef123456",
      "username": "j.doe@acme-corp.com",
      "domain": "acme-corp.com",
      "url": "https://login.microsoftonline.com/common/oauth2/authorize",
      "infection_date": "2026-05-02T14:22:31Z"
    }
  ],
  "nextCursor": null,
  "meta": {
    "request_id": "req_01HZXK3Q7N8YV6F3M2P9JABCDE",
    "took_ms": 39.8,
    "tier": "pro",
    "masked_fields": []
  }
}
FieldDescription
stealer_idlog_victim_id of the infected machine
victim_idSHA-256 victim ID — use with Victim Profiles
usernameAccount identifier using the searched password
domainRegistrable domain extracted from url
urlLogin URL associated with the credential
infection_dateWhen the log was captured

Pagination

Cursor-paginated — see Pagination.

Errors

StatuscodeCause
400VALIDATION_ERRORpassword is missing or outside 4–200 characters
400INVALID_CURSORTampered or stale cursor
403FORBIDDEN_SCOPEKey lacks search:password (free tier)
See Errors for the full catalog.

Tier notes

This endpoint requires search:password, which is not included on the free tier — a free-tier key receives 403 FORBIDDEN_SCOPE. Both pro and ultra tiers receive username and url unmasked — the free-tier masking rules in Data Masking for these fields never apply here, since free tier cannot call this endpoint at all.