Wilayas & Communes d'Algérie
Code Géographique National - Juin 2021 — 58 wilayas, 1 541 communes — Voir la carte interactive
| Code ONS | Code Postal | Wilaya | Commune | Commune (Arabe) |
|---|---|---|---|---|
| 431401 | 43006 | MILA ميلة | OUED ENDJA | وادي النجاء |
| 431402 | 43031 | MILA ميلة | OUED SEGUEN | وادي سقان |
| 431403 | 43032 | MILA ميلة | OULED KHALOUF | أولاد اخلوف |
| 431404 | 43009 | MILA ميلة | ROUACHED | الرواشد |
| 431405 | 43058 | MILA ميلة | SIDI KHELIFA | سيدي خليفة |
| 431406 | 43010 | MILA ميلة | SIDI MEROUANE | سيدي مروان |
| 431407 | 43007 | MILA ميلة | TADJENANET | تاجنانت |
| 431408 | 43033 | MILA ميلة | TASSADANE HADDADA | تسدان حدادة |
| 431409 | 00000 | MILA ميلة | TELEGHMA | التلاغمة |
| 431410 | 43018 | MILA ميلة | TERRAI BAINEN | ترعي باينان |
| 431411 | 43034 | MILA ميلة | TASSALA LEMATAI | تسالة لمطاعي |
| 431412 | 43035 | MILA ميلة | TIBERGUENT | تيبرقنت |
| 431413 | 43071 | MILA ميلة | YAHIA BENIGUECHA | يحي بني قشة |
| 431414 | 43012 | MILA ميلة | ZEGHAIA | زغاية |
| 441415 | 44035 | AÏN DEFLA عين الدفلة | AIN-BENIAN | عين البنيان |
| 441416 | 44032 | AÏN DEFLA عين الدفلة | AIN-BOUYAHIA | عين بويحيى |
| 441417 | 44000 | AÏN DEFLA عين الدفلة | AIN-DEFLA | عين الدفلى |
| 441418 | 44018 | AÏN DEFLA عين الدفلة | AIN-LECHIAKH | عين الاشياخ |
| 441419 | 44019 | AÏN DEFLA عين الدفلة | AIN-SOLTANE | عين السلطان |
| 441420 | 44020 | AÏN DEFLA عين الدفلة | AIN-TORKI | عين التركي |
OUED ENDJA
وادي النجاء
431401
43006
MILA — ميلة
OUED SEGUEN
وادي سقان
431402
43031
MILA — ميلة
OULED KHALOUF
أولاد اخلوف
431403
43032
MILA — ميلة
ROUACHED
الرواشد
431404
43009
MILA — ميلة
SIDI KHELIFA
سيدي خليفة
431405
43058
MILA — ميلة
SIDI MEROUANE
سيدي مروان
431406
43010
MILA — ميلة
TADJENANET
تاجنانت
431407
43007
MILA — ميلة
TASSADANE HADDADA
تسدان حدادة
431408
43033
MILA — ميلة
TELEGHMA
التلاغمة
431409
00000
MILA — ميلة
TERRAI BAINEN
ترعي باينان
431410
43018
MILA — ميلة
TASSALA LEMATAI
تسالة لمطاعي
431411
43034
MILA — ميلة
TIBERGUENT
تيبرقنت
431412
43035
MILA — ميلة
YAHIA BENIGUECHA
يحي بني قشة
431413
43071
MILA — ميلة
ZEGHAIA
زغاية
431414
43012
MILA — ميلة
AIN-BENIAN
عين البنيان
441415
44035
AÏN DEFLA — عين الدفلة
AIN-BOUYAHIA
عين بويحيى
441416
44032
AÏN DEFLA — عين الدفلة
AIN-DEFLA
عين الدفلى
441417
44000
AÏN DEFLA — عين الدفلة
AIN-LECHIAKH
عين الاشياخ
441418
44018
AÏN DEFLA — عين الدفلة
AIN-SOLTANE
عين السلطان
441419
44019
AÏN DEFLA — عين الدفلة
AIN-TORKI
عين التركي
441420
44020
AÏN DEFLA — عين الدفلة
Documentation API
GET /api/wilayas
GET /api/wilayas/{code}
GET /api/communes
GET
/api/wilayas
Retourne la liste des 58 wilayas d'Algérie. Chaque wilaya contient son code (sur 2 chiffres), son nom en français et son nom en arabe.
Un paramètre de recherche optionnel permet de filtrer par code, nom français ou nom arabe.
Paramètres
| Nom | Type | Description |
|---|---|---|
| q optionnel | string | Recherche sur le code, le nom français ou le nom arabe de la wilaya |
Réponse 200 OK
[ { "code": "16", "name": "ALGER", "name_ar": "الجزائر" }, { "code": "31", "name": "ORAN", "name_ar": "وهران" } // ... ]
PHP
Python
cURL
// Lister toutes les wilayas $response = file_get_contents('https://data.dz-immo.com/api/wilayas'); $wilayas = json_decode($response, true); foreach ($wilayas as $w) { echo $w['code'] . ' - ' . $w['name'] . ' (' . $w['name_ar'] . ")\n"; } // Rechercher une wilaya par nom $q = urlencode('alger'); $results = json_decode( file_get_contents("https://data.dz-immo.com/api/wilayas?q={$q}"), true ); // Avec cURL (gestion d'erreurs) $ch = curl_init('https://data.dz-immo.com/api/wilayas'); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Accept: application/json'], ]); $response = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($status === 200) { $wilayas = json_decode($response, true); }
import requests # Lister toutes les wilayas response = requests.get("https://data.dz-immo.com/api/wilayas") wilayas = response.json() for w in wilayas: print(f"{w['code']} - {w['name']} ({w['name_ar']})") # Rechercher une wilaya response = requests.get( "https://data.dz-immo.com/api/wilayas", params={"q": "alger"} ) results = response.json() # Construire un dictionnaire code -> nom wilaya_map = {w["code"]: w["name"] for w in wilayas} print(wilaya_map["16"]) # ALGER
# Toutes les wilayas curl https://data.dz-immo.com/api/wilayas # Rechercher par nom curl "https://data.dz-immo.com/api/wilayas?q=oran" # Rechercher en arabe curl "https://data.dz-immo.com/api/wilayas?q=وهران"
GET
/api/wilayas/{code}
Retourne le détail d'une wilaya identifiée par son code (2 chiffres), accompagnée de la liste complète de ses communes.
Si le code n'existe pas, l'API retourne une erreur 404.
Paramètres d'URL
| Nom | Type | Description |
|---|---|---|
| code | string | Code de la wilaya sur 2 chiffres (ex: 16 pour Alger, 31 pour Oran) |
Réponse 200 OK
{ "code": "16", "name": "ALGER", "name_ar": "الجزائر", "communes": [ { "code": "01", "name": "ALGER CENTRE", "name_ar": "الجزائر الوسطى" }, { "code": "05", "name": "BAB EL OUED", "name_ar": "باب الوادي" } // ... 57 communes au total ] }
Erreur 404
{ "error": "Wilaya not found" }
PHP
Python
cURL
// Récupérer Alger (code 16) avec toutes ses communes $code = '16'; $response = file_get_contents("https://data.dz-immo.com/api/wilayas/{$code}"); $wilaya = json_decode($response, true); echo $wilaya['name'] . " contient " . count($wilaya['communes']) . " communes\n"; // Afficher chaque commune foreach ($wilaya['communes'] as $c) { echo sprintf( " %s-%s %-25s %s\n", $wilaya['code'], $c['code'], $c['name'], $c['name_ar'] ); } // Construire un select HTML $html = '<select name="commune">'; foreach ($wilaya['communes'] as $c) { $html .= "<option value=\"{$c['code']}\">" . "{$c['name']} ({$c['name_ar']})</option>"; } $html .= '</select>';
import requests # Récupérer une wilaya et ses communes code = "16" response = requests.get(f"https://data.dz-immo.com/api/wilayas/{code}") response.raise_for_status() # lève une exception si 404 wilaya = response.json() print(f"{wilaya['name']} : {len(wilaya['communes'])} communes") # Créer un DataFrame pandas import pandas as pd df = pd.DataFrame(wilaya["communes"]) print(df.to_string(index=False)) # Exporter en CSV df.to_csv(f"communes_wilaya_{code}.csv", index=False)
# Détail de la wilaya d'Alger curl https://data.dz-immo.com/api/wilayas/16 # Détail de la wilaya d'Oran curl https://data.dz-immo.com/api/wilayas/31 # Formatter la sortie avec jq curl -s https://data.dz-immo.com/api/wilayas/16 | jq '.communes[] | .name'
GET
/api/communes
Retourne la liste des communes avec des filtres combinables : recherche textuelle et/ou filtrage par code de wilaya.
Sans filtre, retourne les 1 541 communes. Chaque commune inclut les informations de sa wilaya parente.
Paramètres
| Nom | Type | Description |
|---|---|---|
| q optionnel | string | Recherche sur le code, le nom français ou le nom arabe de la commune |
| wilaya optionnel | string | Code de la wilaya pour filtrer les communes (2 chiffres, ex: 16) |
Réponse 200 OK
[ { "wilaya_code": "16", "wilaya_name": "ALGER", "wilaya_name_ar": "الجزائر", "code": "05", "name": "BAB EL OUED", "name_ar": "باب الوادي" } // ... ]
PHP
Python
cURL
// Communes d'une wilaya $wilayaCode = '16'; $response = file_get_contents( "https://data.dz-immo.com/api/communes?wilaya={$wilayaCode}" ); $communes = json_decode($response, true); // Rechercher une commune par nom dans une wilaya $q = urlencode('bab'); $response = file_get_contents( "https://data.dz-immo.com/api/communes?wilaya=16&q={$q}" ); $results = json_decode($response, true); // Rechercher dans toutes les wilayas $response = file_get_contents( "https://data.dz-immo.com/api/communes?q=ain" ); $communes = json_decode($response, true); echo count($communes) . " communes contiennent 'ain'\n"; // Regrouper les communes par wilaya $grouped = []; foreach ($communes as $c) { $grouped[$c['wilaya_name']][] = $c['name']; }
import requests # Communes d'une wilaya response = requests.get( "https://data.dz-immo.com/api/communes", params={"wilaya": "16"} ) communes = response.json() # Rechercher + filtrer par wilaya response = requests.get( "https://data.dz-immo.com/api/communes", params={"q": "bab", "wilaya": "16"} ) # Charger toutes les communes dans un DataFrame import pandas as pd all_communes = requests.get("https://data.dz-immo.com/api/communes").json() df = pd.DataFrame(all_communes) # Nombre de communes par wilaya print(df.groupby("wilaya_name").size().sort_values(ascending=False)) # Exporter tout en CSV df.to_csv("communes_algerie.csv", index=False)
# Toutes les communes curl https://data.dz-immo.com/api/communes # Communes de la wilaya 16 (Alger) curl "https://data.dz-immo.com/api/communes?wilaya=16" # Rechercher "bab" dans Alger curl "https://data.dz-immo.com/api/communes?wilaya=16&q=bab" # Rechercher dans toutes les wilayas + compter curl -s "https://data.dz-immo.com/api/communes?q=ain" | jq 'length'