無料のデータ侵害 API

無料の RESTful API で、数十億件の漏洩レコードを確認できます。API キーは不要です。

認証

ほとんどのエンドポイントは公開されています。ドメインのエンドポイントには API キーが必要です。

レート制限

IP ごとに 1 秒あたり 2 リクエスト。

レスポンス形式

すべてのレスポンスは、標準的な HTTP コードとともに JSON で返されます。

ベース URL

api.xposedornot.com

Swagger ドキュメント API Playground

公式 SDK

公式ライブラリを使えば、わずか数行のコードで XposedOrNot をアプリケーションに統合できます。

Node.js / JavaScript

npm でインストール:

npm install xposedornot

簡単な例:

const { XposedOrNot } = require('xposedornot');

const xon = new XposedOrNot();

// Check email for breaches
const result = await xon.checkEmail('test@example.com');
console.log(result);

npm で見る GitHub

Python

pip でインストール:

pip install xposedornot

簡単な例:

from xposedornot import XposedOrNot

xon = XposedOrNot()

# Check email for breaches
result = xon.check_email('test@example.com')
print(result)

PyPI で見る GitHub

その他の対応言語

カードをクリックするとパッケージレジストリを、GitHub アイコンをクリックするとソースコードを表示します。


クイックナビゲーション
API クイックリファレンス 最終更新: 2026年6月3日

XposedOrNot にご関心をお寄せいただきありがとうございます。 私たちは API を可能な限りアクセスしやすく応答性の高いものに保ち、 すべての方にとって価値あるツールとなることを目指しています。 Google インフラストラクチャ上で直接ホストされ、 Cloudflare によって強固にキャッシュされている XposedOrNot API は、リクエストの送信元を問わず、 あらゆるクエリに対して迅速なレスポンスを提供します。

XposedOrNot APIREST アーキテクチャの原則に準拠しています。 JSON エンコードされたレスポンスを返し、 標準的な HTTP レスポンスコードを使用します。 ほとんどの API ルートには認証要件がなく、簡単にアクセスでき、 シンプルにご利用いただけます。 ただし、 ドメイン関連データのクエリに使用される特定の API ルートには、 API キーによる認証が必要であることにご注意ください。これは、指定されたドメインの 検証済みの所有者または権限者のみがこの機密情報に アクセスできるようにするための措置です。

エンドポイントを試すには、API Playground をお使いください。 XposedOrNot API をインタラクティブに探索できます。

例の読み方: {curly braces} で示された値はプレースホルダーです。 各値を(波括弧も含めて)ご自身の値に置き換えてください。 たとえば、{email}test@example.com となります。

この API は、メールアドレスが既知のデータ侵害に 関与していないかどうかを確認します。包括的な侵害データベースを 検索し、メールが危険にさらされている場合に通知します。


API エンドポイント:
https://api.xposedornot.com/v1/check-email/{email}
パラメータ:
check-email エンドポイントのパラメータ
パラメータ 位置 必須 説明
email path Yes string 侵害を確認するメールアドレス。
details query No boolean レスポンスに詳細な侵害情報を含めます。デフォルトは false です(true/false、yes/no、1/0 を受け付けます)。
侵害検出に成功した場合の例: 侵害が検出されると、次のような JSON レスポンスが返されます:
 {
  "breaches": [
    [
      "Tesco",
      "KiwiFarms",
      "Vermillion",
      "Verified",
      "LizardSquad",
      "2fast4u",
      "Autotrader",
      "MyRepoSpace",
      "SweClockers"
    ]
  ],
  "email": "test@example.com",
  "status": "success"
}
		  
レスポンスは JSON 形式のため、任意のスクリプト言語で簡単に 解析できます。これにより、データをアプリケーションに 容易に統合できます。
侵害が見つからなかった場合のレスポンス:
メールアドレスがいずれの侵害データベースにも見つからなかった場合、 次の JSON レスポンスが返されます:
{"Error":"Not found","email":null}
 

この API は、メールアドレスのデータ侵害履歴を詳細に分析します。 侵害がいつ、どこで発生したかを明らかにし、これらのインシデントの 影響と深刻度を評価するために不可欠な分析情報を提供します。 このツールは、データ漏洩のレベルを把握し、セキュリティ戦略を 強化するうえで重要な役割を果たします。


