Démarrage rapide
Toutes les requêtes doivent être effectuées en HTTPS. L'API retourne exclusivement du JSON (Content-Type: application/json). La version actuelle est v1.
Authentification
Chaque requête doit inclure votre clé API dans l'en-tête HTTP Authorization. Vous pouvez générer une clé depuis votre tableau de bord.
Endpoints
Implémente la technique k-anonymity : vous envoyez uniquement les 5 premiers caractères du hash SHA-1 du mot de passe. Le serveur retourne tous les suffixes correspondants avec leur nombre d'occurrences. La comparaison finale est effectuée côté client.
Corps de la requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| hash_prefix | string | Requis | 5 premiers caractères du hash SHA-1 du mot de passe en majuscules (ex: 5BAA6) |
Réponse 200
Retourne la liste paginée de toutes les fuites de données indexées dans BreachRadar, triées par date de découverte décroissante.
Paramètres de requête
| Paramètre | Type | Description | |
|---|---|---|---|
| page | integer | Optionnel | Numéro de page, défaut: 1 |
| limit | integer | Optionnel | Résultats par page, défaut: 20, max: 100 |
| severity | string | Optionnel | Filtrer par criticité: critical, high, medium |
| year | integer | Optionnel | Filtrer par année (ex: 2024) |
Réponse 200
Retourne toutes les informations disponibles sur une fuite identifiée par son slug unique (ex: adobe-2013, linkedin-2012).
Paramètre de chemin
| Paramètre | Type | Description | |
|---|---|---|---|
| id | string | Requis | Identifiant unique de la fuite (slug) |
Réponse 200
Retourne les métriques agrégées de l'ensemble de la base de données. Cet endpoint est mis en cache côté serveur toutes les 5 minutes.
Réponse 200
Limites de débit
Les limites sont appliquées par clé API. En cas de dépassement, l'API retourne une erreur 429 Too Many Requests avec un en-tête Retry-After indiquant le nombre de secondes à attendre.
| Plan | Requêtes/jour | Requêtes/minute | Burst | Prix |
|---|---|---|---|---|
| Gratuit | 1 000 | 10 | 20 req/10s | 0 €/mois |
| Pro | Illimité | 100 | 200 req/10s | 29 €/mois |
| Entreprise | Personnalisé | Personnalisé | Sur mesure | Sur devis |
Les en-têtes de réponse incluent toujours X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset (timestamp UNIX).
Codes d'erreur
L'API utilise les codes HTTP standards. Les réponses d'erreur suivent toujours ce format :
| Code HTTP | Code interne | Description | Solution |
|---|---|---|---|
| 400 | INVALID_REQUEST | Corps de requête invalide ou paramètre manquant | Vérifiez le format des paramètres |
| 401 | UNAUTHORIZED | Clé API manquante, invalide ou révoquée | Vérifiez votre clé dans le tableau de bord |
| 404 | NOT_FOUND | Ressource introuvable (ex: ID de fuite inconnu) | Vérifiez l'identifiant fourni |
| 429 | RATE_LIMIT_EXCEEDED | Limite de débit dépassée | Attendez la valeur Retry-After (en secondes) |
| 500 | INTERNAL_ERROR | Erreur interne du serveur | Réessayez. Si persistant, contactez le support |
Bibliothèques officielles
Des SDKs maintenus par BreachRadar sont disponibles pour les environnements les plus courants :
Node.js / TypeScript
Support complet TypeScript, compatible Node 18+ et Deno.
Python
Compatible Python 3.9+, async/await supporté via httpx.
PHP
Compatible PHP 8.1+, intégration PSR-18 pour n'importe quel client HTTP.
Go
Module Go natif, zero-dependency, compatible Go 1.21+.