API Documentation

REST API for Breach House: ransomware victims, data breaches, leads, infostealer logs, and threat-actor groups. All endpoints return JSON. Available to advanced and enterprise customers.

Overview

The Breach House API is a read-mostly JSON API rooted at /api/v1. All responses are application/json. Requests must be authenticated with a bearer token obtained from the customer panel or via POST /api/v1/auth/token.

Base URL: https://breach.house/api/v1

Authentication

Send your API token on every request using one of the following:

Authorization: Bearer <your_token>
X-API-Key: <your_token>
?token=<your_token>          (query string, less recommended)

Example:

curl -H "Authorization: Bearer $TOKEN" \
  "https://breach.house/api/v1/me"

Rate Limits

Each token is rate-limited by its plan's daily query budget. Current usage is visible in your customer panel (queries today / daily limit). When the budget is exhausted, requests return 429 Too Many Requests.

Errors

Errors are returned as a JSON object with an error key:

{
  "error": "invalid_token",
  "message": "Optional human-readable description"
}
StatusError codeMeaning
400invalid_typeBad query parameter value.
400missing_qThe q parameter is required.
401missing_tokenNo token supplied.
401invalid_tokenToken unknown or revoked.
401expired_tokenToken expired.
401invalid_credentialsEmail or password incorrect on /auth/token.
404not_foundResource ID does not exist.

Common Filters

The list endpoints (/ransomware, /breaches, /leads, /stealers, /latest) share these query parameters:

ParameterTypeDescription
countrystringISO country code, case-insensitive (e.g. US).
groupstringExact group name, case-insensitive.
qstringFree-text search across title, description, website, country, name.
sinceYYYY-MM-DDOnly items discovered on or after this date.
untilYYYY-MM-DDOnly items discovered on or before this date.
limitintPage size, default 50, max 500.
offsetintPagination offset, default 0.

Endpoint Reference

POST/api/v1/auth/token

Exchange credentials for a token

Issues a new API token. Use the same username/password as your account.

curl -X POST https://breach.house/api/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{"username":"alice","password":"...","name":"my-laptop","expires_in_days":30}'

Returns { "token": "...", "name": "...", "created_at": "...", "expires_at": "..." }.

GET/api/v1/me

Current user info

curl -H "Authorization: Bearer $TOKEN" https://breach.house/api/v1/me
GET/api/v1/ransomware

List ransomware victims

Accepts common filters.

curl -H "Authorization: Bearer $TOKEN" \
  "https://breach.house/api/v1/ransomware?country=US&limit=20"
GET/api/v1/ransomware/{id}

Get a single ransomware victim

curl -H "Authorization: Bearer $TOKEN" \
  https://breach.house/api/v1/ransomware/12345
GET/api/v1/breaches

List data breaches

Accepts common filters.

curl -H "Authorization: Bearer $TOKEN" \
  "https://breach.house/api/v1/breaches?since=2026-01-01&limit=50"
GET/api/v1/breaches/{id}

Get a single breach

curl -H "Authorization: Bearer $TOKEN" \
  https://breach.house/api/v1/breaches/789
GET/api/v1/leads

List leads

Accepts common filters.

curl -H "Authorization: Bearer $TOKEN" \
  "https://breach.house/api/v1/leads?q=acme"
GET/api/v1/leads/{id}

Get a single lead

curl -H "Authorization: Bearer $TOKEN" \
  https://breach.house/api/v1/leads/456
GET/api/v1/stealers

List infostealer logs

Accepts common filters.

curl -H "Authorization: Bearer $TOKEN" \
  "https://breach.house/api/v1/stealers?country=ES"
GET/api/v1/stealers/{id}

Get a single stealer log

curl -H "Authorization: Bearer $TOKEN" \
  https://breach.house/api/v1/stealers/321
GET/api/v1/groups

List threat-actor groups

ParameterValuesDescription
typeall, breaches, stealers, leadsGroup source. Default all.
qstringSubstring match on group name.
limitintPage size, default 100, max 500.
offsetintPagination offset.
curl -H "Authorization: Bearer $TOKEN" \
  "https://breach.house/api/v1/groups?type=breaches&q=lock"
GET/api/v1/groups/{name}

Get a single group

{name} accepts either the slug or the raw name.

curl -H "Authorization: Bearer $TOKEN" \
  https://breach.house/api/v1/groups/lockbit
GET/api/v1/latest

Latest activity (mixed)

Most recent items across sources. Accepts common filters.

curl -H "Authorization: Bearer $TOKEN" \
  "https://breach.house/api/v1/latest?limit=10"
GET/api/v1/countries

Country metadata

curl -H "Authorization: Bearer $TOKEN" \
  https://breach.house/api/v1/countries

Need a token? Head to your panel.

Open Customer Panel