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) |
|---|---|---|---|---|
| 0488 | 04020 | OUM EL BOUAGHI أم البواقي | AIN BABOUCHE | عين ببوش |
| 0489 | 04001 | OUM EL BOUAGHI أم البواقي | AIN BEIDA | عين البيضاء |
| 0490 | 04025 | OUM EL BOUAGHI أم البواقي | AIN DISS | عين الديس |
| 0491 | 04005 | OUM EL BOUAGHI أم البواقي | AIN FEKROUN | عين فكرون |
| 0492 | 04006 | OUM EL BOUAGHI أم البواقي | AIN KERCHA | عين كرشة |
| 0493 | 04002 | OUM EL BOUAGHI أم البواقي | AIN M'LILA | عين مليلة |
| 0494 | 04023 | OUM EL BOUAGHI أم البواقي | AIN ZITOUN | عين الزيتون |
| 0495 | 04026 | OUM EL BOUAGHI أم البواقي | BEHIR CHERGUI | بحير الشرقي |
| 0496 | 04022 | OUM EL BOUAGHI أم البواقي | BERRICHE | بريش |
| 0497 | 04021 | OUM EL BOUAGHI أم البواقي | BIR CHOUHADA | بئر الشهداء |
| 0498 | 04008 | OUM EL BOUAGHI أم البواقي | DHALAA | الضلعة |
| 0499 | 04038 | OUM EL BOUAGHI أم البواقي | EL AMIRIA | العامرية |
| 05117 | 05032 | BATNA باتنة | AIN DJASSER | عين جاسر |
| 05118 | 05002 | BATNA باتنة | AIN TOUTA | عين التوتة |
| 05119 | 05031 | BATNA باتنة | AIN YAGOUT | عين ياقوت |
| 05120 | 05007 | BATNA باتنة | ARRIS | أريس |
| 05121 | 05087 | BATNA باتنة | AZIL ABEDELKADER | عزيل عبد القادر |
| 05123 | 00000 | BATNA باتنة | BATNA | باتنة |
| 05124 | 05141 | BATNA باتنة | BENI FOUDHALA EL HAKANIA | بني فضالة الحقانية |
| 05126 | 05062 | BATNA باتنة | BOULHILAT | بولهيلات |
AIN BABOUCHE
عين ببوش
0488
04020
OUM EL BOUAGHI — أم البواقي
AIN BEIDA
عين البيضاء
0489
04001
OUM EL BOUAGHI — أم البواقي
AIN DISS
عين الديس
0490
04025
OUM EL BOUAGHI — أم البواقي
AIN FEKROUN
عين فكرون
0491
04005
OUM EL BOUAGHI — أم البواقي
AIN KERCHA
عين كرشة
0492
04006
OUM EL BOUAGHI — أم البواقي
AIN M'LILA
عين مليلة
0493
04002
OUM EL BOUAGHI — أم البواقي
AIN ZITOUN
عين الزيتون
0494
04023
OUM EL BOUAGHI — أم البواقي
BEHIR CHERGUI
بحير الشرقي
0495
04026
OUM EL BOUAGHI — أم البواقي
BERRICHE
بريش
0496
04022
OUM EL BOUAGHI — أم البواقي
BIR CHOUHADA
بئر الشهداء
0497
04021
OUM EL BOUAGHI — أم البواقي
DHALAA
الضلعة
0498
04008
OUM EL BOUAGHI — أم البواقي
EL AMIRIA
العامرية
0499
04038
OUM EL BOUAGHI — أم البواقي
AIN DJASSER
عين جاسر
05117
05032
BATNA — باتنة
AIN TOUTA
عين التوتة
05118
05002
BATNA — باتنة
AIN YAGOUT
عين ياقوت
05119
05031
BATNA — باتنة
ARRIS
أريس
05120
05007
BATNA — باتنة
AZIL ABEDELKADER
عزيل عبد القادر
05121
05087
BATNA — باتنة
BATNA
باتنة
05123
00000
BATNA — باتنة
BENI FOUDHALA EL HAKANIA
بني فضالة الحقانية
05124
05141
BATNA — باتنة
BOULHILAT
بولهيلات
05126
05062
BATNA — باتنة
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'