MoroccoAPIDocumentation
API reference

Choose a resource. Set the parameters. Try it.

No API keyJSON responsesOpen CORS

National multidimensional poverty

GET/api/v2/population/national/poverty

Good to know. RGPH 2024 and HCP historical series. See meta for each series’ source and date.

Understand the context

RGPH is the population census run by HCP, Morocco’s statistics office. A resident is not necessarily a Moroccan citizen. Reading example: 100 residents, including 95 Moroccan nationals and 5 foreign nationals, means a total of 100; do not add them again. These figures are illustrative.

Parameters

02
stringOptional · Query

Area of residence: all (combined), urban or rural.

integerOptional · Query

Four-digit year.

Read the response

data: The requested results, as an object or an array.

meta: Dataset sources, license and dates. null means unknown or unavailable.

API v2 is the canonical path. Older /api/v1 paths remain compatibility aliases for the currently published behavior, including pagination; no removal date is scheduled.

Response fields 31

[] means each item in a list. null means unknown or unavailable, never zero. The guide language does not translate source values.

dataobject

Requested result: a single object or a list.

data.territoryobject

Territory described by the indicators, with its codes and name.

data.territory.levelstring

Territorial level: national, regions, subdivisions (provinces and prefectures), prefectures-of-arrondissements, communes or arrondissements.

Accepted values: "national" "regions" "subdivisions" "prefectures-of-arrondissements" "communes" "arrondissements"

data.territory.codestring | null

MoroccoAPI resource identifier; use it in the corresponding resource URLs.

data.territory.hcp_codestring | null

Code from HCP, Morocco’s national statistics office. Keep it as text to preserve leading zeros.

data.territory.nameobject

Resource name, grouped by language where applicable.

data.territory.name.arstring

Arabic value; null when no translation is provided.

data.territory.name.frstring

French value; null when no translation is provided.

data.territory.name.enstring | null

English value; null when no translation is provided.

data.territory.region_codestring | null

Identifier of the parent region, Morocco’s first administrative level.

data.territory.province_codestring | null

Identifier of the parent province or prefecture, below the region.

data.observationsobject[]

Values by area and census year; an area without source values is absent.

data.observations[].areastring

Area of residence: all (urban and rural combined), urban or rural.

Accepted values: "all" "urban" "rural"

data.observations[].yearnumber

Year described by the observation, not the download year.

Accepted values: 2024 2014

data.observations[].mpinumber | null

Multidimensional poverty index (MPI = H × A), between 0 and 1; null when no one is poor.

data.observations[].poverty_ratenumber | null

Poverty rate (H): percentage of the population in multidimensional poverty.

data.observations[].poverty_intensitynumber | null

Intensity (A): average share of deprivations among poor people, in percent; null when no one is poor.

data.observations[].vulnerability_ratenumber | null

Percentage of the population vulnerable to multidimensional poverty.

data.observations[].deprivation_ratesobject

Percentage of the population deprived in each of the index’s ten indicators.

data.observations[].deprivation_rates.child_mortalitynumber | null

Percentage of the population deprived in child mortality (health).

data.observations[].deprivation_rates.disabilitynumber | null

Percentage of the population deprived in disability (health).

data.observations[].deprivation_rates.school_attendancenumber | null

Percentage of the population deprived in children’s school attendance (education).

data.observations[].deprivation_rates.years_of_schoolingnumber | null

Percentage of the population deprived in years of schooling (education).

data.observations[].deprivation_rates.electricitynumber | null

Percentage of the population deprived in electricity (living conditions).

data.observations[].deprivation_rates.waternumber | null

Percentage of the population deprived in water (living conditions).

data.observations[].deprivation_rates.sanitationnumber | null

Percentage of the population deprived in sanitation (living conditions).

data.observations[].deprivation_rates.housingnumber | null

Percentage of the population deprived in housing (living conditions).

data.observations[].deprivation_rates.cooking_fuelnumber | null

Percentage of the population deprived in cooking fuel (living conditions).

data.observations[].deprivation_rates.communication_assetsnumber | null

Percentage of the population deprived in communication assets.

data.observations[].mpi_trendstring | null

HCP’s reading of the MPI change between 2014 and 2024: decrease, increase, stagnation or new_urban_centre; null for 2014.

data.observations[].aligned_with_dakhlaboolean

true for the 2014 values of four communes that HCP aligned on the commune of Dakhla because of seasonal mobility during the census.

