Macroeconomic Layer API

v1.1 CurrentOAS 3.0Production

Macroeconomic and commodity data: energy and commodity quotes, consumer-goods prices, petrochemical indices and products, shipping and refining margins, and national economic indicators.

API base URL

https://api.argaam.com

Argaam API Gateway (Production)

Security

ApiKeyAuth — apikey header

ApiKeyAuthQuery — apikey query parameter

Additional information. Contact Argaam IT — developer@argaam.com

Get the list of tracked commodities

Returns the catalogue of energy and commodity instruments Argaam quotes, covering crude grades, refined products, natural gas, metals and agricultural benchmarks, each with the commodityId, quote unit and currency needed by the quote and history operations.

GEThttps://api.argaam.com/api/v1.1/commodities
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/commodities?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the latest quotes for tracked commodities

Returns the latest assessed quote for each tracked commodity. Use category to scope the list, for example energy, and page it with page and pageSize.

GEThttps://api.argaam.com/api/v1.1/commodities/quotes
Query parameters
categorystring
Category used to scope the collection.
Example: energy
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/commodities/quotes?category=energy&page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the latest quote for a commodity

Returns the most recent price for a single commodity together with the daily change, change percentage, quote unit, currency and the timestamp the price was captured.

GEThttps://api.argaam.com/api/v1.1/commodities/{commodityId}/quote
Path parameters
commodityIdstringrequired
Query parameters
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/commodities/7/quote?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the historical price series for a commodity

Returns the stored price series for a commodity, backed by up to 30 years of history. Use period to size the window, or year to pin a single calendar year.

GEThttps://api.argaam.com/api/v1.1/commodities/{commodityId}/history
Path parameters
commodityIdstringrequired
Query parameters
periodstring
Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.
Default: year · Example: year
yearinteger (int32)
Reporting or calendar year used to filter time-based data.
Example: 2023
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/commodities/7/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the list of tracked consumer goods

Returns the basket of consumer goods Argaam prices, such as foodstuffs, building materials and fuels, each with the itemId, measurement unit and the market the item is surveyed in.

GEThttps://api.argaam.com/api/v1.1/commodities/consumer-goods
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/commodities/consumer-goods?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get current consumer-goods prices

Returns the latest surveyed retail and wholesale price for every tracked consumer good, quoted in SAR per its measurement unit, with the survey date attached to each row.

GEThttps://api.argaam.com/api/v1.1/commodities/consumer-goods/prices
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/commodities/consumer-goods/prices?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the price history for a consumer good

Returns the surveyed price series for a single consumer good so month-on-month and year-on-year moves can be read alongside the published inflation indicators.

GEThttps://api.argaam.com/api/v1.1/commodities/consumer-goods/{itemId}/history
Path parameters
itemIdstringrequired
Query parameters
periodstring
Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.
Default: year · Example: year
yearinteger (int32)
Reporting or calendar year used to filter time-based data.
Example: 2023
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/commodities/consumer-goods/{itemId}/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the list of tracked petrochemical products

Returns the petrochemical products Argaam prices, from ethylene and propylene through polyethylene, polypropylene, methanol and urea, each with the productId, feedstock family and quote unit.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/products
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/products?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the latest price for a petrochemical product

Returns the most recent assessed price for a petrochemical product, with the weekly and year-to-date change, the assessment region and the date the assessment was published.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/products/{productId}/price
Path parameters
productIdstringrequired
Query parameters
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/products/112/price?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the price history for a petrochemical product

Returns the historical assessed price series for a petrochemical product. Use period to size the window, or year to pin a single calendar year.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/products/{productId}/price/history
Path parameters
productIdstringrequired
Query parameters
periodstring
Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.
Default: year · Example: year
yearinteger (int32)
Reporting or calendar year used to filter time-based data.
Example: 2023
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/products/112/price/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the latest petrochemical index levels

Returns the current level, change and change percentage for each Argaam petrochemical index, so the sector can be tracked as a whole rather than product by product.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/indices
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/indices?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the historical series for a petrochemical index