API エンドポイント:
https://api.xposedornot.com/v1/breach-analytics?email={email}
パラメータ:
breach-analytics エンドポイントのパラメータ
パラメータ 位置 必須 説明
email query Yes string 分析するメールアドレス。

この API は、成功または失敗の 2 通りの結果を返します。 以下は、成功時のレスポンスを構成する主な要素です:


  • BreachesSummary: メールアドレスに関連するすべての侵害の概要を、影響を受けた サイトの一覧とともに素早く把握できます。侵害履歴を手早く 確認するのに最適です。

  • ExposedBreaches: 各侵害について、侵害を受けた組織の名前、説明、ドメイン、業種、 リスクレベル、参考情報、漏洩したデータの種類、漏洩した年と レコード数など、詳細な情報を取得できます。これにより、各侵害の 具体的な内容と深刻度を評価できます。

  • BreachMetrics: この要素は、影響を受けた業種、パスワードの強度、リスクスコア、 漏洩したデータの種類、年別の内訳など、侵害に関する分析情報を 提供します。このデータは、侵害による影響の全体像を把握するうえで きわめて重要です。

  • xposed_data: 名前、写真、国籍など、侵害で漏洩した具体的なデータの種類を 把握できます。これにより、個人データの漏洩の性質と範囲を 理解するのに役立ちます。

  • PastesSummary: 「ペースト」侵害(pastebin のような公開サービス上での データ漏洩)の概要を、件数と最新の発生時期とともに提供します。 これらのプラットフォームでの漏洩状況を素早く把握できます。

  • ExposedPastes & PasteMetrics: これらの要素は、ペースト侵害に関する詳細情報と年別の分析を 提供し、時間の経過に伴う漏洩傾向をより深く理解できるように します。

この包括的な分析ツール群は、あらゆるメールのデータ侵害履歴を 深く掘り下げ、より優れたデジタルセキュリティ管理に必要な インサイトを提供します。


一致するレコードが見つかった場合の JSON 出力例:

{
  "BreachMetrics": {
    "get_details": [],
    "industry": [
      [
        [          "elec",          1        ],
        [          "misc",          0        ],
        [          "mini",          0        ],
        [          "musi",          0        ],
        [          "manu",          0        ],
        [          "ener",          0        ],
        [          "news",          0        ],
        [          "ente",          0        ],
        [          "hosp",          0        ],
        [          "heal",          0        ],
        [          "food",          0        ],
        [          "phar",          0        ],
        [          "educ",          0        ],
        [          "cons",          0        ],
        [          "agri",          0        ],
        [          "tele",          0        ],
        [          "info",          0        ],
        [          "tran",          0        ],
        [          "aero",          0        ],
        [          "fina",          0        ],
        [          "reta",          0        ],
        [          "nonp",          0        ],
        [          "govt",          0        ],
        [          "spor",          0        ],
        [          "envi",          0        ]
      ]
    ],
    "passwords_strength": [
      {
        "EasyToCrack": 0,
        "PlainText": 0,
        "StrongHash": 1,
        "Unknown": 0
      }
    ],
    "risk": [
      {
        "risk_label": "Low",
        "risk_score": 3
      }
    ],
    "xposed_data": [
      {
        "children": [
          {
            "children": [
              {
                "colname": "level3",
                "group": "A",
                "name": "data_Usernames",
                "value": 1
              }
            ],
            "colname": "level2",
            "name": "👤 Personal Identification"
          },
          {
            "children": [
              {
                "colname": "level3",
                "group": "D",
                "name": "data_Passwords",
                "value": 1
              }
            ],
            "colname": "level2",
            "name": "🔒 Security Practices"
          },
          {
            "children": [
              {
                "colname": "level3",
                "group": "F",
                "name": "data_Email addresses",
                "value": 1
              }
            ],
            "colname": "level2",
            "name": "📞 Communication and Social Interactions"
          }
        ]
      }
    ],
    "yearwise_details": [
      {
        "y2007": 0,
        "y2008": 0,
        "y2009": 0,
        "y2010": 0,
        "y2011": 0,
        "y2012": 0,
        "y2013": 0,
        "y2014": 0,
        "y2015": 1,
        "y2016": 0,
        "y2017": 0,
        "y2018": 0,
        "y2019": 0,
        "y2020": 0,
        "y2021": 0,
        "y2022": 0,
        "y2023": 0
      }
    ]
  },
  "BreachesSummary": {
    "site": "SweClockers"
  },
  "ExposedBreaches": {
    "breaches_details": [
      {
        "breach": "SweClockers",
        "details": "SweClockers experienced a data breach in early 2015, where 255k accounts were exposed. As a result, usernames, email addresses, and salted hashes of passwords, which were stored using a combination of MD5 and SHA512, were disclosed. Exposed data: Usernames, Email addresses, Passwords.",
        "domain": "sweclockers.com",
        "industry": "Electronics",
        "logo": "Sweclockers.png",
        "password_risk": "hardtocrack",
        "references": "",
        "searchable": "Yes",
        "verified": "Yes",
        "xposed_data": "Usernames;Email addresses;Passwords",
        "xposed_date": "2015",
        "xposed_records": 254967
      }
    ]
  },
  "ExposedPastes": null,
  "PasteMetrics": null,
  "PastesSummary": {
    "cnt": 0,
    "domain": "",
    "tmpstmp": ""
  }
}
	       
