API DÉVELOPPEUR
L’API Xsearcher
Récupère les résultats OSINT dans tes bots Discord, tes scripts et tes applications avec une simple clé API.
https://xsearcher.cc
Format JSON
Limites 20 requêtes / minute · 500 / jour
Mes clés API
Crée jusqu’à 5 clés. Chaque clé est liée à ton compte. Réservé aux offres Ultra et Max.
Connecte-toi pour créer une clé API
Les clés API sont réservées aux comptes X.GPT. Connecte-toi ou crée un compte gratuit pour générer ta première clé.
Les clés API demandent l’offre X.GPT Ultra
L’accès à l’OSINT API est inclus dans les offres Ultra et Max. Ton offre actuelle ne permet pas encore de créer une clé.
Démarrage rapide
- 1Crée une clé
Connecte-toi puis clique sur « Créer une clé » ci-dessus. Elle commence par
xsearcher-, suivi du code de ton compte. L’accès demande l’offre X.GPT Ultra ou supérieure. - 2Envoie une requête
Appelle
POST /api/v1/osint/searchavec ta clé dans l’en-têteAuthorizationet les critères de recherche en JSON. - 3Utilise les résultats
L’API renvoie les fiches trouvées au format JSON : affiche-les dans ton bot Discord, ton site ou ton script.
Authentification
Envoie ta clé API dans l’en-tête Authorization de chaque requête, ou dans X-API-Key.
Authorization: Bearer xsearcher-xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# ou
X-API-Key: xsearcher-xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ta clé est liée à l’offre de ton compte : si ton offre repasse sous Ultra, la clé cesse de fonctionner (erreur plan_required).
Garde ta clé secrète : ne la mets jamais dans du code côté navigateur ni dans un dépôt public. Si elle fuite, révoque-la et crée-en une autre.
Recherche OSINT
POST /api/v1/osint/search — ou GET avec les critères en paramètres d’URL.
Envoie au moins un critère. Les champs inconnus sont ignorés.
| Champ | Description | Exemple |
|---|---|---|
nom_famille | Nom de famille | Dupont |
prenom | Prénom | Camille |
nom_naissance / nom_affichage | Nom de naissance / nom affiché | Martin |
date_naissance | Date exacte (AAAA-MM-JJ) | 1990-04-12 |
jour_naissance · mois_naissance · annee_naissance | Jour, mois, année de naissance | 12 · 4 · 1990 |
ville_naissance · genre | Ville de naissance · genre (M/F) | Lyon · F |
email | Adresse e-mail | [email protected] |
telephone | Numéro de téléphone | 0639980000 |
nom_utilisateur | Pseudo | camille_demo |
adresse_ip | Adresse IP | 192.0.2.42 |
ville · code_postal · adresse · pays | Localisation | Paris · 75001 |
nir · iban · bic · vin_plaque | Champs avancés | — |
steam_id · discord_id · xbox_live_id | Identifiants FiveM / jeux | steam:1100001… |
fivem_license · fivem_license2 · fivem_id · live_id | Licences FiveM | license:abc123… |
page | Numéro de page des résultats (défaut 1) | 2 |
Réponse
Les fiches trouvées sont dans data.results. Chaque fiche contient les champs disponibles (nom, e-mail, ville…) ; leur contenu varie selon les sources.
{
"success": true,
"data": {
"results": [
{ "prenom": "Camille", "nom_famille": "Dupont", "email": "[email protected]", "ville": "Lyon" }
]
},
"meta": { "total": 1, "count": 1, "page": 1, "pages": 1, "took_ms": 214 },
"usage": { "minute": { "used": 1, "limit": 20, "remaining": 19 },
"day": { "used": 1, "limit": 500, "remaining": 499 } }
}
GET /api/v1/me — infos sur ta clé et ta consommation (ne compte pas dans les limites).
Erreurs
En cas d’erreur, success vaut false et error contient un code stable et un message.
| HTTP | code | Signification |
|---|---|---|
| 400 | missing_criteria | Aucun critère de recherche valide. |
| 400 | invalid_json | Le corps de la requête n’est pas un JSON valide. |
| 401 | missing_api_key · invalid_api_key | Clé absente, mal formée ou inconnue. |
| 401 | revoked_api_key | La clé a été révoquée. |
| 403 | plan_required | Offre insuffisante : l’API OSINT demande X.GPT Ultra ou supérieure. |
| 403 | blocked_target | Cette personne ne peut pas être recherchée. |
| 429 | rate_limited · daily_quota_exceeded | Trop de requêtes. Respecte l’en-tête Retry-After. |
| 502 / 503 | upstream_error | La source de données est momentanément indisponible : réessaie. |
Limites
Chaque réponse contient les en-têtes X-RateLimit-Remaining-Minute et X-RateLimit-Remaining-Day. Au-delà de la limite, l’API répond 429 avec Retry-After (en secondes).
Exemples de code
Copie-colle, remplace la clé et c’est parti.
Bots Discord
Une commande /osint prête à l’emploi.
- Stocke la clé dans une variable d’environnement (
XSEARCHER_KEY) et le jeton du bot dansDISCORD_TOKEN. - Utilise
deferReply(): la recherche peut prendre quelques secondes. - Limite l’affichage à 3–5 fiches par message et respecte les
429avecRetry-After. - Réserve la commande à un rôle de confiance (
setDefaultMemberPermissions/@app_commands.checks).
Tester l’API
Envoie une vraie requête depuis cette page.
Utilise la clé saisie dans « Exemples de code » (ou celle que tu viens de créer).
Bonnes pratiques
- Ne partage jamais ta clé et révoque-la dès qu’elle est exposée.
- Mets les résultats en cache côté serveur si tu fais plusieurs fois la même recherche.
- Gère toujours les erreurs
401,429et5xxsans faire planter ton bot. - Utilise l’API dans le respect de la loi et du RGPD : les données personnelles ne doivent servir qu’à un usage légitime.