# MENA Economy Indicators: GDP, Inflation by Country (`alfhar/mena-economy-indicators`) Actor

Get GDP, inflation, unemployment, population, FDI and 15 more indicators for Egypt, Saudi Arabia, UAE and 16 more MENA countries as time series. Input: countries, indicators, years. Output: one row per country and indicator. World Bank WDI data (CC BY 4.0).

- **URL**: https://apify.com/alfhar/mena-economy-indicators.md
- **Developed by:** [Alfhar Development](https://apify.com/alfhar) (community)
- **Categories:** Business, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## MENA Economy Indicators: GDP, inflation, unemployment and 17 more indicators for 19 Middle East countries

Get **economic and social indicators for Egypt, Saudi Arabia, the UAE, Jordan, Morocco, Iraq and 13 more MENA countries** as ready-made time series. You pick **countries, indicators and a year range**; you get **one row per country and indicator** with a `series` array of year and value, the latest value and the change versus the previous year.

Use it for market-entry research, country risk reports, investor decks, dashboards and any model that needs GDP, inflation, unemployment, population, FDI, exchange rate, debt or internet penetration for the region.

### What you get

- **19 MENA countries:** Algeria, Bahrain, Djibouti, Egypt, Iran, Iraq, Jordan, Kuwait, Lebanon, Libya, Morocco, Oman, Qatar, Saudi Arabia, Syria, Tunisia, UAE, West Bank and Gaza, Yemen.
- **20 curated indicators:** GDP, GDP per capita, GDP growth, inflation, unemployment, population, population growth, urban population, FDI inflows, exports and imports (% of GDP), official exchange rate, real interest rate, government debt, internet users, mobile subscriptions, labor force participation, life expectancy, industry share of GDP, current account balance.
- **Any other World Development Indicators code** through `customIndicators` (more than 1,400 series).
- **Latest-only mode** for a one-row-per-country snapshot.
- **Clean data:** years without a value are dropped, so every row has real numbers. Rows with no data at all are not returned and not charged.
- No key, no login, no personal data.

### Input

| Field | Meaning | Example |
|---|---|---|
| `countries` | MENA countries (empty = all 19) | `["Egypt", "Saudi Arabia"]` |
| `indicators` | Curated indicator codes | `["NY.GDP.MKTP.CD", "FP.CPI.TOTL.ZG"]` |
| `customIndicators` | Extra WDI codes | `["SH.XPD.CHEX.GD.ZS"]` |
| `startYear`, `endYear` | Year range | `2015`, `2025` |
| `latestOnly` | Only the most recent year per series | `false` |
| `maxSeries` | Stop after this many rows | `100` |

Example input:

```json
{
  "countries": ["Egypt", "Saudi Arabia", "United Arab Emirates", "Jordan"],
  "indicators": ["NY.GDP.MKTP.CD", "FP.CPI.TOTL.ZG", "SL.UEM.TOTL.ZS"],
  "startYear": 2015
}
```

### Output

Example rows (real output, trimmed):

| Country | Indicator | Latest year | Latest value | Change vs previous year |
|---|---|---|---|---|
| Egypt, Arab Rep. | GDP (current US$) | 2025 | 365,254,630,180 | -6.12% |
| Saudi Arabia | GDP (current US$) | 2025 | 1,276,942,933,333 | 1.82% |
| Egypt, Arab Rep. | Inflation, consumer prices (annual %) | 2025 | 14.07 | |
| Jordan | Inflation, consumer prices (annual %) | 2025 | 1.77 | |

Full JSON item:

```json
{
  "countryName": "Egypt, Arab Rep.",
  "countryIso3": "EGY",
  "indicatorCode": "NY.GDP.MKTP.CD",
  "indicator": "GDP (current US$)",
  "series": [{"year": 2021, "value": 424671765455.704}, {"year": 2022, "value": 476747720364.742}, {"year": 2023, "value": 395926071447.591}, {"year": 2024, "value": 389059910593.1}, {"year": 2025, "value": 365254630179.737}],
  "yearsWithData": 5,
  "firstYear": 2021,
  "lastYear": 2025,
  "latestValue": 365254630179.737,
  "changeVsPreviousPointPct": -6.12,
  "sourceLastUpdated": "2026-07-13",
  "source": "World Development Indicators, The World Bank (CC BY 4.0)",
  "sourceUrl": "https://data.worldbank.org/indicator/NY.GDP.MKTP.CD",
  "scrapedAt": "2026-10-07T17:29:25Z"
}
```

### Python example

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("alfhar/mena-economy-indicators").call(run_input={
    "countries": ["Egypt", "Saudi Arabia", "Jordan"],
    "indicators": ["NY.GDP.MKTP.CD", "FP.CPI.TOTL.ZG"],
    "startYear": 2018,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row["countryName"], row["indicator"], row["lastYear"], row["latestValue"])
```

### Use cases

- Country comparison tables for market-entry and expansion plans.
- Macro inputs (inflation, interest rate, exchange rate, debt) for financial models.
- Investor and bank reports on Egypt, the Gulf and North Africa.
- Dashboards that refresh each time the World Bank updates the data (a few times a year).

### Limitations

- Annual data only. The most recent year is often one year behind, and some countries (Syria, Yemen, Libya, Lebanon) have gaps because of conflict or missing reporting. Missing years are simply absent.
- Values are as published by the World Bank, in the unit named in the indicator title (for example current US$, annual %, per 100 people). They are not revised or forecast by this Actor.
- Only the World Development Indicators database is queried, not other World Bank databases.

### Data source and licence

Data: **The World Bank, World Development Indicators**, retrieved through the World Bank Indicators API. The dataset is licensed under [Creative Commons Attribution 4.0 (CC BY 4.0)](https://datacatalog.worldbank.org/public-licenses#cc-by), which allows commercial use and redistribution with attribution. If you republish results, credit: *"The World Bank: World Development Indicators (CC BY 4.0)"* and indicate any changes (this Actor drops empty years and adds the change percentage). This Actor is not affiliated with or endorsed by the World Bank.

### Pricing

Pay per result, no API key needed. Billing is pay per event: a small fee when a run starts plus a fee for every series row returned. Set a maximum cost per run and the Actor stops at your limit (the minimum allowed is $0.10). See the pricing panel on this page for the current rates.

### Support

Need another country, indicator or field? Use the **Issues** tab of this Actor.

# Actor input Schema

## `countries` (type: `array`):

Middle East and North Africa countries. Leave empty for all 19.

## `indicators` (type: `array`):

Curated World Development Indicators. One result row per country and indicator.

## `customIndicators` (type: `array`):

Any other World Development Indicators code, for example SH.XPD.CHEX.GD.ZS. Find codes at data.worldbank.org/indicator. Only the WDI database is queried.

## `startYear` (type: `integer`):

First year of the series.

## `endYear` (type: `integer`):

Last year of the series. Default is the current year.

## `latestOnly` (type: `boolean`):

Return only the most recent available year per series (the series array has one point).

## `maxSeries` (type: `integer`):

Stop after this many rows (one row per country and indicator).

## Actor input object example

```json
{
  "countries": [
    "Egypt",
    "Saudi Arabia",
    "United Arab Emirates",
    "Jordan"
  ],
  "indicators": [
    "NY.GDP.MKTP.CD",
    "FP.CPI.TOTL.ZG",
    "SL.UEM.TOTL.ZS"
  ],
  "startYear": 2015,
  "latestOnly": false,
  "maxSeries": 100
}
```

# Actor output Schema

## `results` (type: `string`):

All series in the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "countries": [
        "Egypt",
        "Saudi Arabia",
        "United Arab Emirates",
        "Jordan"
    ],
    "indicators": [
        "NY.GDP.MKTP.CD",
        "FP.CPI.TOTL.ZG",
        "SL.UEM.TOTL.ZS"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("alfhar/mena-economy-indicators").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "countries": [
        "Egypt",
        "Saudi Arabia",
        "United Arab Emirates",
        "Jordan",
    ],
    "indicators": [
        "NY.GDP.MKTP.CD",
        "FP.CPI.TOTL.ZG",
        "SL.UEM.TOTL.ZS",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("alfhar/mena-economy-indicators").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "countries": [
    "Egypt",
    "Saudi Arabia",
    "United Arab Emirates",
    "Jordan"
  ],
  "indicators": [
    "NY.GDP.MKTP.CD",
    "FP.CPI.TOTL.ZG",
    "SL.UEM.TOTL.ZS"
  ]
}' |
apify call alfhar/mena-economy-indicators --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alfhar/mena-economy-indicators"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/55T9peSmyN4fM6L56/builds/hlDFLAb7rhfErztI0/openapi.json