BreachMetrics で使用されるデータポイントの一部は、以下の とおりです:
  1. 業種別の分類
  2. 主要 19 業種で漏洩した侵害の件数を示します。
  3. パスワードの強度
  4. パスワードが 1. 解読が容易、2. 平文、3. 強固で安全な パスワードハッシュを使用、のいずれであった侵害の件数を 示します。
  5. 年別の詳細
  6. 2010 年から現在までのデータ侵害の履歴データを示します。

一致するメールアドレスが見つからなかった場合の出力例:
{
  "BreachMetrics": null,
  "BreachesSummary": {
    "site": ""
  },
  "ExposedBreaches": null,
  "ExposedPastes": null,
  "PasteMetrics": null,
  "PastesSummary": {
    "cnt": 0,
    "domain": "",
    "tmpstmp": ""
  }
}
 

上記のようにすべて null のレスポンス(HTTP 200 とともに返されます)は、 そのメールが XposedOrNot に読み込まれているいずれのデータ侵害にも 見つからなかったことを意味します。


このエンドポイントは、パスワードそのものを明かすことなく、 パスワードが既知の侵害に出現したかどうかを確認します。 パスワードの SHA3 Keccak-512 ハッシュをローカルで計算し、 その先頭 10 文字のみを送信するため、パスワードと完全なハッシュが お使いのマシンの外に出ることはありません。レスポンスは、 一致したか一致しなかったかを示します。


https://passwords.xposedornot.com/v1/pass/anon/{hash_prefix}
ここで {hash_prefix} は、確認したいパスワードの SHA3 Keccak-512 ハッシュの先頭 10 文字です。

パラメータ:
匿名パスワードチェック エンドポイントのパラメータ
パラメータ 位置 必須 説明
hash_prefix path Yes string 確認するパスワードの SHA3 Keccak-512 ハッシュの先頭 10 文字。
一致するパスワードハッシュが見つかった場合の JSON 出力例:
 {
  "SearchPassAnon": {
    "anon": "808d63ba47",
    "char": "D:6;A:0;S:0;L:6",
    "count": "11999477",
    "wordlist": 0
  }
}
 

この API は、単純な yes/no よりも情報量の多い JSON 形式で 結果を返します。この詳細な出力により、リアルタイムで漏洩した パスワードの膨大なリストをさらに分析し、強化できます。


出力構造ガイド:


  • anon: 照会したハッシュのプレフィックスがそのまま返されます。 パスワードを明らかにしうるものは一切保存も送信もされません。
  • char: パスワードの構成の内訳で、形式は D:<digits>;A:<alphabets>;S:<special>;L:<length> です(下記の表をご覧ください)。
  • count: 収集された漏洩データ侵害全体で、このパスワードが観測された 回数。
  • wordlist: パスワードが既知のワードリストに見つかったかどうか (1 = はい、0 = いいえ)。