Data structure
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "territory",
        "observations"
      ],
      "properties": {
        "territory": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "level",
            "code",
            "hcp_code",
            "name",
            "region_code",
            "province_code"
          ],
          "properties": {
            "level": {
              "enum": [
                "national",
                "regions",
                "subdivisions",
                "prefectures-of-arrondissements",
                "communes",
                "arrondissements"
              ]
            },
            "code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ],
              "description": "MoroccoAPI geography code; null for the national total."
            },
            "hcp_code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ],
              "description": "HCP geographic code in the dotted form used by the geography endpoints; null for the national total."
            },
            "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
                      ]
                    }
                  ]
                }
              }
            },
            "region_code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ]
            },
            "province_code": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "nullable": true,
                  "enum": [
                    null
                  ]
                }
              ]
            }
          }
        },
        "observations": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "area",
              "year",
              "mpi",
              "poverty_rate",
              "poverty_intensity",
              "vulnerability_rate",
              "deprivation_rates",
              "mpi_trend",
              "aligned_with_dakhla"
            ],
            "properties": {
              "area": {
                "enum": [
                  "all",
                  "urban",
                  "rural"
                ],
                "description": "all (urban and rural together), urban or rural."
              },
              "year": {
                "enum": [
                  2024,
                  2014
                ],
                "description": "Census year: 2024, or 2014 as revised by HCP for comparison."
              },
              "mpi": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ],
                "description": "Multidimensional poverty index (MPI = H × A), between 0 and 1. HCP leaves it empty (null) when no one is poor."
              },
              "poverty_rate": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ],
                "description": "H: percentage of the population in multidimensional poverty."
              },
              "poverty_intensity": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ],
                "description": "A: average share of deprivations among poor people, in percent. Null when no one is poor."
              },
              "vulnerability_rate": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ],
                "description": "Percentage of the population vulnerable to multidimensional poverty."
              },
              "deprivation_rates": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "child_mortality",
                  "disability",
                  "school_attendance",
                  "years_of_schooling",
                  "electricity",
                  "water",
                  "sanitation",
                  "housing",
                  "cooking_fuel",
                  "communication_assets"
                ],
                "description": "Percentage of the population deprived in each of the ten indicators.",
                "properties": {
                  "child_mortality": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "disability": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "school_attendance": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "years_of_schooling": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "electricity": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "water": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "sanitation": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "housing": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "cooking_fuel": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  },
                  "communication_assets": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                          null
                        ]
                      }
                    ]
                  }
                }
              },
              "mpi_trend": {
                "anyOf": [
                  {
                    "enum": [
                      "decrease",
                      "increase",
                      "stagnation",
                      "new_urban_centre"
                    ]
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ],
                "description": "HCP's reading of the MPI change between 2014 and 2024, on 2024 observations only; null on 2014 observations."
              },
              "aligned_with_dakhla": {
                "type": "boolean",
                "description": "True for the 2014 values of four communes that HCP aligned on the commune of Dakhla because of seasonal mobility during the 2014 census."
              }
            }
          },
          "description": "One entry per area and year with source values, all areas first and 2024 before 2014."
        }
      }
    },
    "meta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "dataset",
        "total",
        "license",
        "retrieved_at",
        "transformation_version",
        "sources"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "population-poverty"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "license": {
          "enum": [
            "CC-BY-4.0"
          ]
        },
        "retrieved_at": {
          "enum": [
            "2026-10-26"
          ]
        },
        "transformation_version": {
          "enum": [
            "1.0.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": {
                "type": "string"
              },
              "source_url": {
                "type": "string",
                "format": "uri"
              },
              "resource_url": {
                "type": "string",
                "format": "uri"
              },
              "license": {
                "enum": [
                  "CC-BY-4.0"
                ]
              },
              "source_updated_at": {
                "type": "string",
                "format": "date"
              }
            }
          }
        }
      }
    }
  }
}
Sources and pagination 13
metaobject

Result context: sources, dates, license and pagination where applicable.

meta.datasetstring

Name of the dataset for this result or source.

Accepted values: "population-poverty"

meta.totalinteger

Number of matching records before pagination; not the size of this page.

meta.licensestring

Reuse license. mixed means licenses differ: inspect each source.

Accepted values: "CC-BY-4.0"

meta.retrieved_atstring

Date the project retrieved the source file; not the observation date.

Accepted values: "2026-10-26"

meta.transformation_versionstring

Version of the dataset conversion rules; separate from the API version.

Accepted values: "1.0.0"

meta.sourcesobject[]

Sources used for this result, with their publishers and licenses.

meta.sources[].datasetstring

Name of the dataset for this result or source.

meta.sources[].producerstring

Organization publishing the original data.

meta.sources[].source_urlstring

Source publication or dataset landing page.

meta.sources[].resource_urlstring

Link to the actual file or resource used.

meta.sources[].licensestring

Reuse license. mixed means licenses differ: inspect each source.

Accepted values: "CC-BY-4.0"

meta.sources[].source_updated_atstring

Last update reported by the source; not the retrieval date.

Errors
  • 400: Invalid or missing parameter.

Errors return error.code, error.message and error.request_id.

errorobject

Details of a failed request; replaces data and meta.

error.codestring

Stable error code, such as RESOURCE_NOT_FOUND; use it in application logic.

error.messagestring

Human-readable error explanation; use code for application logic.

error.request_idstring

Identifier for this request, useful when reporting a problem.

Your request

GET · JSON

Base URL

Response

The live response will appear here.

Language changes the guide, not JSON keys or source values.