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) |
|---|---|---|---|---|
| 15551 | 15051 | TIZI OUZOU تيزي وزو | YAKOURENE | إعــكورن |
| 15552 | 15052 | TIZI OUZOU تيزي وزو | YATAFENE | يطــافن |
| 15553 | 15076 | TIZI OUZOU تيزي وزو | ZEKRI | زكري |
| 16554 | 16018 | ALGER الجزائر | AIN BENIAN | عين بنيان |
| 16555 | 16019 | ALGER الجزائر | AIN TAYA | عين طاية |
| 16556 | 00000 | ALGER الجزائر | ALGER CENTRE | الجزائر الوسطى |
| 16557 | 00000 | ALGER الجزائر | BAB EL OUED | باب الوادي |
| 16558 | 16024 | ALGER الجزائر | BAB EZZOUAR | باب الزوار |
| 16559 | 16081 | ALGER الجزائر | BABA HASSEN | بابا حسن |
| 16560 | 16026 | ALGER الجزائر | BACHEDJERAH | باش جراح |
| 16561 | 16027 | ALGER الجزائر | BARAKI | براقي |
| 16562 | 16028 | ALGER الجزائر | BEN AKNOUN | ابن عكنون |
| 16563 | 16044 | ALGER الجزائر | BENI MESSOUS | بني مسوس |
| 16564 | 16013 | ALGER الجزائر | BIR MOURAD RAIS | بئر مراد رايس |
| 16565 | 16029 | ALGER الجزائر | BIRKHADEM | بئر خادم |
| 16566 | 16045 | ALGER الجزائر | BIR TOUTA | بئر توتة |
| 16567 | 16030 | ALGER الجزائر | BOLOGHINE IBNOU ZIRI | بولوغين بن زيري |
| 16568 | 16046 | ALGER الجزائر | BORDJ EL BAHRI | برج البحري |
| 16569 | 16031 | ALGER الجزائر | BORDJ EL KIFFAN | برج الكيفان |
| 16570 | 16054 | ALGER الجزائر | BOUROUBA | بوروبة |
YAKOURENE
إعــكورن
15551
15051
TIZI OUZOU — تيزي وزو
YATAFENE
يطــافن
15552
15052
TIZI OUZOU — تيزي وزو
ZEKRI
زكري
15553
15076
TIZI OUZOU — تيزي وزو
AIN BENIAN
عين بنيان
16554
16018
ALGER — الجزائر
AIN TAYA
عين طاية
16555
16019
ALGER — الجزائر
ALGER CENTRE
الجزائر الوسطى
16556
00000
ALGER — الجزائر
BAB EL OUED
باب الوادي
16557
00000
ALGER — الجزائر
BAB EZZOUAR
باب الزوار
16558
16024
ALGER — الجزائر
BABA HASSEN
بابا حسن
16559
16081
ALGER — الجزائر
BACHEDJERAH
باش جراح
16560
16026
ALGER — الجزائر
BARAKI
براقي
16561
16027
ALGER — الجزائر
BEN AKNOUN
ابن عكنون
16562
16028
ALGER — الجزائر
BENI MESSOUS
بني مسوس
16563
16044
ALGER — الجزائر
BIR MOURAD RAIS
بئر مراد رايس
16564
16013
ALGER — الجزائر
BIRKHADEM
بئر خادم
16565
16029
ALGER — الجزائر
BIR TOUTA
بئر توتة
16566
16045
ALGER — الجزائر
BOLOGHINE IBNOU ZIRI
بولوغين بن زيري
16567
16030
ALGER — الجزائر
BORDJ EL BAHRI
برج البحري
16568
16046
ALGER — الجزائر
BORDJ EL KIFFAN
برج الكيفان
16569
16031
ALGER — الجزائر
BOUROUBA
بوروبة
16570
16054
ALGER — الجزائر
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'