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) |
|---|---|---|---|---|
| 0101 | 01000 | ADRAR أدرار | ADRAR | أدرار |
| 0102 | 01044 | ADRAR أدرار | AKABLI | اقبلي |
| 0104 | 01003 | ADRAR أدرار | AOULEF | أولف |
| 0106 | 01023 | ADRAR أدرار | BOUDA | بودة |
| 0109 | 01008 | ADRAR أدرار | FENOUGHIL | فنوغيل |
| 0110 | 01047 | ADRAR أدرار | IN ZGHMIR | إن زغمير |
| 0113 | 01025 | ADRAR أدرار | OULED AHMED TIMMI | أولاد أحمد تيمي |
| 0116 | 01004 | ADRAR أدرار | REGGANE | رقان |
| 0117 | 01009 | ADRAR أدرار | SALI | سالي |
| 0118 | 01022 | ADRAR أدرار | SEBAA | السبع |
| 0120 | 01021 | ADRAR أدرار | TAMANTIT | تامنطيط |
| 0121 | 01020 | ADRAR أدرار | TAMEST | تامست |
| 0122 | 01041 | ADRAR أدرار | TIMEKTEN | تيمقتن |
| 0126 | 01031 | ADRAR أدرار | TIT | تيت |
| 0127 | 01011 | ADRAR أدرار | TSABIT | تسابيت |
| 0128 | 01007 | ADRAR أدرار | ZAOUIET KOUNTA | زاوية كنتة |
| 0229 | 02018 | CHLEF الشلف | ABOU EL HASSANE | أبو الحسن |
| 0230 | 02004 | CHLEF الشلف | AIN MERANE | عين مران |
| 0231 | 02039 | CHLEF الشلف | BENAIRIA | بنايرية |
| 0232 | 02071 | CHLEF الشلف | BENI BOUATTAB | بني بوعتاب |
ADRAR
أدرار
0101
01000
ADRAR — أدرار
AKABLI
اقبلي
0102
01044
ADRAR — أدرار
AOULEF
أولف
0104
01003
ADRAR — أدرار
BOUDA
بودة
0106
01023
ADRAR — أدرار
FENOUGHIL
فنوغيل
0109
01008
ADRAR — أدرار
IN ZGHMIR
إن زغمير
0110
01047
ADRAR — أدرار
OULED AHMED TIMMI
أولاد أحمد تيمي
0113
01025
ADRAR — أدرار
REGGANE
رقان
0116
01004
ADRAR — أدرار
SALI
سالي
0117
01009
ADRAR — أدرار
SEBAA
السبع
0118
01022
ADRAR — أدرار
TAMANTIT
تامنطيط
0120
01021
ADRAR — أدرار
TAMEST
تامست
0121
01020
ADRAR — أدرار
TIMEKTEN
تيمقتن
0122
01041
ADRAR — أدرار
TIT
تيت
0126
01031
ADRAR — أدرار
TSABIT
تسابيت
0127
01011
ADRAR — أدرار
ZAOUIET KOUNTA
زاوية كنتة
0128
01007
ADRAR — أدرار
ABOU EL HASSANE
أبو الحسن
0229
02018
CHLEF — الشلف
AIN MERANE
عين مران
0230
02004
CHLEF — الشلف
BENAIRIA
بنايرية
0231
02039
CHLEF — الشلف
BENI BOUATTAB
بني بوعتاب
0232
02071
CHLEF — الشلف
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'