---
title: "Market Data Layer API"
description: "Near real-time and historical market data for Tadawul and international equities and indices. Company quotes, intraday and end-of-day price history,..."
url: "https://developer.argaam.com/market-data-overview"
image: "https://developer.argaam.com/_og/d/c_Ocean.takumi,title_Market+Data+Layer+API,description_~TmVhciByZWFsLXRpbWUgYW5kIGhpc3RvcmljYWwgbWFya2V0IGRhdGEgZm9yIFRhZGF3dWwgYW5kIGludGVybmF0aW9uYWwgZXF1aXRpZXMgYW5kIGluZGljZXMuIENvbXBhbnkgcXVvdGVzLCBpbnRyYWRheSBhbmQgZW5kLW9mLWRheSBwcmljZSBoaXN0b3J5LC4uLg,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiNGNTgwMjYifX19,p_Ii9tYXJrZXQtZGF0YS1vdmVydmlldyI,s_ctQPryb_B6ADAv8u.png"
---

Overview

[Introduction](#overview)

Companies

[Get the latest quote for a stockGET](#get-api-v1-1-companies-stocksymbol-quote)[Get the latest quotes for every stock in a marketGET](#get-api-v1-1-companies-quotes)[Get the latest quotes for a list of stocksPOST](#post-api-v1-1-companies-quotes-lookup)[Get the intraday price series for a stockGET](#get-api-v1-1-companies-stocksymbol-intraday)[Get the end-of-day price history for a stockGET](#get-api-v1-1-companies-stocksymbol-history)[Get the classifications a stock belongs toGET](#get-api-v1-1-companies-stocksymbol-classification)

Markets

[Get the markets and indices covered by the gatewayGET](#get-api-v1-1-markets)[Get the latest index level for a marketGET](#get-api-v1-1-markets-marketid-quote)[Get the intraday index series for a marketGET](#get-api-v1-1-markets-marketid-intraday)[Get the end-of-day index history for a marketGET](#get-api-v1-1-markets-marketid-history)[Get the performance of a market over a periodGET](#get-api-v1-1-markets-marketid-performance)[Get the top movers in a marketGET](#get-api-v1-1-markets-marketid-movers)

Sectors

[Get the sectors listed in a marketGET](#get-api-v1-1-sectors)[Get the performance of every sector in a marketGET](#get-api-v1-1-sectors-performance)[Get the latest index level for a sectorGET](#get-api-v1-1-sectors-sectorid-quote)[Get the end-of-day index history for a sectorGET](#get-api-v1-1-sectors-sectorid-history)[Get the stocks classified under a sectorGET](#get-api-v1-1-sectors-sectorid-stocks)

# Market Data Layer API

v1.1 CurrentOAS 3.0Production

[Plans](https://developer.argaam.com/plans)[Use this API](https://developer.argaam.com/apis/market-data-layer-api-production-v1/versions/ca86b5b0-4709-486f-b41b-f80ad96b0d25)

Near real-time and historical market data for Tadawul and international equities and indices. Company quotes, intraday and end-of-day price history, market and sector performance, top movers, and stock classifications.

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](mailto:developer@argaam.com)

### [Get the latest quote for a stock](#get-the-latest-quote-for-a-stock)

Returns the near real-time last price, net and percentage change, bid and ask, traded volume and turnover for the stock, alongside the previous close and the day's high and low. Covers Tadawul listings and the international equities carried on the gateway.

GEThttps://api.argaam.com/api/v1.1/companies/{stockSymbol}/quote

Path parameters

stockSymbolstringrequired

Tadawul stock symbol of the company, e.g. 2222 (Saudi Aramco).

Example: 2222

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/companies/2222/quote?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 every stock in a market](#get-the-latest-quotes-for-every-stock-in-a-market)

Returns a paged near real-time snapshot of last price, change, volume and turnover for all stocks trading in the market. Use marketId to switch between TASI, Nomu and the international markets.

GEThttps://api.argaam.com/api/v1.1/companies/quotes

Query parameters

marketIdinteger (int32)

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

langstring

Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.

Default: en · Example: en

pageinteger (int32)

Page of the result set to return.

Default: 1

pageSizeinteger (int32)

Number of records per page.

Default: 20

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/companies/quotes?marketId=3&lang=en&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 a list of stocks](#get-the-latest-quotes-for-a-list-of-stocks)

Returns one quote per requested symbol for a watchlist-sized set of Tadawul or international symbols submitted in the request body, so a whole portfolio can be priced in a single call.

POSThttps://api.argaam.com/api/v1.1/companies/quotes/lookup

Query parameters

langstring

Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.

Default: en · Example: en

Request body

stockSymbols

string\[\] — Tadawul stock symbols to price, e.g. \["2222","1120","7010"\].

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/companies/quotes/lookup?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 intraday price series for a stock](#get-the-intraday-price-series-for-a-stock)

Returns the near real-time intraday bar series for the current or most recent trading session, with price, traded volume and turnover per interval. Use period to widen the window beyond the current session, e.g. 1d or 1m.

GEThttps://api.argaam.com/api/v1.1/companies/{stockSymbol}/intraday

Path parameters

stockSymbolstringrequired

Tadawul stock symbol of the company, e.g. 2222 (Saudi Aramco).

Example: 2222

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

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/companies/2222/intraday?period=year&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 end-of-day price history for a stock](#get-the-end-of-day-price-history-for-a-stock)

Returns the daily open, high, low, close, adjusted close, volume and turnover series for the stock, reaching back over 30 years where the listing allows. Use period or year to bound the range.

GEThttps://api.argaam.com/api/v1.1/companies/{stockSymbol}/history

Path parameters

stockSymbolstringrequired

Tadawul stock symbol of the company, e.g. 2222 (Saudi Aramco).

Example: 2222

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/companies/2222/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 classifications a stock belongs to](#get-the-classifications-a-stock-belongs-to)

Returns the market, sector and industry the stock is classified under, together with the indices it is a constituent of. Sector and industry names are localised, so set lang to read them in Arabic or English.

GEThttps://api.argaam.com/api/v1.1/companies/{stockSymbol}/classification

Path parameters

stockSymbolstringrequired

Tadawul stock symbol of the company, e.g. 2222 (Saudi Aramco).

Example: 2222

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/companies/2222/classification?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 markets and indices covered by the gateway](#get-the-markets-and-indices-covered-by-the-gateway)

Returns the markets and headline indices served by the market data layer, including TASI, Nomu and the international markets, each with the marketId to pass to the other operations.

GEThttps://api.argaam.com/api/v1.1/markets

Query parameters

langstring

Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.

Default: en · Example: en

pageinteger (int32)

Page of the result set to return.

Default: 1

pageSizeinteger (int32)

Number of records per page.

Default: 20

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/markets?lang=en&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 index level for a market](#get-the-latest-index-level-for-a-market)

Returns the near real-time index level, net and percentage change, traded volume, turnover and number of trades for the market index. Read it with the performance operation when a longer window is needed.

GEThttps://api.argaam.com/api/v1.1/markets/{marketId}/quote

Path parameters

marketIdinteger (int32)required

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/markets/3/quote?marketId=3&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 intraday index series for a market](#get-the-intraday-index-series-for-a-market)

Returns the near real-time intraday index bars for the current or most recent session, with index level, traded volume and turnover per interval. Use period to select the window.

GEThttps://api.argaam.com/api/v1.1/markets/{marketId}/intraday

Path parameters

marketIdinteger (int32)required

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

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

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/markets/3/intraday?marketId=3&period=year&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 end-of-day index history for a market](#get-the-end-of-day-index-history-for-a-market)

Returns the daily open, high, low and close of the market index with traded volume and turnover, covering more than 30 years of Saudi Exchange history. Use period or year to bound the range.

GEThttps://api.argaam.com/api/v1.1/markets/{marketId}/history

Path parameters

marketIdinteger (int32)required

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/markets/3/history?marketId=3&period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 performance of a market over a period](#get-the-performance-of-a-market-over-a-period)

Returns the index return, period high and low, and the aggregate traded volume, turnover and market capitalisation of the market across the selected window. Defaults to the year when period is omitted.

GEThttps://api.argaam.com/api/v1.1/markets/{marketId}/performance

Path parameters

marketIdinteger (int32)required

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

Query parameters

periodstring

Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.

Default: year · Example: year

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/markets/3/performance?marketId=3&period=year&lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 top movers in a market](#get-the-top-movers-in-a-market)

Returns the leading gainers, losers and most actively traded stocks by volume and turnover for the market. Use pageSize to control how many names come back in each list.

GEThttps://api.argaam.com/api/v1.1/markets/{marketId}/movers

Path parameters

marketIdinteger (int32)required

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

Query parameters

periodstring

Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.

Default: year · Example: year

langstring

Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.

Default: en · Example: en

pageinteger (int32)

Page of the result set to return.

Default: 1

pageSizeinteger (int32)

Number of records per page.

Default: 20

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/markets/3/movers?marketId=3&period=year&lang=en&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 sectors listed in a market](#get-the-sectors-listed-in-a-market)

Returns the sectors of the market with their sectorId, localised name and the number of listed companies in each. Pass the sectorId to the sector-level price and constituent operations.

GEThttps://api.argaam.com/api/v1.1/sectors

Query parameters

marketIdinteger (int32)

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

langstring

Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.

Default: en · Example: en

pageinteger (int32)

Page of the result set to return.

Default: 1

pageSizeinteger (int32)

Number of records per page.

Default: 20

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/sectors?marketId=3&lang=en&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 performance of every sector in a market](#get-the-performance-of-every-sector-in-a-market)

Returns the return, traded volume, turnover and market capitalisation of each sector over the selected window, ranked so sector rotation across the market is visible in one response. Defaults to the year when period is omitted.

GEThttps://api.argaam.com/api/v1.1/sectors/performance

Query parameters

marketIdinteger (int32)

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

periodstring

Time window for the series, e.g. 1d, 1m, 3m, 1y, 5y. Defaults to year.

Default: year · Example: year

langstring

Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.

Default: en · Example: en

pageinteger (int32)

Page of the result set to return.

Default: 1

pageSizeinteger (int32)

Number of records per page.

Default: 20

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/sectors/performance?marketId=3&period=year&lang=en&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 index level for a sector](#get-the-latest-index-level-for-a-sector)

Returns the near real-time sector index level, net and percentage change, traded volume and turnover for a single sector of the market.

GEThttps://api.argaam.com/api/v1.1/sectors/{sectorId}/quote

Path parameters

sectorIdinteger (int32)required

Identifier for a sector or classification group. Resolve through the sector taxonomy.

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/sectors/35/quote?lang=en' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 end-of-day index history for a sector](#get-the-end-of-day-index-history-for-a-sector)

Returns the daily open, high, low and close of the sector index with traded volume and turnover. Use period or year to bound the range.

GEThttps://api.argaam.com/api/v1.1/sectors/{sectorId}/history

Path parameters

sectorIdinteger (int32)required

Identifier for a sector or classification group. Resolve through the sector taxonomy.

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/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/sectors/35/history?period=year&year=2023&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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 stocks classified under a sector](#get-the-stocks-classified-under-a-sector)

Returns the constituent stocks of the sector with their latest price, change and weight in the sector index, so the classification can be walked from sector down to symbol.

GEThttps://api.argaam.com/api/v1.1/sectors/{sectorId}/stocks

Path parameters

sectorIdinteger (int32)required

Identifier for a sector or classification group. Resolve through the sector taxonomy.

Query parameters

marketIdinteger (int32)

Numeric market identifier used to scope market-level data.

Default: 3 · Example: 3

langstring

Language selector for multilingual output. Resolve the accepted value through the Languages mapping in the Knowledge Base.

Default: en · Example: en

pageinteger (int32)

Page of the result set to return.

Default: 1

pageSizeinteger (int32)

Number of records per page.

Default: 20

Response

↩

**200 · application/json** — `ApiV1Response`. Every operation returns the same envelope: `success`, `apiVersion`, `timestamp`, `requestId`, `data`, `meta` and `rateLimit`. Additional properties are not allowed.

cURL

ShellCopy

```
curl --request GET \
  --url 'https://api.argaam.com/api/v1.1/sectors/35/stocks?marketId=3&lang=en&page=1&pageSize=20' \
  --header 'Accept: application/json' \
  --header 'apikey: ••••••'
```

200 application/jsonCopy

```
{
  "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"
  }
}
```