Annuaires
Numéros spam
Couverture: Les zones proviennent du plan de numérotation officiel du pays de chaque édition. L’Espagne indique une province pour chaque tranche de fixes ; beaucoup d’autres pays publient leurs indicatifs et leurs villes. Les numéros mobiles n’ont de zone dans aucun pays, et quelques pays ne publient pas encore de plan que nous puissions lire : nous n’y affichons que le type de ligne.
Ouvrir l’outilSur cette page
Objectif
Ouvrez le répertoire de votre édition, choisissez une catégorie puis une fiche. Les compteurs décrivent les données disponibles dans NoCall, pas tous les appels du pays. L’absence de données ne prouve pas qu’un numéro est sûr.
Prérequis
Tout le monde peut lire ces guides, sans compte. Certains outils nécessitent Pro, comme indiqué dans chaque guide.
Mode d’emploi
Choisissez l’édition du pays, ouvrez la catégorie ou la ligne souhaitée et consultez les détails disponibles.
Catégories
Numéros les plus signalés
Exemple fictif
Exemple inventé, pas une recherche réelle. N’appelez pas et n’ouvrez pas ses liens.
+44 1632 960123Interpréter le résultat
Ce numéro ne figure pas dans notre base de données. Soyez le premier à le signaler.
Ce numéro fait l'objet de signalements d'appels indésirables
Limites
Informations basées sur les signalements de la communauté et une analyse automatisée. Elles peuvent contenir des erreurs ou être obsolètes, et ne constituent ni un conseil juridique ni une accusation vérifiée contre le propriétaire du numéro.
Résoudre un problème
Le contrôle de sécurité ou la connexion à l'API n'a pas répondu à temps. Réessayez dans quelques secondes.
Lisez les champs disponibles avec leurs limites. Un résultat vide ne prouve pas la sécurité et n’identifie personne.
Utiliser avec l’API
Nécessite une API key et des crédits. Chaque appel abouti coûte 1 crédit, même sans données. Un compte Pro actif inclut 20 crédits par mois calendaire UTC, partagés entre toutes les routes de l’API et consommés en premier ; les crédits mensuels non utilisés ne sont pas reportés. Les crédits achetés sur la page de votre compte fonctionnent sans Pro et n’expirent jamais.
Les erreurs ne sont jamais facturées : 401 invalid_api_key (clé absente ou invalide), 403 pro_required (ni crédits Pro ni crédits achetés), 422 entrée invalide, 429 quota_exceeded (plus de crédits), rate_limit_exceeded ou ai_busy (l’IA de sms-check est à pleine capacité), 503 tool_warming (les données sont encore en préparation) ou tool ou fournisseur indisponible. Après un 429 ou un 503, réessayez une fois écoulées les secondes indiquées dans l’en-tête Retry-After.
Statistiques publiques de spam d’un pays, ou numéros listés publiquement d’une catégorie, avec pagination. page × limit est plafonné à 100 000 lignes, comme l’annuaire public. Un cache à froid renvoie 503 tool_warming.
Envoyez le corps JSON à la route propre au tool, ou à POST /v2/tools en ajoutant le champ tool. Les deux routes renvoient le même résultat.
POST https://api.nocall.io/v2/spam-directory
POST https://api.nocall.io/v2/tools {"tool":"spam-directory","country":"US","category":"SCAM","page":1,"limit":20}Paramètres
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| country | string (enum, 56) | Non (par défaut: "ES") | Code pays à deux lettres, par exemple ES ou US, utilisé pour les saisies au format national et pour les données du pays. |
| category | "TELEMARKETING" | "SCAM" | "DEBT" | "HARASSMENT" | "SURVEY" | "SPAM" | Non | Catégorie de spam. Sans elle, le résumé du pays est renvoyé et page et limit sont ignorés. page × limit ne peut pas dépasser 100 000. |
| page | integer (1–10000) | Non (par défaut: 1) | Numéro de page, à partir de 1. |
| limit | integer (1–50) | Non (par défaut: 20) | Résultats par page. |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/spam-directory' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"country":"US","category":"SCAM","page":1,"limit":20}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/spam-directory',
method='POST',
data=json.dumps({'country': 'US', 'category': 'SCAM', 'page': 1, 'limit': 20}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/spam-directory', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ country: 'US', category: 'SCAM', page: 1, limit: 20 }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);Exemple de réponse (200)
Il s’agit de l’exemple documenté dans la référence de l’API. Les recherches utilisent un numéro fictif ; les agrégats et les réponses de l’IA montrent la structure du résultat, pas des données réelles.
{
"data": {
"tool": "spam-directory",
"result": {
"view": "category",
"category": "SCAM",
"total": 2,
"page": 1,
"limit": 20,
"hasMore": false,
"rows": [
{
"phoneNumber": "+15555550123",
"category": "SCAM",
"reportCount": 4
},
{
"phoneNumber": "+15555550142",
"category": "SCAM",
"reportCount": 2
}
]
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}Champs du résultat (data.result)
| Champ | Type | Description |
|---|---|---|
| view | "summary" | "category" | "summary" sans catégorie ; "category" avec une catégorie. |
| totals | object | Totaux des numéros bloqués, des signalements et des commentaires. |
| categories | array<object> | Nombre de signalements par catégorie. |
| topReported | array<object> | Les 20 numéros les plus signalés (vue résumé), chacun avec la date de son dernier signalement en ISO 8601 UTC, ou null. |
| category | "TELEMARKETING" | "SCAM" | "DEBT" | "HARASSMENT" | "SURVEY" | "SPAM" | La catégorie affichée (vue category). |
| total | integer | Nombre total de lignes correspondantes. |
| page | integer | Page actuelle. |
| limit | integer | Lignes par page. |
| hasMore | boolean | Indique s’il reste des lignes après cette page. |
| rows | array<object> | Numéros listés publiquement de la catégorie sur cette page, chacun avec sa catégorie et son nombre de signalements approuvés (vue catégorie). |
