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)
18649 18023 JIJEL جيجل BOURAOUI BELHADEF بوراوي بلهادف
18650 18036 JIJEL جيجل BOUSSIF OULED ASKEUR بوسيف أولاد عسكر
18651 18027 JIJEL جيجل CHAHNA الشحنة
18652 18003 JIJEL جيجل CHEKFA الشقفة
18653 18029 JIJEL جيجل DJEMAA BENI HABIBI الجمعة بني حبيبي
18654 18031 JIJEL جيجل DJIMLA جيملة
18655 18004 JIJEL جيجل EL ANCER العنصر
18656 18005 JIJEL جيجل EL AOUANA العوانة
18657 18030 JIJEL جيجل EL KENNAR NOUCHFI القنار نشفي
18658 18001 JIJEL جيجل EL MILIA الميلية
18659 18010 JIJEL جيجل EMIR ABDELKADER الامير عبد القادر
18660 18032 JIJEL جيجل ERRAGUENE SOUISSI أراقن سويسي
18661 18026 JIJEL جيجل GHEBALA غبالة
18662 18000 JIJEL جيجل JIJEL جيجل
18663 18015 JIJEL جيجل KAOUS قاوس
18664 18024 JIJEL جيجل KHIRI OUED ADJOUL خيري واد عجول
18665 18047 JIJEL جيجل OUDJANA وجانة
18666 18046 JIJEL جيجل OULED RABAH أولاد رابح
18667 18021 JIJEL جيجل OULED YAHIA KHADROUCH أولاد يحيى خدروش
18668 18049 JIJEL جيجل SELMA BENZIADA سلمى بن زيادة
BOURAOUI BELHADEF بوراوي بلهادف
18649 18023
JIJEL — جيجل
BOUSSIF OULED ASKEUR بوسيف أولاد عسكر
18650 18036
JIJEL — جيجل
CHAHNA الشحنة
18651 18027
JIJEL — جيجل
CHEKFA الشقفة
18652 18003
JIJEL — جيجل
DJEMAA BENI HABIBI الجمعة بني حبيبي
18653 18029
JIJEL — جيجل
DJIMLA جيملة
18654 18031
JIJEL — جيجل
EL ANCER العنصر
18655 18004
JIJEL — جيجل
EL AOUANA العوانة
18656 18005
JIJEL — جيجل
EL KENNAR NOUCHFI القنار نشفي
18657 18030
JIJEL — جيجل
EL MILIA الميلية
18658 18001
JIJEL — جيجل
EMIR ABDELKADER الامير عبد القادر
18659 18010
JIJEL — جيجل
ERRAGUENE SOUISSI أراقن سويسي
18660 18032
JIJEL — جيجل
GHEBALA غبالة
18661 18026
JIJEL — جيجل
JIJEL جيجل
18662 18000
JIJEL — جيجل
KAOUS قاوس
18663 18015
JIJEL — جيجل
KHIRI OUED ADJOUL خيري واد عجول
18664 18024
JIJEL — جيجل
OUDJANA وجانة
18665 18047
JIJEL — جيجل
OULED RABAH أولاد رابح
18666 18046
JIJEL — جيجل
OULED YAHIA KHADROUCH أولاد يحيى خدروش
18667 18021
JIJEL — جيجل
SELMA BENZIADA سلمى بن زيادة
18668 18049
JIJEL — جيجل
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'