Annuaires
Indicatifs internationaux
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
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.
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.
Indicatifs internationaux
Pays
Exemple fictif
Exemple inventé, pas une recherche réelle. N’appelez pas et n’ouvrez pas ses liens.
+1 · +44Interpréter le résultat
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.
Limites
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
Aucun pays correspondant
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.
Recherche dans les indicatifs internationaux de l’UIT par nom, code ISO ou indicatif, avec des noms localisés. Les correspondances exactes d’indicatif et d’ISO apparaissent en premier.
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/calling-codes
POST https://api.nocall.io/v2/tools {"tool":"calling-codes","query":"216","language":"en"}Paramètres
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| query | string (1–40) | Non | Nom de pays, code ISO ou indicatif à rechercher. |
| language | string (enum, 33) | Non (par défaut: "en") | Langue des noms de pays. |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/calling-codes' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"query":"216","language":"en"}'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/calling-codes',
method='POST',
data=json.dumps({'query': '216', 'language': 'en'}).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/calling-codes', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ query: '216', language: 'en' }),
});
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": "calling-codes",
"result": {
"rows": [
{
"code": "216",
"name": "Tunisia",
"territories": [
"Tunisia"
],
"source": "itu-e164-nnp-2026-08-09"
}
],
"total": 1
}
},
"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 |
|---|---|---|
| rows | array<object> | Indicatifs correspondants avec leur nom localisé, leurs territoires et leur source ; les correspondances exactes d’indicatif et d’ISO apparaissent en premier. |
| total | integer | Nombre total de lignes correspondantes. |
