Request demo

Data Breach Index

Query the Breaches Behind Your Exposed Addresses.

Employee Email Breach Monitoring tells you which addresses leaked. The Data Breach Index reads that data from the other side: the breaches themselves.

Each breach is a record with its date, a description, the data types it exposed, how many accounts it holds in total and how many of them are yours.

Request

GET /cti/email-breaches/breaches

Response · 200 OK

Example Marketmarket.example

  1. breach_date

    2026-04-11

  2. added_date

    2026-04-19

  3. data_types

    Email addresses Names Passwords Phone numbers

  4. total_breached_account_count

    820,000

  5. breached_account_count

    14 · acme.example

  6. Flags

    • is_verified true
    • is_fabricated false
    • is_spam_list false
    • is_malware false
    • is_sensitive false
    • is_retired false

Ways in: by breach · by account · by domain · by recency

What Each Breach Record Holds.

All breach records share one set of fields, so two breaches can be compared line by line before anyone decides which one matters.

Namename, title · The breach as it is commonly known
Sourcedomain · The domain of the service that was breached
Breach datebreach_date · When the compromise happened
Added dateadded_date, modified_date · When the breach entered the index, and when its record last changed
Descriptiondescription · What happened and what was exposed, in prose
Data typesdata_types · The categories exposed, such as email addresses, names, phone numbers or passwords
Total accountstotal_breached_account_count · How many accounts the breach holds in total
Your accountsbreached_account_count, breached_domains · How many of those accounts are yours, and on which of your domains
Flagsis_verified, is_fabricated and the other is_ fields · Verified, fabricated, sensitive, retired, spam list, malware

Field names as returned by the Email Breach List and Email Breach Detail endpoints.

Each Way In Leads to One Set of Records.

Investigations rarely start in the same place twice. Pick the entry point that fits the question.

By breach

One Breach, in Full

Open a breach and read its record: when, what, how big, and how many of your accounts it holds.

By account

One Address, Every Breach

Start from an address and list the breaches it appears in, with per-account statistics.

By domain

Counts per Domain

Breached accounts per domain, for organizations that run many brands or subsidiaries.

By recency

The Latest Breaches

The most recent breaches to include your addresses, the starting point for a weekly review.

Narrow the List With Query Filters.

Filters go on the query string. Verified breaches since January, newest first, is one request. Swap in added_date__gt with last Monday’s date and it becomes the weekly review of what entered the index.

GET https://api.deepinfo.com/v1/cti/email-breaches/breaches Reference
ParameterTypeDescription
title__containsstringOptionalPart of the breach title. domain__contains does the same for the breached service’s domain.
breach_date__gtdate-timeOptionalBreaches that happened after this date. breach_date__lt sets the other bound.
added_date__gtdate-timeOptionalBreaches added to the index after this date.
data_types__instringOptionalBreaches that exposed any of the given data types.
is_verifiedbooleanOptionalA breach flag. is_fabricated, is_sensitive, is_retired, is_spam_list and is_malware work the same way.
orderingstringOptionalThe field to sort by. Prefix - for descending.

Request

curl "https://api.deepinfo.com/v1/cti/email-breaches/breaches?is_verified=true&breach_date__gt=2026-01-01&ordering=-breach_date" \
  -H "apikey: YOUR_API_KEY"

Response

200 OK · application/json
{
  "page": 1,
  "page_size": 25,
  "result_count": 3,
  "results": [
    {
      "id": "ExampleMarket",
      "name": "ExampleMarket",
      "title": "Example Market",
      "domain": "market.example",
      "breach_date": "2026-04-11T00:00:00Z",
      "added_date": "2026-04-19T08:12:05Z",
      "modified_date": "2026-04-19T08:12:05Z",
      "total_breached_account_count": 820000,
      "data_types": ["Email addresses", "Names", "Passwords", "Phone numbers"],
      "is_verified": true,
      "is_fabricated": false,
      "is_sensitive": false,
      "is_retired": false,
      "is_spam_list": false,
      "is_malware": false,
      "breached_account_count": 14,
      "breached_domains": [{ "domain": "acme.example" }]
    },
    "…"
  ]
}

Questions About Data Breach Index

Does the index cover every breach on the internet?

The breaches your team queries are the ones that contain addresses on your organization’s domains. Each record still describes the whole breach, including its total account count, not only your share.

How is it different from Employee Email Breach Monitoring?

Same data, other direction. Monitoring starts from people and addresses; the index starts from breaches. Most investigations move between the two.

What do the flags mean?

They describe the breach itself: whether it is verified, whether it appears fabricated, whether it is a spam list, whether it came from malware, whether it is sensitive and whether it has been retired. Use them to weigh a breach before acting on it.

Can we be told when a new breach includes our addresses?

Yes. A notification rule on new_email_breach_detected emails the team members you choose, instantly or as an hourly to monthly digest.

See Which Breaches Hold Your Addresses.

Book a walk-through and we’ll query the index for your domains.