Market Data Layer API
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.
https://api.argaam.com
Argaam API Gateway (Production)
ApiKeyAuth — apikey header
ApiKeyAuthQuery — apikey query parameter
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.curl --request GET \
--url 'https://api.argaam.com/api/v1.1/companies/2222/quote?lang=en' \
--header 'Accept: application/json' \
--header 'apikey: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.curl --request GET \
--url 'https://api.argaam.com/api/v1.1/companies/quotes/lookup?lang=en' \
--header 'Accept: application/json' \
--header 'apikey: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.curl --request GET \
--url 'https://api.argaam.com/api/v1.1/companies/2222/classification?lang=en' \
--header 'Accept: application/json' \
--header 'apikey: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.curl --request GET \
--url 'https://api.argaam.com/api/v1.1/markets?lang=en&page=1&pageSize=20' \
--header 'Accept: application/json' \
--header 'apikey: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.curl --request GET \
--url 'https://api.argaam.com/api/v1.1/markets/3/quote?marketId=3&lang=en' \
--header 'Accept: application/json' \
--header 'apikey: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
Returns the near real-time sector index level, net and percentage change, traded volume and turnover for a single sector of the market.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.curl --request GET \
--url 'https://api.argaam.com/api/v1.1/sectors/35/quote?lang=en' \
--header 'Accept: application/json' \
--header 'apikey: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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
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.
ApiV1Response.
Every operation returns the same envelope: success, apiVersion, timestamp,
requestId, data, meta and rateLimit. Additional properties are not allowed.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: ••••••'{
"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"
}
}