Annuaires
Indicatifs
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.
Numéro ou indicatif
Zone
Exemple fictif
Exemple inventé, pas une recherche réelle. N’appelez pas et n’ouvrez pas ses liens.
+34 · 91Interpréter le résultat
Les numéros mobiles ne sont liés à aucune zone : l’indicatif indique seulement qu’il s’agit d’une ligne mobile.
Cette tranche n’est liée à aucune zone géographique.
Limites
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.
Formats et indicatifs pris en charge uniquement. Ils ne prouvent ni la localisation, ni le titulaire, ni l’activité du numéro. Certains indicatifs sont partagés.
Résoudre un problème
Cet indicatif ne figure pas dans le plan de numérotation publié du pays de cette édition.
Nous ne pouvons pas lire le plan de numérotation de ce pays pour le moment : nous pouvons seulement indiquer le type de ligne, pas la zone.
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.
Tranches de numérotation publiées d’un pays, filtrables par classe de service, classe de coût et préfixe, avec pagination. FR, DK, HK et SG n’ont pas de plan publié (422 avec le code de détail no_numbering_plan) ; CA renvoie le plan NANP commun.
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/prefix-directory
POST https://api.nocall.io/v2/tools {"tool":"prefix-directory","country":"ES","serviceClass":"premium","page":1,"limit":3}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. |
| serviceClass | "geographic" | "mobile" | "personal" | "toll_free" | "shared_cost" | "premium" | "mass_call" | "nomadic" | "m2m" | "internet" | "short_code" | "global_service" | "other" | Non | Uniquement les plages de cette classe de service. |
| costClass | "free" | "standard" | "shared" | "premium" | "variable" | "unknown" | Non | Uniquement les plages de cette classe de coût. |
| query | string (1–20) | Non | Uniquement les plages dont le préfixe commence par ces chiffres. |
| page | integer (1–10000) | Non (par défaut: 1) | Numéro de page, à partir de 1. |
| limit | integer (1–100) | Non (par défaut: 50) | Résultats par page. |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/prefix-directory' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"country":"ES","serviceClass":"premium","page":1,"limit":3}'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/prefix-directory',
method='POST',
data=json.dumps({'country': 'ES', 'serviceClass': 'premium', 'page': 1, 'limit': 3}).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/prefix-directory', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ country: 'ES', serviceClass: 'premium', page: 1, limit: 3 }),
});
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": "prefix-directory",
"result": {
"countryCode": "ES",
"callingCode": "34",
"planVersion": "ES-2021-02-18.review-2026-08-09",
"total": 3,
"page": 1,
"limit": 3,
"hasMore": false,
"rows": [
{
"prefix": "803",
"serviceClass": "premium",
"costClass": "premium",
"geography": null,
"indexable": true,
"source": "es-ministry-pnn-2021-02-18"
},
{
"prefix": "806",
"serviceClass": "premium",
"costClass": "premium",
"geography": null,
"indexable": true,
"source": "es-ministry-pnn-2021-02-18"
},
{
"prefix": "807",
"serviceClass": "premium",
"costClass": "premium",
"geography": null,
"indexable": true,
"source": "es-ministry-pnn-2021-02-18"
}
]
}
},
"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 |
|---|---|---|
| countryCode | string | Pays du plan de numérotation. |
| callingCode | string | Indicatif international du pays. |
| planVersion | string | Version du plan de numérotation. |
| 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> | Plages de numérotation de cette page : préfixe, classe de service, classe de coût, zone géographique et source. |