Returns the level series for a petrochemical index over the requested window, for charting the sector against TASI and the petrochemical producers listed on it.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/indices/{indexCode}/history
Path parameters
indexCodestringrequired
Query parameters
periodstring
Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.
Default: year · Example: year
yearinteger (int32)
Reporting or calendar year used to filter time-based data.
Example: 2023
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/indices/SLI/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the latest refining margins

Returns the current refining and cracking margins by product and region, expressed per barrel against the reference crude grade, with the date of each assessment.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/margins/refining
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/margins/refining?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the refining margin history

Returns the historical refining margin series so margin cycles can be compared with the reported earnings of the listed refiners and petrochemical producers.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/margins/refining/history
Query parameters
periodstring
Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.
Default: year · Example: year
yearinteger (int32)
Reporting or calendar year used to filter time-based data.
Example: 2023
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/margins/refining/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the latest shipping freight rates

Returns the current freight rates on the tanker, gas carrier and container routes that move Saudi crude, refined products and petrochemical exports, with the route, vessel class and rate unit.

GEThttps://api.argaam.com/api/v1.1/petrochemicals/freight/rates
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/petrochemicals/freight/rates?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the list of published economic indicators

Returns the catalogue of national economic indicators Argaam publishes, drawn from GASTAT, SAMA and the Ministry of Finance, each with the indicatorId, unit, reporting frequency and the country it covers.

GEThttps://api.argaam.com/api/v1.1/indicators
Query parameters
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/indicators?page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the economic indicator categories

Returns the categories indicators are filed under, such as national accounts, prices and inflation, trade, monetary and banking, and public finance, for building a navigable macro tree.

GEThttps://api.argaam.com/api/v1.1/indicators/categories
Query parameters
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/indicators/categories?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the latest reading for an economic indicator

Returns the most recently published value for a single indicator with its reference period, unit, period-on-period and year-on-year change, and the publishing source.

GEThttps://api.argaam.com/api/v1.1/indicators/{indicatorId}
Path parameters
indicatorIdstringrequired
Query parameters
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/indicators/{indicatorId}?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the historical series for an economic indicator

Returns the full reported series for an indicator at its native frequency. Use period to size the window, or year to pin a single calendar year.

GEThttps://api.argaam.com/api/v1.1/indicators/{indicatorId}/history
Path parameters
indicatorIdstringrequired
Query parameters
periodstring
Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.
Default: year · Example: year
yearinteger (int32)
Reporting or calendar year used to filter time-based data.
Example: 2023
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/indicators/{indicatorId}/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the headline economic indicators for a country

Returns a single-call snapshot of the headline indicators for one of the Saudi and MENA economies covered, including GDP growth, inflation, the trade balance, the policy rate and oil production.

GEThttps://api.argaam.com/api/v1.1/indicators/countries/{countryId}/summary
Path parameters
countryIdstringrequired
Query parameters
yearinteger (int32)
Reporting or calendar year used to filter time-based data.
Example: 2023
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/indicators/countries/{countryId}/summary?year=2023&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}

Get the economic data release calendar

Returns recently published and upcoming indicator releases with their scheduled dates and publishing sources. Poll this collection to pick up new readings as they are released.

GEThttps://api.argaam.com/api/v1.1/indicators/releases
Query parameters
periodstring
Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.
Default: year · Example: year
pageinteger (int32)
Page of the result set to return.
Default: 1
pageSizeinteger (int32)
Number of records per page.
Default: 20
langstring
Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.
Default: en · Example: en
Response
200 · application/jsonApiV1Response. Every operation returns the same envelope: success, apiVersion, timestamp, requestId, data, meta and rateLimit. Additional properties are not allowed.
Shell
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/indicators/releases?period=year&page=1&pageSize=20&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
200 application/json
{
  "success": true,
  "apiVersion": "1.1",
  "timestamp": "2026-08-16T09:12:44Z",
  "requestId": "b3f1c8de-4a20-4f0e-9c1a-77d2e1f0aa31",
  "data": [
    {
      "stockSymbol": "2222",
      "nameAr": "أرامكو السعودية",
      "nameEn": "Saudi Aramco"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "totalRecords": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "rateLimit": {
    "limit": 600,
    "remaining": 597,
    "reset": "2026-08-16T09:13:00Z"
  }
}