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) |
|---|---|---|---|---|
| 06192 | 06018 | BÉJAÏA بجاية | BOUDJELLIL | بو جليل |
| 06193 | 06031 | BÉJAÏA بجاية | BOUHAMZA | بوحمزة |
| 06194 | 06059 | BÉJAÏA بجاية | BOUKHELIFA | بوخليفة |
| 06195 | 06052 | BÉJAÏA بجاية | CHELLATA | شلاطة |
| 06196 | 06022 | BÉJAÏA بجاية | CHEMINI | شميني |
| 06197 | 06016 | BÉJAÏA بجاية | DARGUINA | درقينة |
| 06198 | 06070 | BÉJAÏA بجاية | DRA EL CAID | ذراع القايد |
| 06199 | 06043 | BÉJAÏA بجاية | LEFLAYE | الفلاي |
| 06200 | 06003 | BÉJAÏA بجاية | EL KSEUR | القصر |
| 06201 | 06041 | BÉJAÏA بجاية | FENAIA IL MATEN | فناية الماثن |
| 06202 | 06033 | BÉJAÏA بجاية | FERAOUN | فرعون |
| 06203 | 06010 | BÉJAÏA بجاية | OUZELLAGUEN | أوزلاقن |
| 06204 | 06014 | BÉJAÏA بجاية | IGHIL-ALI | إغيل علي |
| 06205 | 06048 | BÉJAÏA بجاية | IGHRAM | اغرم |
| 06206 | 06032 | BÉJAÏA بجاية | KENDIRA | كنديرة |
| 06207 | 06004 | BÉJAÏA بجاية | KHERRATA | خراطة |
| 06208 | 06038 | BÉJAÏA بجاية | M'CISNA | مسيسنة |
| 06209 | 06076 | BÉJAÏA بجاية | MELBOU | مالبو |
| 06210 | 06017 | BÉJAÏA بجاية | OUED GHIR | وادي غير |
| 06211 | 06011 | BÉJAÏA بجاية | SEDDOUK | صدوق |
BOUDJELLIL
بو جليل
06192
06018
BÉJAÏA — بجاية
BOUHAMZA
بوحمزة
06193
06031
BÉJAÏA — بجاية
BOUKHELIFA
بوخليفة
06194
06059
BÉJAÏA — بجاية
CHELLATA
شلاطة
06195
06052
BÉJAÏA — بجاية
CHEMINI
شميني
06196
06022
BÉJAÏA — بجاية
DARGUINA
درقينة
06197
06016
BÉJAÏA — بجاية
DRA EL CAID
ذراع القايد
06198
06070
BÉJAÏA — بجاية
LEFLAYE
الفلاي
06199
06043
BÉJAÏA — بجاية
EL KSEUR
القصر
06200
06003
BÉJAÏA — بجاية
FENAIA IL MATEN
فناية الماثن
06201
06041
BÉJAÏA — بجاية
FERAOUN
فرعون
06202
06033
BÉJAÏA — بجاية
OUZELLAGUEN
أوزلاقن
06203
06010
BÉJAÏA — بجاية
IGHIL-ALI
إغيل علي
06204
06014
BÉJAÏA — بجاية
IGHRAM
اغرم
06205
06048
BÉJAÏA — بجاية
KENDIRA
كنديرة
06206
06032
BÉJAÏA — بجاية
KHERRATA
خراطة
06207
06004
BÉJAÏA — بجاية
M'CISNA
مسيسنة
06208
06038
BÉJAÏA — بجاية
MELBOU
مالبو
06209
06076
BÉJAÏA — بجاية
OUED GHIR
وادي غير
06210
06017
BÉJAÏA — بجاية
SEDDOUK
صدوق
06211
06011
BÉJAÏA — بجاية
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'