この API は、漏洩したパスワードの特定に役立つだけでなく、 より強固で安全なパスワードポリシーの策定にも役立ちます。


次の表では、これらの特性についてわかりやすく説明します:

パスワードの特性の内訳
コード 特性 説明
D 数字 数字の個数
A アルファベット アルファベットの個数
S 特殊文字 特殊文字の個数
L 長さ パスワードの長さ
漏洩したすべてのウェブサイトの包括的な一覧については、 XON で漏洩したウェブサイト をご覧ください。

もう一点ご留意いただきたいのは、XON でのデータの検索と保存に SHA3 Keccak-512 ハッシュを使用している点です。MD5 や SHA1 といった従来の ハッシュアルゴリズムは現在では非推奨であり、また漏洩している レコードの膨大さも考慮して、 SHA3 Keccak-512 アルゴリズムを採用しました。 Keccak-512 ハッシュは 128 文字の長さです。

この API を活用した、シンプルで使いやすい サンプルのログイン画面 もぜひご覧ください。

参考までに、2 つの Keccak-512 ハッシュの例を示します:

Keccak-512("test")
1e2e9fc2002b002d75198b7503210c05a1baac4560916a3c6d93bcce3a50d7f00fd395bf1647b9abb8d1afcc9c76c289b0c9383ba386a956da4b38934417789e

Keccak-512("pass")
adf34f3e63a8e0bd2938f3e09ddc161125a031c3c86d06ec59574a5c723e7fdbe04c2c15d9171e05e90a9c822936185f12b9d7384b2bedb02e75c4c5fe89e4d4

一致するパスワードハッシュが見つからなかった場合の出力例:
            {  "Error": "Not found"}
        

https://api.xposedornot.com/v1/breaches
パラメータ: すべて任意です。 パラメータを指定しない場合、エンドポイントは読み込まれている すべての侵害を返します。
breaches エンドポイントのパラメータ
パラメータ 位置 必須 説明
domain query No string 結果を単一のドメインに絞り込みます。
breach_id query No string 結果を ID で単一の侵害に絞り込みます。
この API は、成功時のレスポンスを JSON 形式のみで返します。

