API gratuita de violação de dados
Verifique bilhões de registros expostos com nossa API RESTful gratuita. Nenhuma chave de API necessária.
Autenticação
A maioria dos endpoints é pública. Os endpoints de domínio exigem uma chave de API.
Limite de requisições
2 solicitações por segundo por IP, além de limites por hora e por dia em cada endpoint. Ver limites.
Formato da resposta
Todas as respostas retornam JSON com códigos HTTP padrão.
URL base
api.xposedornot.com
SDKs oficiais
Use nossas bibliotecas oficiais para integrar o XposedOrNot às suas aplicações com apenas algumas linhas de código.
Instale via npm:
npm install xposedornot
Exemplo rápido:
const { XposedOrNot } = require('xposedornot');
const xon = new XposedOrNot();
// Check email for breaches
const result = await xon.checkEmail('test@example.com');
console.log(result);
Instale via pip:
pip install xposedornot
Exemplo rápido:
from xposedornot import XposedOrNot
xon = XposedOrNot()
# Check email for breaches
result = xon.check_email('test@example.com')
print(result)
Também disponível para
Clique em qualquer cartão para ver o registro do pacote ou no ícone do GitHub para o código-fonte.
Obrigado pelo seu interesse no XposedOrNot. O objetivo é manter nossa API o mais acessível e responsiva possível, tornando-a uma ferramenta valiosa para todos. Hospedada diretamente na infraestrutura do Google e com cache robusto pela Cloudflare, a API do XposedOrNot oferece respostas rápidas para qualquer consulta, independentemente do ponto de origem.
A API do XposedOrNot segue os princípios da arquitetura REST. Ela retorna respostas codificadas em JSON e utiliza códigos de resposta HTTP padrão. Na maioria das nossas rotas de API, não há requisitos de autenticação, garantindo acesso fácil e simplicidade de uso. No entanto, observe que nossa rota de API usada para consultar dados relacionados a domínios exige autorização por chave de API. Essa medida existe para garantir que apenas proprietários ou autoridades verificadas dos domínios especificados possam acessar essas informações sensíveis.
Para experimentar os endpoints, utilize o API Playground, onde você pode explorar a API do XposedOrNot de forma interativa.
Lendo os exemplos: os valores exibidos
entre {chaves} são marcadores de posição.
Substitua cada um (incluindo as chaves) pelo seu próprio
valor. Por exemplo, {email} torna-se
test@example.com.
Limites de taxa
Limites do nível gratuito por endereço IP e por endpoint:
| Endpoint | Por segundo | Por hora | Por dia |
|---|---|---|---|
/v1/check-email/{email} | 2 | 25 | 100 |
/v1/breach-analytics | 2 | 25 | 100 |
/v1/breaches | 2 | 50 | 100 |
/v1/domain-breaches | 2 | 25 | 50 |
/v1/metrics | 5/min | 50 | 100 |
/api/v1/pass/anon/{prefix} | Serviço separado de alto volume; sem limite fixo publicado. | ||
HTTP 429 significa que você atingiu um limite por hora ou por dia: aguarde a janela reiniciar antes de tentar novamente. A resposta inclui um link para planos com limites maiores.
Precisa de limites maiores?
A API gratuita é para uso pessoal e de baixo volume, e continuará gratuita. Se você está construindo um produto sobre dados de vazamentos ou precisa de mais volume, o xonAPI+ oferece planos pagos a partir de US$ 5/mês com limites de até 25.000 solicitações/minuto, acesso com chave de API e suporte comercial. São os mesmos dados de vazamentos, e é isso que mantém o nível gratuito gratuito.
GET 1. Chamada de API: verificando violações de dados de endereços de e-mail
Esta API verifica se um endereço de e-mail esteve envolvido em alguma violação de dados conhecida. Ela pesquisa um banco de dados abrangente de violações e alerta você caso o e-mail esteja em risco.
Endpoint da API:
https://api.xposedornot.com/v1/check-email/{email}
Parâmetros:
| Parâmetro | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
email |
path | Sim | string | Endereço de e-mail a ser verificado por violações. |
details |
query | Não | boolean | Inclui informações detalhadas da violação na resposta. O padrão é false (aceita true/false, yes/no, 1/0). |
{
"breaches": [
[
"Tesco",
"KiwiFarms",
"Vermillion",
"Verified",
"LizardSquad",
"2fast4u",
"Autotrader",
"MyRepoSpace",
"SweClockers"
]
],
"email": "test@example.com",
"status": "success"
}
A resposta está em formato JSON, o que facilita a análise com
qualquer linguagem de script. Isso permite integrar os dados
às suas aplicações com facilidade.
Resposta quando nenhuma violação é encontrada:
Se o endereço de e-mail não for encontrado em nenhum banco de dados de violações, você receberá a seguinte resposta JSON:
{"Error":"Not found","email":null}
GET 2. Chamada de API: análise de violações de dados para endereços de e-mail
Nossa API oferece uma análise aprofundada do histórico de violações de dados de um endereço de e-mail. Ela revela quando e onde as violações ocorreram, fornecendo análises essenciais para avaliar o impacto e a gravidade desses incidentes. Esta ferramenta é fundamental para entender os níveis de exposição de dados e aprimorar as estratégias de segurança.
Endpoint da API:
https://api.xposedornot.com/v1/breach-analytics?email={email}
Parameters:
| Parâmetro | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
email |
query | Sim | string | Endereço de e-mail a ser analisado. |
A API responde com dois resultados possíveis: sucesso ou falha. Abaixo estão os principais componentes de uma resposta bem-sucedida:
- BreachesSummary: obtenha uma visão geral rápida de todas as violações associadas ao endereço de e-mail, incluindo uma lista dos sites afetados. Ideal para uma verificação rápida do histórico de violações.
- ExposedBreaches: receba informações detalhadas sobre cada violação, incluindo o nome da entidade violada, descrição, domínio, setor, nível de risco, referências, tipos de dados expostos e o ano e a quantidade de registros expostos. Isso ajuda a avaliar os detalhes e a gravidade de cada violação.
- BreachMetrics: este componente oferece análises sobre as violações, como setores afetados, força das senhas, pontuação de risco, tipos de dados expostos e um detalhamento anual. Esses dados são essenciais para entender o impacto total das violações.
- xposed_data: obtenha insights sobre os tipos específicos de dados expostos nas violações, como nomes, fotos, nacionalidades, etc. Isso ajuda a entender a natureza e a extensão da exposição de dados pessoais.
- PastesSummary: fornece uma visão geral das violações de 'pastes' (exposições de dados em serviços públicos semelhantes ao pastebin), incluindo uma contagem e a ocorrência mais recente. É uma forma rápida de avaliar a exposição nessas plataformas.
- ExposedPastes & PasteMetrics: esses componentes fornecem informações detalhadas e uma análise anual das violações de pastes, permitindo uma compreensão mais profunda das tendências de exposição ao longo do tempo.
Este conjunto abrangente de ferramentas de análise oferece um mergulho profundo no histórico de violações de dados de qualquer e-mail, fornecendo os insights necessários para uma melhor gestão da segurança digital.
Exemplo de saída JSON ao encontrar um registro correspondente:
{
"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": ""
}
}
Alguns dos pontos de dados usados no BreachMetrics são os
seguintes:
- Classificação por setor Isso fornece a contagem das violações expostas nos 19 principais setores.
- Força da senha Isso fornece a contagem das violações que tinham senhas que são 1. fáceis de quebrar, 2. senhas em texto puro e 3. hashes de senha fortes e seguros utilizados.
- Detalhes por ano Isso fornece os dados históricos de violações de dados a partir do ano de 2010 até o presente.
Exemplo de saída ao não encontrar o endereço de e-mail correspondente:
{
"BreachMetrics": null,
"BreachesSummary": {
"site": ""
},
"ExposedBreaches": null,
"ExposedPastes": null,
"PasteMetrics": null,
"PastesSummary": {
"cnt": 0,
"domain": "",
"tmpstmp": ""
}
}
Uma resposta totalmente nula como a acima (retornada com HTTP 200) significa que o e-mail não foi encontrado em nenhuma das violações de dados carregadas no XposedOrNot.
GET 3. Chamada de API para verificar senhas expostas de forma anônima
Este endpoint verifica se uma senha apareceu em violações conhecidas sem revelar a própria senha. Você calcula o hash SHA3 Keccak-512 da senha localmente e envia apenas os 10 primeiros caracteres, de modo que a senha e o hash completo nunca saem da sua máquina. A resposta indica se há correspondência ou não.
https://passwords.xposedornot.com/api/v1/pass/anon/{hash_prefix}
Aqui, {hash_prefix} são os 10 primeiros caracteres
do hash SHA3 Keccak-512 da senha que você deseja verificar.
Parâmetros:
| Parâmetro | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
hash_prefix |
path | Sim | string | Os 10 primeiros caracteres do hash SHA3 Keccak-512 da senha a ser verificada. |
{
"SearchPassAnon": {
"anon": "808d63ba47",
"char": "D:6;A:0;S:0;L:6",
"count": "11999477",
"wordlist": 0
}
}
A API entrega os resultados em formato JSON, que é mais informativo do que um simples sim/não. Essa saída detalhada possibilita análises adicionais e o aprimoramento da extensa lista de senhas expostas em tempo real.
Guia da estrutura de saída:
-
anon: o prefixo do hash que você consultou, repetido na resposta. Nada que possa revelar sua senha é armazenado ou transmitido. -
char: um detalhamento da composição da senha, no formatoD:<digits>;A:<alphabets>;S:<special>;L:<length>(veja a tabela abaixo). -
count: o número de vezes que esta senha foi observada nas violações de dados expostas coletadas. -
wordlist: se a senha foi encontrada em uma wordlist conhecida (1= sim,0= não).
Esta API não é útil apenas para identificar senhas expostas, mas também ajuda a desenvolver políticas de senha mais fortes e seguras.
A tabela a seguir explica um pouco mais sobre as características em termos simples:
| Código | Característica | Descrição |
|---|---|---|
D |
Dígitos | Quantidade de números |
A |
Letras | Quantidade de letras |
S |
Caracteres especiais | Quantidade de caracteres especiais |
L |
Comprimento | Comprimento da senha |
Além disso, outro ponto a destacar é o uso do hashing SHA3 Keccak-512 para pesquisar e armazenar dados no XON. Algoritmos de hashing tradicionais como MD5 e SHA1 estão atualmente obsoletos e, considerando também o enorme número de registros expostos, optei pelo algoritmo SHA3 Keccak-512. Os hashes Keccak-512 têm 128 caracteres de comprimento.
Confira a simples e fácil de usar tela de login de exemplo, que faz uso desta API.
Dois exemplos de hashes Keccak-512 fornecidos para fácil referência:
Keccak-512("test")
1e2e9fc2002b002d75198b7503210c05a1baac4560916a3c6d93bcce3a50d7f00fd395bf1647b9abb8d1afcc9c76c289b0c9383ba386a956da4b38934417789e
Keccak-512("pass")
adf34f3e63a8e0bd2938f3e09ddc161125a031c3c86d06ec59574a5c723e7fdbe04c2c15d9171e05e90a9c822936185f12b9d7384b2bedb02e75c4c5fe89e4d4
Exemplo de saída ao não encontrar o hash de senha correspondente:
{ "Error": "Not found"}
GET 4. Chamada de API para verificar todas as violações de dados carregadas no XposedOrNot
Parâmetros: todos opcionais. Sem parâmetros, o endpoint retorna todas as violações carregadas.https://api.xposedornot.com/v1/breaches
| Parâmetro | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
domain |
query | Não | string | Filtra os resultados para um único domínio. |
breach_id |
query | Não | string | Filtra os resultados para uma única violação pelo seu ID. |
Esse JSON pode ser facilmente analisado por todas as linguagens de script, para uma interpretação simples e para extrair elementos de dados a serem usados em suas respectivas aplicações.
{
"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
}
… resposta truncada por brevidade; a lista completa continua.
Além disso, você também pode enviar um parâmetro como um domínio e filtrar os resultados para exibir conteúdo específico daquela violação.
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"
}
A API retorna uma resposta bem-sucedida apenas no formato
JSON.POST 5. Chamada de API para verificar todas as violações de dados de domínios verificados
Parâmetros:https://api.xposedornot.com/v1/domain-breaches/
| Parâmetro | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
x-api-key |
header | Sim | string | Sua chave de API do domínio. O domínio é derivado da chave. |
Content-Length |
header | Sim | 0 |
Este endpoint não aceita corpo de requisição, portanto defina o content length como 0. |
** Ainda não tem uma chave? Veja como obter uma chave de API para dados de violação de domínio. Isso abrange a verificação de domínio e a obtenção da chave no seu painel.
Exemplo de requisição de API usando curl. Armazene sua chave em uma variável de ambiente em vez de codificá-la diretamente, para que ela fique fora do histórico do seu shell e do controle de versão:
A resposta da API está em formato JSON. A chave principal 'metrics' contém detalhes sobre a violação. Abaixo está a descrição de cada subchave em '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: este campo fornece um resumo do número de violações por organização.
2.Breaches_Details: este é um array contendo informações detalhadas sobre cada violação individual, incluindo o nome da organização violada, o domínio e o endereço de e-mail associado à violação.
3.Detailed_Breach_Info: este campo contém um resumo detalhado das violações, incluindo a data da violação, o logotipo da organização, se a senha estava ou não em risco, se a violação é pesquisável, o tipo de dado exposto, o número total de registros expostos e uma descrição da violação.
4.Domain_Summary: fornece um resumo de do número de violações por domínio.
5.Top10_Breaches: este campo fornece uma lista das 10 principais violações.
6.Yearly_Metrics: este campo fornece um detalhamento anual do número de violações de 2010 até o ano atual.
Um exemplo de saída é fornecido para fácil referência.
{
"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"
}
Tratamento de erros: se a chave de API for
inválida, o endpoint responde com HTTP 401 e o seguinte JSON:
{
"detail": "Invalid or missing API key"
}
O campo detail contém uma descrição do
erro. Lembre-se de definir
XON_API_KEY com a sua chave
de API real antes de fazer uma requisição ao endpoint.
6. Códigos de resposta da API
Em outras palavras, códigos na faixa 4xx indicam um erro do lado do cliente (sua requisição) e códigos 5xx indicam um erro do lado do servidor (do nosso lado).
| Código | Descrição |
|---|---|
| 200 | Sucesso retornará uma resposta JSON |
| 401 | Chave de API inválida/não autorizada |
| 404 | Erro na entrada ( nenhum dado encontrado ) |
| 429 | Limite de velocidade atingido - hora de desacelerar |
| 502/503 | Erro do lado do servidor. Por favor, reporte caso você encontre este erro. |
Haverá um limite de 2 consultas por segundo para cada requisição de API. Pedimos que você esteja atento a isso e então tente novamente em modo lento ou com pausas.
O uso indevido ou abuso repetido desta API é bloqueado automaticamente pelo xGuardian. Por favor, use a API de forma responsável.
Encontrou um bug? Reporte via Twitter ou e-mail e ele será tratado.