News & Editorial Layer API

v1.1 CurrentOAS 3.0Production

Argaam's editorial feed: company and market news, full articles with AMP rendering, the market-pulse feed, earnings reports, calendar events, and article types and sources.

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 latest news for a company

Returns the most recent Argaam news items that cover the company, newest first, each with its headline, publication timestamp, article type and article identifier. Use period to widen or narrow the window and page through the collection with page and pageSize.

GEThttps://api.argaam.com/api/v1.1/companies/{stockSymbol}/news
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
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/companies/2222/news?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"
  }
}

Get the latest news for a market

Returns the market-level news items published for the selected market, such as TASI and Nomu coverage, CMA regulatory notices and Saudi Exchange announcements. Use marketId to scope the feed and period to set the time window.

GEThttps://api.argaam.com/api/v1.1/markets/{marketId}/news
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
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/markets/3/news?marketId=3&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"
  }
}

Get the market-pulse feed

Returns the market-pulse feed, Argaam's short and continuously updated stream of market notes, alerts and one-line updates published through the trading day. Poll this collection for near real-time coverage; the feed is served as a paged REST collection, not a stream.

GEThttps://api.argaam.com/api/v1.1/news/pulse
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
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/news/pulse?marketId=3&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"
  }
}

Get the latest earnings reports across a market

Returns the earnings reports published by the editorial desk across the market, each linked to the reporting company, its fiscal period and the announcement article. Use fiscalPeriod and year to pin a specific reporting season.

GEThttps://api.argaam.com/api/v1.1/news/earnings
Query parameters
marketIdinteger (int32)
Numeric market identifier used to scope market-level data.
Default: 3 · Example: 3
fiscalPeriodstring
Fiscal period within the year: 1 - 4 for quarters, 5 for the full year.
Example: 5
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
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/news/earnings?marketId=3&fiscalPeriod=year&year=2023&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 earnings reports for a company

Returns the earnings reports Argaam has published for the company, covering quarterly and full-year results announcements with the headline figures quoted in each report. Use fiscalPeriod and year to pin a specific reporting period.

GEThttps://api.argaam.com/api/v1.1/companies/{stockSymbol}/news/earnings
Path parameters
stockSymbolstringrequired
Tadawul stock symbol of the company, e.g. 2222 (Saudi Aramco).
Example: 2222
Query parameters
fiscalPeriodstring
Fiscal period within the year: 1 - 4 for quarters, 5 for the full year.
Example: 5
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
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/companies/2222/news/earnings?fiscalPeriod=year&year=2023&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 a paged list of published articles

Returns a paged list of published articles from the editorial catalogue, giving the headline, summary, type, source and publication timestamp for each entry. Filter with marketId and period, then fetch the body from the single-article endpoint.

GEThttps://api.argaam.com/api/v1.1/articles
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
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/articles?marketId=3&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"
  }
}

Get the full text of an article

Returns the full body of a single article, including headline, byline, publication timestamp, type, source and the localised Arabic or English text selected by lang.

GEThttps://api.argaam.com/api/v1.1/articles/{articleId}
Path parameters
articleIdstringrequired
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/articles/1148217?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 AMP rendering of an article

Returns the AMP markup of the article as a string field inside data, together with the canonical article URL, for mobile and syndication surfaces.

GEThttps://api.argaam.com/api/v1.1/articles/{articleId}/amp
Path parameters
articleIdstringrequired
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/articles/1148217/amp?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 article types

Returns the article types used across the editorial catalogue, such as news, analysis, interview and press release, each with the identifier used to filter article and news listings.

GEThttps://api.argaam.com/api/v1.1/articles/types
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/articles/types?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 article sources

Returns the publishers and wires credited as article sources, each with its identifier and localised Arabic and English name as it appears on the article record.

GEThttps://api.argaam.com/api/v1.1/articles/sources
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/articles/sources?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 calendar events for a date range

Returns the corporate and economic calendar events scheduled across the catalogue, such as board meetings, general assemblies, dividend dates and results announcement dates. Use period to set the window and marketId to scope the market.

GEThttps://api.argaam.com/api/v1.1/events
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
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/events?marketId=3&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"
  }
}

Get a single calendar event

Returns a single calendar event with its scheduled date, event type, status and the company or market it belongs to, plus any article published about it.

GEThttps://api.argaam.com/api/v1.1/events/{eventId}
Path parameters
eventIdstringrequired
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/events/9931?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 calendar events for a company

Returns the calendar events scheduled for the company, including results announcement dates, general assemblies and investor meetings. Declared corporate actions, including dividends and capital changes, are returned by /api/v1.1/companies/{stockSymbol}/corporate-actions. Use period to set the window.

GEThttps://api.argaam.com/api/v1.1/companies/{stockSymbol}/events
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
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/companies/2222/events?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"
  }
}

Get the calendar events for a market

Returns the calendar events scheduled across the selected market, including Saudi Exchange trading holidays, index reviews and market-wide announcement dates. Economic data releases are returned by the Macroeconomic family. Use period to set the window.

GEThttps://api.argaam.com/api/v1.1/markets/{marketId}/events
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
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/markets/3/events?marketId=3&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"
  }
}