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) |
|---|---|---|---|---|
| 411341 | 41005 | SOUK AHRAS سوق أهراس | OULED DRISS | أولاد إدريس |
| 411342 | 41034 | SOUK AHRAS سوق أهراس | OULED MOUMEN | أولاد مومن |
| 411343 | 41019 | SOUK AHRAS سوق أهراس | OUM EL ADHAIM | أم العظايم |
| 411344 | 41029 | SOUK AHRAS سوق أهراس | OUILLEN | ويلان |
| 411345 | 41033 | SOUK AHRAS سوق أهراس | RAGOUBA | الراقوبة |
| 411346 | 41035 | SOUK AHRAS سوق أهراس | SAFEL EL OUIDEN | سافل الويدان |
| 411347 | 41006 | SOUK AHRAS سوق أهراس | SEDRATA | سدراتة |
| 411348 | SOUK AHRAS سوق أهراس | SIDI FREDJ | سيدي فرج | |
| 411349 | 41000 | SOUK AHRAS سوق أهراس | SOUK AHRAS | سوق أهراس |
| 411350 | 41009 | SOUK AHRAS سوق أهراس | TAOURA | تاورة |
| 411351 | 41037 | SOUK AHRAS سوق أهراس | TERRAGUELT | ترقالت |
| 411352 | 41038 | SOUK AHRAS سوق أهراس | TIFFECH | تيفاش |
| 411353 | 41025 | SOUK AHRAS سوق أهراس | ZAAROURIA | الزعرورية |
| 411354 | 41039 | SOUK AHRAS سوق أهراس | ZOUABI | الزوابي |
| 421355 | 42035 | TIPAZA تيبازة | AGHBAL | أغبال |
| 421356 | 42005 | TIPAZA تيبازة | AHMER EL AIN | أحمر العين |
| 421357 | 42023 | TIPAZA تيبازة | AIN TAGOURAIT | عين تاقورايت |
| 421358 | 42008 | TIPAZA تيبازة | ATTATBA | الحطاطبة |
| 421359 | 42024 | TIPAZA تيبازة | BENI MILEUK | بني ميلك |
| 421360 | 42009 | TIPAZA تيبازة | BOU HAROUN | بوهارون |
OULED DRISS
أولاد إدريس
411341
41005
SOUK AHRAS — سوق أهراس
OULED MOUMEN
أولاد مومن
411342
41034
SOUK AHRAS — سوق أهراس
OUM EL ADHAIM
أم العظايم
411343
41019
SOUK AHRAS — سوق أهراس
OUILLEN
ويلان
411344
41029
SOUK AHRAS — سوق أهراس
RAGOUBA
الراقوبة
411345
41033
SOUK AHRAS — سوق أهراس
SAFEL EL OUIDEN
سافل الويدان
411346
41035
SOUK AHRAS — سوق أهراس
SEDRATA
سدراتة
411347
41006
SOUK AHRAS — سوق أهراس
SIDI FREDJ
سيدي فرج
411348
SOUK AHRAS — سوق أهراس
SOUK AHRAS
سوق أهراس
411349
41000
SOUK AHRAS — سوق أهراس
TAOURA
تاورة
411350
41009
SOUK AHRAS — سوق أهراس
TERRAGUELT
ترقالت
411351
41037
SOUK AHRAS — سوق أهراس
TIFFECH
تيفاش
411352
41038
SOUK AHRAS — سوق أهراس
ZAAROURIA
الزعرورية
411353
41025
SOUK AHRAS — سوق أهراس
ZOUABI
الزوابي
411354
41039
SOUK AHRAS — سوق أهراس
AGHBAL
أغبال
421355
42035
TIPAZA — تيبازة
AHMER EL AIN
أحمر العين
421356
42005
TIPAZA — تيبازة
AIN TAGOURAIT
عين تاقورايت
421357
42023
TIPAZA — تيبازة
ATTATBA
الحطاطبة
421358
42008
TIPAZA — تيبازة
BENI MILEUK
بني ميلك
421359
42024
TIPAZA — تيبازة
BOU HAROUN
بوهارون
421360
42009
TIPAZA — تيبازة
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'