Data.dz

Wilayas & Communes d'Algérie

Code Géographique National - Juin 2021 — 58 wilayas, 1 541 communes — Voir la carte interactive

1541 communes
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
NomTypeDescription
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
NomTypeDescription
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
NomTypeDescription
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'