MoroccoAPIDocumentation
API reference

Choose a resource. Set the parameters. Try it.

No API keyJSON responsesOpen CORS

National population

GET/api/v2/population/national

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

00

No parameters needed.

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 12

[] 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.totalinteger

Total census residents for the stated area and year.

data.moroccansinteger

Number of residents with Moroccan nationality in the stated area.

data.foreignersinteger

Number of foreign-national residents in the stated area.

data.urbanobject

Population in census-classified urban areas; a breakdown object where provided.

data.urban.totalinteger

Total census residents for the stated area and year.

data.urban.moroccansinteger

Number of residents with Moroccan nationality in the stated area.

data.urban.foreignersinteger

Number of foreign-national residents in the stated area.

data.ruralobject

Population in census-classified rural areas; a breakdown object where provided.

data.rural.totalinteger

Total census residents for the stated area and year.

data.rural.moroccansinteger

Number of residents with Moroccan nationality in the stated area.

data.rural.foreignersinteger

Number of foreign-national residents in the stated area.

Data structure
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "total",
        "moroccans",
        "foreigners",
        "urban",
        "rural"
      ],
      "properties": {
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "moroccans": {
          "type": "integer",
          "minimum": 0
        },
        "foreigners": {
          "type": "integer",
          "minimum": 0
        },
        "urban": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "total",
            "moroccans",
            "foreigners"
          ],
          "properties": {
            "total": {
              "type": "integer",
              "minimum": 0
            },
            "moroccans": {
              "type": "integer",
              "minimum": 0
            },
            "foreigners": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "rural": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "total",
            "moroccans",
            "foreigners"
          ],
          "properties": {
            "total": {
              "type": "integer",
              "minimum": 0
            },
            "moroccans": {
              "type": "integer",
              "minimum": 0
            },
            "foreigners": {
              "type": "integer",
              "minimum": 0
            }
          }
        }
      }
    },
    "meta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "dataset",
        "total",
        "license",
        "retrieved_at",
        "transformation_version",
        "sources"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "national-population"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "license": {
          "enum": [
            "CC-BY-4.0"
          ]
        },
        "retrieved_at": {
          "enum": [
            "2026-10-05"
          ]
        },
        "transformation_version": {
          "enum": [
            "2.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: "national-population"

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-05"

meta.transformation_versionstring

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

Accepted values: "2.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

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

    Your request

    GET · JSON

    Base URL

    Response

    The live response will appear here.

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