API de violations de données gratuite
Vérifiez des milliards d'enregistrements exposés grâce à notre API RESTful gratuite. Aucune clé API requise.
Authentification
La plupart des points de terminaison sont publics. Les points de terminaison de domaine nécessitent une clé API.
Limite de débit
2 requêtes par seconde et par IP.
Format de réponse
Toutes les réponses sont au format JSON avec des codes HTTP standard.
URL de base
api.xposedornot.com
SDK officiels
Utilisez nos bibliothèques officielles pour intégrer XposedOrNot à vos applications en quelques lignes de code seulement.
Installation via npm :
npm install xposedornot
Exemple rapide :
const { XposedOrNot } = require('xposedornot');
const xon = new XposedOrNot();
// Check email for breaches
const result = await xon.checkEmail('test@example.com');
console.log(result);
Installation via pip :
pip install xposedornot
Exemple rapide :
from xposedornot import XposedOrNot
xon = XposedOrNot()
# Check email for breaches
result = xon.check_email('test@example.com')
print(result)
Également disponible pour
Cliquez sur une carte pour consulter le registre du paquet, ou sur l'icône GitHub pour le code source.
Merci de l'intérêt que vous portez à XposedOrNot. Notre objectif est de maintenir notre API aussi accessible et réactive que possible, afin d'en faire un outil précieux pour tous. Hébergée directement sur l'infrastructure Google et mise en cache de façon robuste par Cloudflare, l'API XposedOrNot offre des réponses rapides à toutes les requêtes, quelle que soit leur origine.
L'API XposedOrNot respecte les principes de l'architecture REST. Elle renvoie des réponses au format JSON et utilise des codes de réponse HTTP standard. Pour la plupart de nos routes d'API, aucune authentification n'est requise, ce qui garantit un accès aisé et une grande simplicité d'utilisation. Veuillez toutefois noter que notre route d'API utilisée pour interroger les données liées aux domaines nécessite une autorisation par clé API. Cette mesure vise à garantir que seuls les propriétaires ou responsables vérifiés des domaines spécifiés peuvent accéder à ces informations sensibles.
Pour expérimenter avec les points de terminaison, essayez le bac à sable de l'API, où vous pouvez explorer l'API XposedOrNot de façon interactive.
Lecture des exemples : les valeurs indiquées
entre {accolades} sont des espaces réservés.
Remplacez chacune d'elles (accolades comprises) par votre
propre valeur. Par exemple, {email} devient
test@example.com.
GET 1. Appel d'API : vérifier les violations de données d'une adresse e-mail
Cette API vérifie si une adresse e-mail a été impliquée dans des violations de données connues. Elle interroge une base de données complète de violations et vous alerte si l'adresse e-mail est à risque.
Point de terminaison de l'API :
https://api.xposedornot.com/v1/check-email/{email}
Paramètres :
| Paramètre | Emplacement | Requis | Type | Description |
|---|---|---|---|---|
email |
path | Oui | string | Adresse e-mail dont vérifier les violations. |
details |
query | Non | boolean | Inclure des informations détaillées sur les violations dans la réponse. La valeur par défaut est false (accepte true/false, yes/no, 1/0). |
{
"breaches": [
[
"Tesco",
"KiwiFarms",
"Vermillion",
"Verified",
"LizardSquad",
"2fast4u",
"Autotrader",
"MyRepoSpace",
"SweClockers"
]
],
"email": "[email protected]",
"status": "success"
}
La réponse est au format JSON, ce qui la rend simple à analyser
avec n'importe quel langage de script. Cela vous permet
d'intégrer facilement les données à vos applications.
Réponse lorsqu'aucune violation n'est trouvée :
Si l'adresse e-mail n'est trouvée dans aucune base de données de violations, vous obtiendrez la réponse JSON suivante :
{"Error":"Not found","email":null}
GET 2. Appel d'API : analyses des violations de données pour les adresses e-mail
Notre API propose une analyse approfondie de l'historique des violations de données d'une adresse e-mail. Elle révèle quand et où les violations se sont produites, fournissant des analyses essentielles pour évaluer l'impact et la gravité de ces incidents. Cet outil est indispensable pour comprendre les niveaux d'exposition des données et renforcer les stratégies de sécurité.
Point de terminaison de l'API :
https://api.xposedornot.com/v1/breach-analytics?email={email}
Parameters:
| Paramètre | Emplacement | Requis | Type | Description |
|---|---|---|---|---|
email |
query | Oui | string | Adresse e-mail à analyser. |
L'API renvoie deux résultats possibles : succès ou échec. Voici les principaux composants d'une réponse réussie :
- BreachesSummary : obtenez un aperçu rapide de toutes les violations liées à l'adresse e-mail, y compris une liste des sites concernés. Idéal pour une vérification rapide de l'historique des violations.
- ExposedBreaches : recevez des informations détaillées sur chaque violation, notamment le nom de l'entité touchée, sa description, son domaine, son secteur d'activité, le niveau de risque, les références, les types de données exposées, ainsi que l'année et le nombre d'enregistrements exposés. Cela permet d'évaluer les spécificités et la gravité de chaque violation.
- BreachMetrics : ce composant fournit des analyses sur les violations, telles que les secteurs d'activité concernés, la robustesse des mots de passe, le score de risque, les types de données exposées et une ventilation par année. Ces données sont essentielles pour comprendre l'impact complet des violations.
- xposed_data : obtenez un aperçu des types de données spécifiques exposés dans les violations, tels que les noms, les photos, les nationalités, etc. Cela permet de comprendre la nature et l'ampleur de l'exposition des données personnelles.
- PastesSummary : fournit un aperçu des violations de type « paste » (expositions de données sur des services publics de type pastebin), incluant un décompte et l'occurrence la plus récente. C'est un moyen rapide d'évaluer l'exposition sur ces plateformes.
- ExposedPastes & PasteMetrics : ces composants fournissent des informations détaillées et une analyse annuelle des violations de type « paste », permettant une compréhension plus approfondie des tendances d'exposition au fil du temps.
Cette suite complète d'outils d'analyse offre une exploration approfondie de l'historique des violations de données de toute adresse e-mail, fournissant les informations nécessaires à une meilleure gestion de la sécurité numérique.
Exemple de sortie JSON lorsqu'un enregistrement correspondant est trouvé :
{
"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": ""
}
}
Voici quelques-uns des points de données utilisés dans
BreachMetrics :
- Classification par secteur d'activité Ceci vous donne le nombre de violations exposées dans les 19 principaux secteurs d'activité.
- Robustesse des mots de passe Ceci vous donne le nombre de violations comportant des mots de passe qui étaient 1. faciles à craquer, 2. en texte clair, et 3. des empreintes de mots de passe robustes et sûres.
- Détails par année Ceci vous donne les données historiques des violations de données depuis l'année 2010 jusqu'à aujourd'hui.
Exemple de sortie lorsque l'adresse e-mail correspondante n'est pas trouvée :
{
"BreachMetrics": null,
"BreachesSummary": {
"site": ""
},
"ExposedBreaches": null,
"ExposedPastes": null,
"PasteMetrics": null,
"PastesSummary": {
"cnt": 0,
"domain": "",
"tmpstmp": ""
}
}
Une réponse entièrement « null » comme ci-dessus (renvoyée avec un code HTTP 200) signifie que l'adresse e-mail n'a été trouvée dans aucune des violations de données chargées dans XposedOrNot.
GET 3. Appel d'API pour vérifier anonymement les mots de passe compromis
Ce point de terminaison vérifie si un mot de passe est apparu dans des violations connues sans révéler le mot de passe lui-même. Vous calculez localement l'empreinte SHA3 Keccak-512 du mot de passe et n'envoyez que ses 10 premiers caractères, de sorte que le mot de passe et l'empreinte complète ne quittent jamais votre machine. La réponse indique une correspondance ou une absence de correspondance.
https://passwords.xposedornot.com/v1/pass/anon/{hash_prefix}
Ici, {hash_prefix} correspond aux 10 premiers
caractères de l'empreinte SHA3 Keccak-512 du mot de passe que
vous souhaitez vérifier.
Paramètres :
| Paramètre | Emplacement | Requis | Type | Description |
|---|---|---|---|---|
hash_prefix |
path | Oui | string | Les 10 premiers caractères de l'empreinte SHA3 Keccak-512 du mot de passe à vérifier. |
{
"SearchPassAnon": {
"anon": "808d63ba47",
"char": "D:6;A:0;S:0;L:6",
"count": "11999477",
"wordlist": 0
}
}
L'API fournit les résultats au format JSON, plus informatif qu'un simple oui/non. Cette sortie détaillée permet une analyse plus poussée et l'enrichissement de la vaste liste des mots de passe compromis en temps réel.
Guide de la structure de la sortie :
-
anon: le préfixe d'empreinte que vous avez interrogé, renvoyé tel quel. Rien de ce qui pourrait révéler votre mot de passe n'est stocké ni transmis. -
char: une ventilation de la composition du mot de passe, au formatD:<digits>;A:<alphabets>;S:<special>;L:<length>(voir le tableau ci-dessous). -
count: le nombre de fois où ce mot de passe a été observé dans l'ensemble des violations de données exposées collectées. -
wordlist: indique si le mot de passe a été trouvé dans une wordlist connue (1= oui,0= non).
Cette API est non seulement utile pour identifier les mots de passe compromis, mais elle aide aussi à élaborer des politiques de mots de passe plus robustes et plus sûres.
Le tableau suivant explique plus en détail les caractéristiques en termes simples :
| Code | Caractéristique | Description |
|---|---|---|
D |
Chiffres | Nombre de chiffres |
A |
Lettres | Nombre de lettres |
S |
Caractères spéciaux | Nombre de caractères spéciaux |
L |
Longueur | Longueur du mot de passe |
À noter également l'utilisation du hachage SHA3 Keccak-512 pour la recherche et le stockage des données dans XON. Les algorithmes de hachage traditionnels comme MD5 et SHA1 sont aujourd'hui obsolètes et, compte tenu également de l'énorme nombre d'enregistrements exposés, j'ai opté pour l'algorithme SHA3 Keccak-512. Les empreintes Keccak-512 font 128 caractères de long.
Découvrez le écran de connexion d'exemple, simple et facile à utiliser, qui exploite cette API.
Deux empreintes Keccak-512 d'exemple fournies pour référence :
Keccak-512("test")
1e2e9fc2002b002d75198b7503210c05a1baac4560916a3c6d93bcce3a50d7f00fd395bf1647b9abb8d1afcc9c76c289b0c9383ba386a956da4b38934417789e
Keccak-512("pass")
adf34f3e63a8e0bd2938f3e09ddc161125a031c3c86d06ec59574a5c723e7fdbe04c2c15d9171e05e90a9c822936185f12b9d7384b2bedb02e75c4c5fe89e4d4
Exemple de sortie lorsque l'empreinte de mot de passe correspondante n'est pas trouvée :
{ "Error": "Not found"}
GET 4. Appel d'API pour consulter toutes les violations de données chargées dans XposedOrNot
Paramètres : tous facultatifs. Sans paramètre, le point de terminaison renvoie chaque violation chargée.https://api.xposedornot.com/v1/breaches
| Paramètre | Emplacement | Requis | Type | Description |
|---|---|---|---|---|
domain |
query | Non | string | Filtrer les résultats sur un seul domaine. |
breach_id |
query | Non | string | Filtrer les résultats sur une seule violation d'après son ID. |
Ce JSON peut être facilement analysé par tous les langages de script, pour une interprétation aisée et l'extraction des éléments de données à utiliser dans vos applications respectives.
{
"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
}
… réponse tronquée par souci de concision ; la liste complète se poursuit.
Par ailleurs, vous pouvez également transmettre un paramètre tel qu'un domaine et filtrer les résultats pour afficher le contenu propre à cette violation.
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"
}
L'API renvoie une réponse réussie uniquement au format JSON.POST 5. Appel d'API pour consulter toutes les violations de données des domaines vérifiés
Parameters:https://api.xposedornot.com/v1/domain-breaches/
| Paramètre | Emplacement | Requis | Type | Description |
|---|---|---|---|---|
x-api-key |
header | Oui | string | Votre clé API de domaine. Le domaine est dérivé de la clé. |
Content-Length |
header | Oui | 0 |
Ce point de terminaison n'accepte aucun corps de requête ; définissez donc la longueur du contenu à 0. |
** Vous n'avez pas encore de clé ? Consultez comment obtenir une clé API pour les données de violation de domaine. Cela couvre la vérification du domaine et la récupération de la clé depuis votre tableau de bord.
Exemple de requête d'API avec curl. Stockez votre clé dans une variable d'environnement plutôt que de la coder en dur, afin qu'elle reste hors de l'historique de votre shell et du contrôle de version :
La réponse de l'API est au format JSON. La clé principale « metrics » contient les détails relatifs à la violation. Voici la description de chaque sous-clé de « metrics » :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/
1.Breach_Summary : ce champ fournit un résumé du nombre de violations par organisation.
2.Breaches_Details : il s'agit d'un tableau contenant des informations détaillées sur chaque violation individuelle, notamment le nom de l'organisation touchée, le domaine et l'adresse e-mail associée à la violation.
3.Detailed_Breach_Info : ce champ contient un résumé détaillé des violations, comprenant la date de la violation, le logo de l'organisation, le fait que le mot de passe ait été à risque ou non, le caractère consultable de la violation, le type de données exposées, le nombre total d'enregistrements exposés et une description de la violation.
4.Domain_Summary : ceci fournit un résumé de du nombre de violations par domaine.
5.Top10_Breaches : ce champ fournit une liste des 10 principales violations.
6.Yearly_Metrics : ce champ fournit une ventilation annuelle du nombre de violations de 2010 jusqu'à l'année en cours.
Un exemple de sortie est fourni pour référence.
{
"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"
}
Gestion des erreurs : si la clé API est
invalide, le point de terminaison répond avec un code HTTP 401
et le JSON suivant :
{
"detail": "Invalid or missing API key"
}
Le champ detail contient une description de
l'erreur. N'oubliez pas de définir
XON_API_KEY sur votre
véritable clé API avant d'envoyer une requête au point de
terminaison.
6. Codes de réponse de l'API
En d'autres termes, les codes de la plage 4xx indiquent une erreur côté client (votre requête) et les codes 5xx indiquent une erreur côté serveur (de notre côté).
| Code | Description |
|---|---|
| 200 | Le succès renvoie une réponse JSON |
| 401 | Clé API invalide / non autorisée |
| 404 | Erreur dans l'entrée ( aucune donnée trouvée ) |
| 429 | Limite de débit atteinte - il est temps de ralentir |
| 502/503 | Erreur côté serveur. Veuillez la signaler si vous la rencontrez. |
Un seuil de 2 requêtes par seconde s'applique à chaque requête d'API. Nous vous prions d'en tenir compte et de réessayer ensuite en mode ralenti ou avec un modèle de mise en veille.
Tout usage abusif répété de cette API est automatiquement bloqué par xGuardian. Veuillez utiliser l'API de manière responsable.
Vous avez trouvé un bug ? Signalez-le via Twitter ou par e-mail et il sera traité.