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) |
|---|---|---|---|---|
| 0384 | 03019 | LAGHOUAT الأغواط | SIDI MAKHLOUF | سيدي مخلوف |
| 0385 | 00000 | LAGHOUAT الأغواط | TADJEMOUT | تاجموت |
| 0386 | 03011 | LAGHOUAT الأغواط | TADJROUNA | تاجرونة |
| 04100 | 04044 | OUM EL BOUAGHI أم البواقي | EL BELALA | البلالة |
| 04101 | 04040 | OUM EL BOUAGHI أم البواقي | EL DJAZIA | الجازية |
| 04102 | 04042 | OUM EL BOUAGHI أم البواقي | EL FEDJOUDJ BOUGHRARA SA | الفجوج بوغرارة سعودي |
| 04103 | 04032 | OUM EL BOUAGHI أم البواقي | EL HARMILIA | الحرملية |
| 04104 | 04013 | OUM EL BOUAGHI أم البواقي | FKIRINA | فكيرينة |
| 04105 | 04012 | OUM EL BOUAGHI أم البواقي | HANCHIR TOUMGHANI | هنشير تومغني |
| 04106 | 04018 | OUM EL BOUAGHI أم البواقي | KSAR SBAHI | قصر الصباحي |
| 04107 | 04004 | OUM EL BOUAGHI أم البواقي | MESKIANA | مسكيانة |
| 04108 | 04047 | OUM EL BOUAGHI أم البواقي | OUED NINI | وادي نيني |
| 04109 | 04041 | OUM EL BOUAGHI أم البواقي | OULED GACEM | أولاد قاسم |
| 04110 | 04019 | OUM EL BOUAGHI أم البواقي | OULED HAMLA | أولاد حملة |
| 04111 | OUM EL BOUAGHI أم البواقي | OULED ZOUAI | أولاد زواي | |
| 04112 | 04000 | OUM EL BOUAGHI أم البواقي | OUM EL BOUAGHI | أم البواقي |
| 04113 | 04045 | OUM EL BOUAGHI أم البواقي | RAHIA | الرحية |
| 04114 | 04011 | OUM EL BOUAGHI أم البواقي | SIGUS | سيقوس |
| 04115 | 04010 | OUM EL BOUAGHI أم البواقي | SOUK NAAMANE | سوق نعمان |
| 04116 | 04024 | OUM EL BOUAGHI أم البواقي | ZORG | الزرق |
SIDI MAKHLOUF
سيدي مخلوف
0384
03019
LAGHOUAT — الأغواط
TADJEMOUT
تاجموت
0385
00000
LAGHOUAT — الأغواط
TADJROUNA
تاجرونة
0386
03011
LAGHOUAT — الأغواط
EL BELALA
البلالة
04100
04044
OUM EL BOUAGHI — أم البواقي
EL DJAZIA
الجازية
04101
04040
OUM EL BOUAGHI — أم البواقي
EL FEDJOUDJ BOUGHRARA SA
الفجوج بوغرارة سعودي
04102
04042
OUM EL BOUAGHI — أم البواقي
EL HARMILIA
الحرملية
04103
04032
OUM EL BOUAGHI — أم البواقي
FKIRINA
فكيرينة
04104
04013
OUM EL BOUAGHI — أم البواقي
HANCHIR TOUMGHANI
هنشير تومغني
04105
04012
OUM EL BOUAGHI — أم البواقي
KSAR SBAHI
قصر الصباحي
04106
04018
OUM EL BOUAGHI — أم البواقي
MESKIANA
مسكيانة
04107
04004
OUM EL BOUAGHI — أم البواقي
OUED NINI
وادي نيني
04108
04047
OUM EL BOUAGHI — أم البواقي
OULED GACEM
أولاد قاسم
04109
04041
OUM EL BOUAGHI — أم البواقي
OULED HAMLA
أولاد حملة
04110
04019
OUM EL BOUAGHI — أم البواقي
OULED ZOUAI
أولاد زواي
04111
OUM EL BOUAGHI — أم البواقي
OUM EL BOUAGHI
أم البواقي
04112
04000
OUM EL BOUAGHI — أم البواقي
RAHIA
الرحية
04113
04045
OUM EL BOUAGHI — أم البواقي
SIGUS
سيقوس
04114
04011
OUM EL BOUAGHI — أم البواقي
SOUK NAAMANE
سوق نعمان
04115
04010
OUM EL BOUAGHI — أم البواقي
ZORG
الزرق
04116
04024
OUM EL BOUAGHI — أم البواقي
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'