この JSON は、あらゆるスクリプト言語で簡単に解析でき、 内容を容易に解釈したり、ご自身のアプリケーションで使用する データ要素を抽出したりできます。
   {
  "exposedBreaches": [
    {
      "breachID": "APK.TW",
      "breachedDate": "2022-09-01T00:00:00+00:00",
      "addedDate": "2023-11-08T06:30:35+00:00",
      "domain": "apk.tw",
      "exposedData": [
        "Email addresses",
        "Usernames",
        "Passwords",
        "IP addresses"
      ],
      "exposedRecords": 2457094,
      "exposureDescription": "APK.TW, a Taiwanese Android forum, experienced a data breach in September 2022, affecting 3.7 million members. This incident exposed usernames, email addresses, IP addresses, and passwords encrypted with salted MD5 hashes.",
      "industry": "Information Technology",
      "logo": "https://xposedornot.com/static/logos/APKTW.png",
      "passwordRisk": "easytocrack",
      "referenceURL": "",
      "searchable": true,
      "sensitive": false,
      "verified": true
    },
    {
      "breachID": "Habibs",
      "breachedDate": "2021-08-01T00:00:00+00:00",
      "addedDate": "2023-11-08T06:30:35+00:00",
      "domain": "habibs.com.br",
      "exposedData": [
        "Email addresses",
        "Names",
        "Phone numbers",
        "Dates of birth",
        "IP addresses"
      ],
      "exposedRecords": 3519666,
      "exposureDescription": "Habib's, a Brazilian fast food restaurant, experienced a significant data breach in August 2021,  that impacted 3.5 million users, revealing personal information like email addresses, IP addresses, names, phone numbers, and dates of birth, along with CPF numbers and social media profile links. ",
      "industry": "Food",
      "logo": "https://xposedornot.com/static/logos/Habibs.png",
      "passwordRisk": "unknown",
      "referenceURL": "",
      "searchable": true,
      "sensitive": false,
      "verified": true
    },
    {
      "breachID": "GreenGaming",
      "breachedDate": "2024-03-01T00:00:00+00:00",
      "addedDate": "2024-04-15T10:22:18+00:00",
      "domain": "mrgreengaming.com",
      "exposedData": [
        "Email addresses",
        "IP addresses",
        "Geographic locations",
        "Usernames",
        "Dates of birth"
      ],
      "exposedRecords": 27142,
      "exposureDescription": "MrGreenGaming announced on their community forum reported a security breach due to unauthorized access via an inactive administrator account leading to a data breach on 01-Mar-2024. The intrusion led to vandalism and the potential exposure of user data, including usernames, email addresses, IP addresses at account creation, and birthdays.",
      "industry": "Entertainment",
      "logo": "https://xposedornot.com/static/logos/GreenGaming.png",
      "passwordRisk": "unknown",
      "referenceURL": "https://forums.mrgreengaming.com/topic/30151-%E2%9A%A0%EF%B8%8Fdata-breach%E2%9A%A0%EF%B8%8F/#comment-536079",
      "searchable": true,
      "sensitive": false,
      "verified": true
    },
    {
      "breachID": "CutoutPro",
      "breachedDate": "2024-02-01T00:00:00+00:00",
      "addedDate": "2024-03-10T08:15:42+00:00",
      "domain": "cutout.pro",
      "exposedData": [
        "Names",
        "Passwords",
        "Email addresses",
        "IP addresses"
      ],
      "exposedRecords": 20021813,
      "exposureDescription": "Cutout.Pro, an AI-powered photo editing platform, experienced a data breach affecting 20 million users. Information exposed includes email addresses, hashed passwords, IP addresses, and names. A cybercriminal posted 5.93 GB of data on hacker forum, including a 41.4 million record database dump with unique email addresses.",
      "industry": "Information Technology",
      "logo": "https://xposedornot.com/static/logos/Cutout.pro.png",
      "passwordRisk": "easytocrack",
      "referenceURL": "https://www.bleepingcomputer.com/news/security/20-million-cutoutpro-user-records-leaked-on-data-breach-forum/",
      "searchable": true,
      "sensitive": false,
      "verified": true
    }
	       
… 簡潔さのためレスポンスは省略しています。実際にはリストが続きます。

さらに、ドメインなどのパラメータを送信して、 その侵害に固有の内容を表示するよう結果を絞り込むこともできます。
https://api.xposedornot.com/v1/breaches?domain={domain}

{
  "exposedBreaches": [
    {
      "breachID": "Twitter-Scraped",
      "breachedDate": "2021-01-01T00:00:00+00:00",
      "addedDate": "2023-11-08T06:30:35+00:00",
      "domain": "twitter.com",
      "industry": "Information Technology",
      "logo": "https://xposedornot.com/static/logos/Twitter.png",
      "passwordRisk": "unknown",
      "searchable": true,
      "sensitive": false,
      "verified": true,
      "exposedData": [
        "Usernames",
        "Names",
        "Email addresses",
        "Phone numbers",
        "Geographic locations"
      ],
      "exposedRecords": 208918735,
      "exposureDescription": "The Twitter Email Addresses Leak involves a data leak of over 200 million Twitter user profiles around 2021. The leak includes email addresses, names, screen names, follow counts, and account creation dates. The data was obtained through a Twitter API vulnerability that allowed the input of email addresses and phone numbers to confirm their association with Twitter IDs.",
      "referenceURL": ""
    }
  ],
  "status": "success"
}
		  
この API は、成功時のレスポンスを JSON 形式のみで返します。

https://api.xposedornot.com/v1/domain-breaches/
パラメータ:
domain-breaches エンドポイントのヘッダー
パラメータ 位置 必須 説明
x-api-key header Yes string ドメインの API キー。ドメインはこのキーから導出されます。
Content-Length header Yes 0 このエンドポイントはリクエストボディを受け付けないため、コンテンツ長を 0 に設定します。
これは POST リクエストであり、有効な API キーを 'x-api-key' というキーでヘッダーに含める必要があります。 ドメインは API キーから導出されるため、このエンドポイントは リクエストボディを一切受け付けず、コンテンツ長ヘッダーは '0' に設定する必要があります。
** まだキーをお持ちでない場合は、 ドメイン侵害データ用の API キーの 取得方法をご覧ください。ドメインの検証方法や、 ダッシュボードからキーを取得する方法を 説明しています。

curl を使用した API リクエストの例です。キーはハードコーディング せず環境変数に保存することで、シェルの履歴やソース管理に 残らないようにしてください:
export XON_API_KEY="your_api_key_here"

curl -L -X POST \
  -H "x-api-key: $XON_API_KEY" \
  -H "Content-Length: 0" \
  https://api.xposedornot.com/v1/domain-breaches/
この API のレスポンスは JSON 形式です。メインキーの 'metrics' に侵害に関する詳細が含まれます。以下は、'metrics' 内の各サブキーの説明です:

1.Breach_Summary: 組織ごとの侵害件数の概要を提供します。
2.Breaches_Details: これは配列で、各侵害に関する詳細情報(侵害を受けた組織の名前、 ドメイン、侵害に関連するメールアドレスを含む)が含まれます。
3.Detailed_Breach_Info: 侵害の日付、組織のロゴ、パスワードが危険にさらされたかどうか、 侵害が検索可能かどうか、漏洩したデータの種類、漏洩したレコードの 総数、侵害の説明など、侵害の詳細な概要が含まれます。
4.Domain_Summary: ドメインごとの侵害件数の概要を提供します。
5.Top10_Breaches: 上位 10 件の侵害の一覧を提供します。
6.Yearly_Metrics: 2010 年から現在までの侵害件数の年別内訳を提供します。

参考までに出力例を示します。
{
  "metrics": {
    "Breach_Summary": {
      "AerServ": 1
    },
    "Breaches_Details": [
      {
        "breach": "AerServ",
        "domain": "xposedornot.com",
        "email": "deva@xposedornot.com"
      }
    ],
    "Detailed_Breach_Info": {
      "AerServ": {
        "breached_date": "Tue, 01 Apr 2014 00:00:00 GMT",
        "logo": "Aerserv.png",
        "password_risk": "plaintext",
        "searchable": "Yes",
        "xposed_data": "Email Addresses",
        "xposed_records": 64777,
        "xposure_desc": "AerServ, an ad management platform, experienced a data breach in April 2018. This incident occurred after its acquisition by InMobi and affected more than 64,000 unique email addresses. The exposed data included contact information and passwords, which were stored as salted SHA-512 hashes. Later in 2018, the breached data was publicly posted on Twitter, prompting InMobi to acknowledge the incident "
      }
    },
    "Domain_Summary": {
      "xposedornot.com": 1
    },
    "Top10_Breaches": {
      "AerServ": 1
    },
    "Yearly_Metrics": {
      "2010": 0,
      "2011": 0,
      "2012": 0,
      "2013": 0,
      "2014": 1,
      "2015": 0,
      "2016": 0,
      "2017": 0,
      "2018": 0,
      "2019": 0,
      "2020": 0,
      "2021": 0,
      "2022": 0,
      "2023": 0
    }
  },
  "status": "success"
}

	       
エラー処理: API キーが無効な場合、 エンドポイントは HTTP 401 と次の JSON を返します:
{
  "detail": "Invalid or missing API key"
}
	       
detail フィールドには、エラーの説明が 含まれます。

エンドポイントにリクエストを送信する前に、XON_API_KEY に実際の API キーを設定することをお忘れなく。
XposedOrNot API は、API リクエストの成功または失敗を示すために、 一般的な HTTP レスポンスコードを使用します。概要は次のとおりです: 2xx 番台のコードは成功を示します。4xx 番台のコードは、提供された 情報に基づいて失敗したエラー(例: パラメータの誤り、クエリ オプションの不足、URL の誤りなど)を示します。5xx 番台のコードは、 XposedOrNot のサーバー側のエラーを示します。

言い換えると、4xx 番台のコードはクライアント側(お客様のリクエスト)の エラーを示し、5xx 番台のコードはサーバー側(当社側)のエラーを 示します。

HTTP レスポンスコードとその意味
コード 説明
200 成功時は JSON レスポンスを出力します
401 無効または未認証の API キー
404 入力エラー(データが見つかりません)
429 速度制限に達しました - ペースを落としてください
502/503 サーバー側のエラーです。発生した場合はご報告ください。