Une préfecture d’arrondissements
À savoir. Référentiel HCP : régions, provinces et communes. Les codes sont des identifiants MoroccoAPI.
Comprendre le contexte
Une région regroupe des provinces et préfectures, qui contiennent des communes urbaines ou rurales. Certaines communes sont divisées en arrondissements. Exemple : Casablanca est une commune de la région Casablanca-Settat ; un arrondissement n’est pas une région. Le HCP est l’office statistique national ; RGPH désigne son recensement de la population.
Comprendre la réponse
data: Les résultats demandés, sous forme d’objet ou de liste.
meta: Sources, licence et dates du jeu de données. null signifie une valeur inconnue ou indisponible.
API v2 est le chemin de référence. Les anciens chemins /api/v1 restent des alias de compatibilité du comportement actuellement publié, pagination comprise ; aucune date de suppression n’est fixée.
Champs renvoyés 10
[] désigne chaque élément d’une liste. null signifie inconnu ou indisponible, jamais zéro. La langue du guide ne traduit pas les valeurs des sources.
dataobjectRésultat demandé : objet unique ou liste.
data.codestringIdentifiant MoroccoAPI de la ressource ; réutilisez-le dans les URL correspondantes.
data.hcp_codestringCode du Haut-Commissariat au Plan (office statistique marocain). Conservez-le comme texte pour garder les zéros initiaux.
data.typestringNature de la ressource. Les valeurs possibles figurent ci-dessous.
Valeurs acceptées:
"prefecture_of_arrondissements"data.nameobjectNom de la ressource, éventuellement réparti par langue.
data.name.arstringValeur en arabe ; null si aucune traduction n’est fournie.
data.name.frstringValeur en français ; null si aucune traduction n’est fournie.
data.name.enstring | nullValeur en anglais ; null si aucune traduction n’est fournie.
data.province_codestringIdentifiant de la province ou préfecture parente, sous la région.
data.region_codestringIdentifiant de la région parente, premier niveau administratif du Maroc.
Structure des données
{
"type": "object",
"additionalProperties": false,
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"required": [
"code",
"hcp_code",
"type",
"name",
"province_code",
"region_code"
],
"properties": {
"code": {
"type": "string"
},
"hcp_code": {
"type": "string",
"pattern": "^[0-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$"
},
"type": {
"enum": [
"prefecture_of_arrondissements"
]
},
"name": {
"type": "object",
"additionalProperties": false,
"required": [
"ar",
"fr",
"en"
],
"properties": {
"ar": {
"type": "string"
},
"fr": {
"type": "string"
},
"en": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"nullable": true,
"enum": [
null
]
}
]
}
}
},
"province_code": {
"type": "string"
},
"region_code": {
"type": "string"
}
}
},
"meta": {
"type": "object",
"additionalProperties": false,
"required": [
"dataset",
"total",
"license",
"retrieved_at",
"transformation_version",
"sources"
],
"properties": {
"dataset": {
"enum": [
"administrative-prefectures-of-arrondissements"
]
},
"total": {
"type": "integer",
"minimum": 0
},
"license": {
"enum": [
"CC-BY-4.0"
]
},
"retrieved_at": {
"enum": [
"2026-09-26"
]
},
"transformation_version": {
"enum": [
"3.1.0"
]
},
"sources": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"dataset",
"producer",
"source_url",
"resource_url",
"license",
"source_updated_at"
],
"properties": {
"dataset": {
"type": "string"
},
"producer": {
"enum": [
"Haut-Commissariat au Plan (HCP)"
]
},
"source_url": {
"type": "string",
"format": "uri"
},
"resource_url": {
"type": "string",
"format": "uri"
},
"license": {
"enum": [
"CC-BY-4.0"
]
},
"source_updated_at": {
"enum": [
"2024-11-22"
]
}
}
}
}
}
}
}
}Sources et pagination 13
metaobjectContexte du résultat : sources, dates, licence et pagination si applicable.
meta.datasetstringNom du jeu de données auquel appartient le résultat ou la source.
Valeurs acceptées:
"administrative-prefectures-of-arrondissements"meta.totalintegerNombre de résultats correspondant aux filtres, avant pagination ; pas la taille de cette page.
meta.licensestringLicence de réutilisation. mixed signifie des licences différentes : consultez chaque source.
Valeurs acceptées:
"CC-BY-4.0"meta.retrieved_atstringDate de récupération du fichier source par le projet ; pas la date des observations.
Valeurs acceptées:
"2026-09-26"meta.transformation_versionstringVersion des règles de conversion du jeu de données ; distincte de l’API.
Valeurs acceptées:
"3.1.0"meta.sourcesobject[]Sources utilisées pour ce résultat, avec leurs producteurs et licences.
meta.sources[].datasetstringNom du jeu de données auquel appartient le résultat ou la source.
meta.sources[].producerstringOrganisme qui publie la donnée originale.
Valeurs acceptées:
"Haut-Commissariat au Plan (HCP)"meta.sources[].source_urlstringPage de présentation ou de publication de la source.
meta.sources[].resource_urlstringLien vers le fichier ou la ressource utilisée.
meta.sources[].licensestringLicence de réutilisation. mixed signifie des licences différentes : consultez chaque source.
Valeurs acceptées:
"CC-BY-4.0"meta.sources[].source_updated_atstringDernière mise à jour annoncée par la source ; pas la date de récupération.
Valeurs acceptées:
"2024-11-22"
Erreurs
400: Paramètre invalide ou manquant.404: Ressource introuvable.
Les erreurs renvoient error.code, error.message et error.request_id.
errorobjectDétails d’une requête échouée ; remplace data et meta.
error.codestringCode stable de l’erreur, par exemple RESOURCE_NOT_FOUND ; à utiliser dans votre logique.
error.messagestringExplication lisible de l’erreur ; utilisez code pour la logique de votre application.
error.request_idstringIdentifiant du traitement de cette requête, utile pour retrouver un problème.