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) |
|---|---|---|---|---|
| 13424 | 13062 | TLEMCEN تلمسان | MANSOURAH | منصورة |
| 13425 | 13017 | TLEMCEN تلمسان | MARSA BEN M'HIDI | مرسى بن مهيدي |
| 13426 | 13024 | TLEMCEN تلمسان | M'SIRDA FOUAGA | مسيردة الفواقة |
| 13427 | 13004 | TLEMCEN تلمسان | NEDROMA | ندرومة |
| 13428 | 13068 | TLEMCEN تلمسان | OUED LAKHDAR | وادي الخضر |
| 13429 | 13010 | TLEMCEN تلمسان | OULED MIMOUN | أولاد ميمون |
| 13430 | 13070 | TLEMCEN تلمسان | OULED RIYAH | أولاد رياح |
| 13431 | 13005 | TLEMCEN تلمسان | REMCHI | الرمشي |
| 13432 | 13011 | TLEMCEN تلمسان | SABRA | صبرة |
| 13433 | 13042 | TLEMCEN تلمسان | SEBBAA CHIOUKH | سبعة شيوخ |
| 13434 | 13006 | TLEMCEN تلمسان | SEBDOU | سبدو |
| 13435 | 13019 | TLEMCEN تلمسان | SIDI ABDELLI | سيدي العبدلي |
| 13437 | 13044 | TLEMCEN تلمسان | SIDI MEDJAHED | سيدي مجاهد |
| 13438 | 13020 | TLEMCEN تلمسان | SOUAHLIA | السواحلية |
| 13439 | 00000 | TLEMCEN تلمسان | SOUANI | السواني |
| 13440 | 13078 | TLEMCEN تلمسان | SOUK TLETA | سوق الثلاثاء |
| 13441 | 13079 | TLEMCEN تلمسان | TERNY BENI HEDIEL | تيرني بني هديل |
| 13442 | 13047 | TLEMCEN تلمسان | TIANET | تيانت |
| 13443 | 00000 | TLEMCEN تلمسان | TLEMCEN | تلمسان |
| 13444 | 13051 | TLEMCEN تلمسان | ZENATA | زناتة |
MANSOURAH
منصورة
13424
13062
TLEMCEN — تلمسان
MARSA BEN M'HIDI
مرسى بن مهيدي
13425
13017
TLEMCEN — تلمسان
M'SIRDA FOUAGA
مسيردة الفواقة
13426
13024
TLEMCEN — تلمسان
NEDROMA
ندرومة
13427
13004
TLEMCEN — تلمسان
OUED LAKHDAR
وادي الخضر
13428
13068
TLEMCEN — تلمسان
OULED MIMOUN
أولاد ميمون
13429
13010
TLEMCEN — تلمسان
OULED RIYAH
أولاد رياح
13430
13070
TLEMCEN — تلمسان
REMCHI
الرمشي
13431
13005
TLEMCEN — تلمسان
SABRA
صبرة
13432
13011
TLEMCEN — تلمسان
SEBBAA CHIOUKH
سبعة شيوخ
13433
13042
TLEMCEN — تلمسان
SEBDOU
سبدو
13434
13006
TLEMCEN — تلمسان
SIDI ABDELLI
سيدي العبدلي
13435
13019
TLEMCEN — تلمسان
SIDI MEDJAHED
سيدي مجاهد
13437
13044
TLEMCEN — تلمسان
SOUAHLIA
السواحلية
13438
13020
TLEMCEN — تلمسان
SOUANI
السواني
13439
00000
TLEMCEN — تلمسان
SOUK TLETA
سوق الثلاثاء
13440
13078
TLEMCEN — تلمسان
TERNY BENI HEDIEL
تيرني بني هديل
13441
13079
TLEMCEN — تلمسان
TIANET
تيانت
13442
13047
TLEMCEN — تلمسان
TLEMCEN
تلمسان
13443
00000
TLEMCEN — تلمسان
ZENATA
زناتة
13444
13051
TLEMCEN — تلمسان
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'