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)
291051 29039 MASCARA معسكر CHORFA الشرفاء
291052 29012 MASCARA معسكر EL BORDJ البرج
291053 29041 MASCARA معسكر EL GAADA القعدة
291054 29023 MASCARA معسكر EL GHOMRI الغمري
291055 29042 MASCARA معسكر EL GUEITENA القطنة
291056 29013 MASCARA معسكر EL HACHEM الحشم
291057 29043 MASCARA معسكر EL KEURT القرط
291058 29056 MASCARA معسكر EL MAMOUNIA المأمونية
291059 29044 MASCARA معسكر EL MENAOUER المنور
291060 29046 MASCARA معسكر FERRAGUIG فراقيق
291061 29024 MASCARA معسكر FROHA فروحة
291062 29047 MASCARA معسكر GHARROUS غروس
291063 29006 MASCARA معسكر GHRISS غريس
291064 29050 MASCARA معسكر GUERDJOUM قرجوم
291065 29014 MASCARA معسكر HACINE حسين
291066 29025 MASCARA معسكر KHALOUIA خلوية
291067 29055 MASCARA معسكر MAKHDA ماقضة
291068 29015 MASCARA معسكر MAOUSSA ماوسة
291069 29000 MASCARA معسكر MASCARA معسكر
291070 29026 MASCARA معسكر MATEMORE المطمور
CHORFA الشرفاء
291051 29039
MASCARA — معسكر
EL BORDJ البرج
291052 29012
MASCARA — معسكر
EL GAADA القعدة
291053 29041
MASCARA — معسكر
EL GHOMRI الغمري
291054 29023
MASCARA — معسكر
EL GUEITENA القطنة
291055 29042
MASCARA — معسكر
EL HACHEM الحشم
291056 29013
MASCARA — معسكر
EL KEURT القرط
291057 29043
MASCARA — معسكر
EL MAMOUNIA المأمونية
291058 29056
MASCARA — معسكر
EL MENAOUER المنور
291059 29044
MASCARA — معسكر
FERRAGUIG فراقيق
291060 29046
MASCARA — معسكر
FROHA فروحة
291061 29024
MASCARA — معسكر
GHARROUS غروس
291062 29047
MASCARA — معسكر
GHRISS غريس
291063 29006
MASCARA — معسكر
GUERDJOUM قرجوم
291064 29050
MASCARA — معسكر
HACINE حسين
291065 29014
MASCARA — معسكر
KHALOUIA خلوية
291066 29025
MASCARA — معسكر
MAKHDA ماقضة
291067 29055
MASCARA — معسكر
MAOUSSA ماوسة
291068 29015
MASCARA — معسكر
MASCARA معسكر
291069 29000
MASCARA — معسكر
MATEMORE المطمور
291070 29026
MASCARA — معسكر
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'