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)
341193 34061 BORDJ BOU ARRERIDJ برج بوعريريج TEFREG تفرق
341194 34059 BORDJ BOU ARRERIDJ برج بوعريريج TAGLAIT تقلعيت
341195 34026 BORDJ BOU ARRERIDJ برج بوعريريج TASSAMERT تسامرت
341196 34021 BORDJ BOU ARRERIDJ برج بوعريريج TENIET EN NASR ثنية النصر
341197 34022 BORDJ BOU ARRERIDJ برج بوعريريج TIXTER تيكستار
351198 35022 BOUMERDÈS بومرداس AFIR أعفير
351199 35031 BOUMERDÈS بومرداس AMMAL عمال
351200 35013 BOUMERDÈS بومرداس BAGHLIA بغلية
351201 35033 BOUMERDÈS بومرداس BEN CHOUD بن شود
351202 35006 BOUMERDÈS بومرداس BENI AMRANE بني عمران
351203 35001 BOUMERDÈS بومرداس BORDJ MENAIEL برج منايل
351204 35003 BOUMERDÈS بومرداس BOUDOUAOU بودواو
351205 35023 BOUMERDÈS بومرداس BOUDOUAOU EL BAHRI بودواو البحري
351206 35000 BOUMERDÈS بومرداس BOUMERDES بومرداس
351207 35038 BOUMERDÈS بومرداس BOUZEGZA KEDDARA بوزقزة قدارة
351208 35008 BOUMERDÈS بومرداس CHABET EL AMEUR شعبة العامر
351209 35014 BOUMERDÈS بومرداس CORSO قورصو
351210 35004 BOUMERDÈS بومرداس DELLYS دلس
351211 35024 BOUMERDÈS بومرداس DJINET جنات
351212 BOUMERDÈS بومرداس EL KHARROUBA الخروبة
TEFREG تفرق
341193 34061
BORDJ BOU ARRERIDJ — برج بوعريريج
TAGLAIT تقلعيت
341194 34059
BORDJ BOU ARRERIDJ — برج بوعريريج
TASSAMERT تسامرت
341195 34026
BORDJ BOU ARRERIDJ — برج بوعريريج
TENIET EN NASR ثنية النصر
341196 34021
BORDJ BOU ARRERIDJ — برج بوعريريج
TIXTER تيكستار
341197 34022
BORDJ BOU ARRERIDJ — برج بوعريريج
AFIR أعفير
351198 35022
BOUMERDÈS — بومرداس
AMMAL عمال
351199 35031
BOUMERDÈS — بومرداس
BAGHLIA بغلية
351200 35013
BOUMERDÈS — بومرداس
BEN CHOUD بن شود
351201 35033
BOUMERDÈS — بومرداس
BENI AMRANE بني عمران
351202 35006
BOUMERDÈS — بومرداس
BORDJ MENAIEL برج منايل
351203 35001
BOUMERDÈS — بومرداس
BOUDOUAOU بودواو
351204 35003
BOUMERDÈS — بومرداس
BOUDOUAOU EL BAHRI بودواو البحري
351205 35023
BOUMERDÈS — بومرداس
BOUMERDES بومرداس
351206 35000
BOUMERDÈS — بومرداس
BOUZEGZA KEDDARA بوزقزة قدارة
351207 35038
BOUMERDÈS — بومرداس
CHABET EL AMEUR شعبة العامر
351208 35008
BOUMERDÈS — بومرداس
CORSO قورصو
351209 35014
BOUMERDÈS — بومرداس
DELLYS دلس
351210 35004
BOUMERDÈS — بومرداس
DJINET جنات
351211 35024
BOUMERDÈS — بومرداس
EL KHARROUBA الخروبة
351212
BOUMERDÈS — بومرداس
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'