API gratuita per le violazioni dei dati
Verifica miliardi di record esposti con la nostra API RESTful gratuita. Nessuna API key necessaria.
Autenticazione
La maggior parte degli endpoint è pubblica. Gli endpoint di dominio richiedono una API key.
Limite di frequenza
2 richieste al secondo per IP.
Formato della risposta
Tutte le risposte restituiscono JSON con codici HTTP standard.
URL di base
api.xposedornot.com
SDK ufficiali
Usa le nostre librerie ufficiali per integrare XposedOrNot nelle tue applicazioni con poche righe di codice.
Installa tramite npm:
npm install xposedornot
Esempio rapido:
const { XposedOrNot } = require('xposedornot');
const xon = new XposedOrNot();
// Check email for breaches
const result = await xon.checkEmail('test@example.com');
console.log(result);
Installa tramite pip:
pip install xposedornot
Esempio rapido:
from xposedornot import XposedOrNot
xon = XposedOrNot()
# Check email for breaches
result = xon.check_email('test@example.com')
print(result)
Disponibile anche per
Clicca su una scheda per visualizzare il registro dei pacchetti, oppure sull'icona di GitHub per il codice sorgente.
Grazie per il tuo interesse in XposedOrNot. L'obiettivo è mantenere la nostra API il più accessibile e reattiva possibile, rendendola uno strumento prezioso per tutti. Ospitata direttamente su Google Infrastructure e robustamente memorizzata in cache da Cloudflare, l'API di XposedOrNot offre risposte rapide per qualsiasi query, indipendentemente dal punto di origine.
L'API di XposedOrNot aderisce ai principi dell'architettura REST. Restituisce risposte codificate in JSON e utilizza codici di risposta HTTP standard. Per la maggior parte delle nostre route API non sono previsti requisiti di autenticazione, garantendo un accesso semplice e facile da usare. Tieni però presente che la nostra specifica route API utilizzata per interrogare i dati relativi ai domini richiede l'autorizzazione tramite API key. Questa misura serve a garantire che solo i proprietari o le autorità verificate dei domini specificati possano accedere a queste informazioni sensibili.
Per sperimentare con gli endpoint, prova il Playground API, dove puoi esplorare l'API di XposedOrNot in modo interattivo.
Come leggere gli esempi: i valori mostrati
tra {parentesi graffe} sono segnaposto.
Sostituisci ciascuno (parentesi comprese) con il tuo valore.
Ad esempio, {email} diventa
test@example.com.
GET 1. Chiamata API: verifica delle violazioni dei dati per un indirizzo email
Questa API verifica se un indirizzo email è stato coinvolto in violazioni dei dati note. Cerca in un database completo di violazioni e ti avvisa se l'email è a rischio.
Endpoint API:
https://api.xposedornot.com/v1/check-email/{email}
Parametri:
| Parametro | In | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|---|
email |
path | Sì | string | Indirizzo email da verificare per le violazioni. |
details |
query | No | boolean | Includi informazioni dettagliate sulle violazioni nella risposta. Il valore predefinito è false (accetta true/false, yes/no, 1/0). |
{
"breaches": [
[
"Tesco",
"KiwiFarms",
"Vermillion",
"Verified",
"LizardSquad",
"2fast4u",
"Autotrader",
"MyRepoSpace",
"SweClockers"
]
],
"email": "[email protected]",
"status": "success"
}
La risposta è in formato JSON, semplice da analizzare con
qualsiasi linguaggio di scripting. Questo ti permette di
integrare facilmente i dati nelle tue applicazioni.
Risposta quando non viene trovata alcuna violazione:
Se l'indirizzo email non viene trovato in nessun database di violazioni, otterrai la seguente risposta JSON:
{"Error":"Not found","email":null}
GET 2. Chiamata API: analisi delle violazioni dei dati per gli indirizzi email
La nostra API offre un'analisi approfondita della storia delle violazioni dei dati di un indirizzo email. Rivela quando e dove sono avvenute le violazioni, fornendo analisi essenziali per valutare l'impatto e la gravità di questi incidenti. Questo strumento è fondamentale per comprendere i livelli di esposizione dei dati e migliorare le strategie di sicurezza.
Endpoint API:
https://api.xposedornot.com/v1/breach-analytics?email={email}
Parametri:
| Parametro | In | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|---|
email |
query | Sì | string | Indirizzo email da analizzare. |
L'API risponde con due possibili esiti: successo o fallimento. Di seguito sono riportati i componenti chiave di una risposta riuscita:
- BreachesSummary: ottieni una rapida panoramica di tutte le violazioni legate all'indirizzo email, inclusa una lista dei siti interessati. Ideale per una verifica veloce della storia delle violazioni.
- ExposedBreaches: ricevi informazioni dettagliate su ogni violazione, tra cui nome dell'entità compromessa, descrizione, dominio, settore, livello di rischio, riferimenti, tipi di dati esposti, l'anno e il numero di record esposti. Questo aiuta a valutare gli aspetti specifici e la gravità di ciascuna violazione.
- BreachMetrics: questo componente offre analisi sulle violazioni, come i settori interessati, la robustezza delle password, il punteggio di rischio, i tipi di dati esposti e una suddivisione per anno. Questi dati sono fondamentali per comprendere l'impatto complessivo delle violazioni.
- xposed_data: approfondisci i tipi specifici di dati esposti nelle violazioni, come nomi, foto, nazionalità, ecc. Questo aiuta a comprendere la natura e l'entità dell'esposizione dei dati personali.
- PastesSummary: fornisce una panoramica delle violazioni di tipo «paste» (esposizioni di dati su servizi pubblici simili a pastebin), inclusi un conteggio e l'occorrenza più recente. È un modo rapido per valutare l'esposizione su queste piattaforme.
- ExposedPastes & PasteMetrics: questi componenti forniscono informazioni dettagliate e un'analisi annuale delle violazioni di tipo paste, consentendo una comprensione più approfondita delle tendenze di esposizione nel tempo.
Questa suite completa di strumenti di analisi offre uno sguardo approfondito sulla storia delle violazioni dei dati di qualsiasi email, fornendo le informazioni necessarie per una migliore gestione della sicurezza digitale.
Esempio di output JSON quando viene trovato con successo un record corrispondente:
{
"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": ""
}
}
Alcuni dei dati utilizzati in BreachMetrics sono i seguenti:
- Classificazione per settore Ti fornisce il conteggio delle violazioni esposte nei primi 19 settori.
- Robustezza delle password Ti fornisce il conteggio delle violazioni che avevano password che sono 1. facili da decifrare, 2. password in testo in chiaro e 3. hash di password robusti e sicuri.
- Dettagli per anno Ti fornisce i dati storici delle violazioni dei dati a partire dall'anno 2010 fino a oggi.
Esempio di output quando non viene trovato l'indirizzo email corrispondente:
{
"BreachMetrics": null,
"BreachesSummary": {
"site": ""
},
"ExposedBreaches": null,
"ExposedPastes": null,
"PasteMetrics": null,
"PastesSummary": {
"cnt": 0,
"domain": "",
"tmpstmp": ""
}
}
Una risposta interamente null come quella sopra (restituita con HTTP 200) significa che l'email non è stata trovata in nessuna delle violazioni dei dati caricate in XposedOrNot.
GET 3. Chiamata API per verificare in modo anonimo le password esposte
Questo endpoint verifica se una password è comparsa in violazioni note senza rivelare la password stessa. Calcoli l'hash SHA3 Keccak-512 della password localmente e invii solo i suoi primi 10 caratteri, così la password e l'hash completo non lasciano mai la tua macchina. La risposta indica una corrispondenza o nessuna corrispondenza.
https://passwords.xposedornot.com/v1/pass/anon/{hash_prefix}
Qui {hash_prefix} indica i primi 10 caratteri
dell'hash SHA3 Keccak-512 della password che vuoi verificare.
Parametri:
| Parametro | In | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|---|
hash_prefix |
path | Sì | string | Primi 10 caratteri dell'hash SHA3 Keccak-512 della password da verificare. |
{
"SearchPassAnon": {
"anon": "808d63ba47",
"char": "D:6;A:0;S:0;L:6",
"count": "11999477",
"wordlist": 0
}
}
L'API fornisce i risultati in formato JSON, più informativo di un semplice sì/no. Questo output dettagliato consente ulteriori analisi e il miglioramento dell'ampia lista di password esposte in tempo reale.
Guida alla struttura dell'output:
-
anon: il prefisso dell'hash che hai interrogato, restituito così com'è. Non viene memorizzato né trasmesso nulla che possa rivelare la tua password. -
char: una scomposizione della composizione della password, nel formatoD:<digits>;A:<alphabets>;S:<special>;L:<length>(vedi la tabella sotto). -
count: il numero di volte in cui questa password è stata osservata nelle violazioni dei dati esposti raccolte. -
wordlist: se la password è stata trovata in una wordlist nota (1= sì,0= no).
Questa API non solo è utile per identificare le password esposte, ma aiuta anche a sviluppare policy per le password più solide e sicure.
La tabella seguente spiega un po' meglio le caratteristiche in termini semplici:
| Codice | Caratteristica | Descrizione |
|---|---|---|
D |
Cifre | Numero di cifre |
A |
Lettere | Numero di lettere |
S |
Caratteri speciali | Numero di caratteri speciali |
L |
Lunghezza | Lunghezza della password |
Un altro aspetto da notare è l'uso dell'hashing SHA3 Keccak-512 per la ricerca e l'archiviazione dei dati in XON. Gli algoritmi di hashing tradizionali come MD5 e SHA1 sono attualmente deprecati e, considerando anche l'enorme numero di record esposti, ho scelto di adottare l'algoritmo SHA3 Keccak-512. Gli hash Keccak-512 sono lunghi 128 caratteri.
Dai un'occhiata alla semplice e intuitiva schermata di login di esempio, che fa uso di questa API.
Due hash Keccak-512 di esempio forniti per un facile riferimento:
Keccak-512("test")
1e2e9fc2002b002d75198b7503210c05a1baac4560916a3c6d93bcce3a50d7f00fd395bf1647b9abb8d1afcc9c76c289b0c9383ba386a956da4b38934417789e
Keccak-512("pass")
adf34f3e63a8e0bd2938f3e09ddc161125a031c3c86d06ec59574a5c723e7fdbe04c2c15d9171e05e90a9c822936185f12b9d7384b2bedb02e75c4c5fe89e4d4
Esempio di output quando non viene trovato l'hash della password corrispondente:
{ "Error": "Not found"}
GET 4. Chiamata API per verificare tutte le violazioni dei dati caricate in XposedOrNot
Parametri: tutti facoltativi. Senza parametri l'endpoint restituisce ogni violazione caricata.https://api.xposedornot.com/v1/breaches
| Parametro | In | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|---|
domain |
query | No | string | Filtra i risultati per un singolo dominio. |
breach_id |
query | No | string | Filtra i risultati per una singola violazione tramite il suo ID. |
Questo JSON può essere facilmente analizzato da tutti i linguaggi di scripting per una facile interpretazione e per estrarre gli elementi di dati da usare nelle tue applicazioni.
{
"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
}
… risposta troncata per brevità; l'elenco completo continua.
Inoltre puoi anche inviare un parametro come un dominio e filtrare i risultati per mostrare contenuti specifici di quella violazione.
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 restituisce una risposta riuscita solo in formato
JSON.POST 5. Chiamata API per verificare tutte le violazioni dei dati per i domini verificati
Parametri:https://api.xposedornot.com/v1/domain-breaches/
| Parametro | In | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|---|
x-api-key |
header | Sì | string | La tua API key di dominio. Il dominio viene derivato dalla chiave. |
Content-Length |
header | Sì | 0 |
Questo endpoint non accetta alcun corpo nella richiesta, quindi imposta la lunghezza del contenuto a 0. |
** Non hai ancora una chiave? Scopri come ottenere un'API key per i dati delle violazioni di dominio. Spiega la verifica del dominio e il recupero della chiave dalla tua dashboard.
Esempio di richiesta API tramite curl. Memorizza la tua chiave in una variabile d'ambiente anziché scriverla direttamente nel codice, così resta fuori dalla cronologia della shell e dal controllo del codice sorgente:
La risposta dell'API è in formato JSON. La chiave principale 'metrics' contiene i dettagli sulla violazione. Di seguito la descrizione di ciascuna sotto-chiave in '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: questo campo fornisce un riepilogo del numero di violazioni per organizzazione.
2.Breaches_Details: è un array che contiene informazioni dettagliate su ogni singola violazione, tra cui il nome dell'organizzazione compromessa, il dominio e l'indirizzo email associato alla violazione.
3.Detailed_Breach_Info: questo campo contiene un riepilogo dettagliato delle violazioni, tra cui la data della violazione, il logo dell'organizzazione, se la password era a rischio o meno, se la violazione è ricercabile, il tipo di dati esposti, il numero totale di record esposti e una descrizione della violazione.
4.Domain_Summary: fornisce un riepilogo del numero di violazioni per dominio.
5.Top10_Breaches: questo campo fornisce un elenco delle prime 10 violazioni.
6.Yearly_Metrics: questo campo fornisce una suddivisione annuale del numero di violazioni dal 2010 fino all'anno corrente.
Di seguito è riportato un esempio di output per un facile riferimento.
{
"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"
}
Gestione degli errori: se l'API key non è
valida, l'endpoint risponde con HTTP 401 e il seguente JSON:
{
"detail": "Invalid or missing API key"
}
Il campo detail contiene una descrizione
dell'errore. Ricorda di impostare
XON_API_KEY con la tua API
key effettiva prima di effettuare una richiesta all'endpoint.
6. Codici di risposta API
In altre parole, i codici nell'intervallo 4xx indicano un errore lato client (la tua richiesta) e i codici 5xx indicano un errore lato server (dalla nostra parte).
| Codice | Descrizione |
|---|---|
| 200 | Il successo produce una risposta JSON |
| 401 | API key non valida/non autorizzata |
| 404 | Errore nell'input ( nessun dato trovato ) |
| 429 | Limite di velocità raggiunto - è ora di rallentare |
| 502/503 | Errore lato server. Segnalalo se lo riscontri. |
Sarà previsto un limite di 2 query al secondo per ogni singola richiesta API. Ti chiediamo gentilmente di tenerne conto e di riprovare con una modalità lenta o con pause.
L'uso improprio o l'abuso ripetuto di questa API viene bloccato automaticamente da xGuardian. Usa l'API in modo responsabile.
Hai trovato un bug? Segnalalo tramite Twitter o email e verrà risolto.