---
title: "List companies across all markets (cross-market, paged)."
url: "https://developer.argaam.com/apis/market-data-layer-api-production-v1/versions/ca86b5b0-4709-486f-b41b-f80ad96b0d25/operations/getMarketsAllCompanies"
---

> Full API specification: https://developer.argaam.com/apis/market-data-layer-api-production-v1/versions/ca86b5b0-4709-486f-b41b-f80ad96b0d25.md

# List companies across all markets (cross-market, paged).

`GET` `/api/v1.1/markets/all/companies`

Operation ID: `getMarketsAllCompanies`

Returns a flat list of all companies across every GCC exchange in the Argaam database, optionally personalized with watchlist data for a logged-in user. **Language codes** — `1` = English (default), `2` = Arabic. **Tip:** To restrict to a single exchange use `GET /markets/{marketId}/companies`. For searchable/pageable listing use `GET /companies?marketIds={ids}`.

## Query parameters

- `lang` (integer, int32, optional) - Language ID: `1` = English (default), `2` = Arabic. Defaults to `1`.
- `userId` (integer, int32, optional) - Optional user ID for personalized watchlist data. Default: `0`. Defaults to `0`.

## Responses

- `200` - Success

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Market Data Layer API
  version: v1.1
servers:
  - url: https://api.argaam.com
    description: Argaam API Gateway (Production)
paths:
  /api/v1.1/markets/all/companies:
    get:
      tags:
        - Markets
      parameters:
        - name: lang
          in: query
          description: "Language ID: `1` = English (default), `2` = Arabic. Defaults to
            `1`."
          schema:
            type: integer
            format: int32
            default: 1
          example: 1
        - name: userId
          in: query
          description: "Optional user ID for personalized watchlist data. Default: `0`.
            Defaults to `0`."
          schema:
            type: integer
            format: int32
            default: 0
          example: 0
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiV1Response2"
      summary: List companies across all markets (cross-market, paged).
      description: "Returns a flat list of all companies across every GCC exchange
        in\r

        the Argaam database, optionally personalized with watchlist data for\r

        a logged-in user.\r

        \                      \r

        **Language codes** — `1` = English (default), `2` = Arabic.\r

        \            \r

        **Tip:** To restrict to a single exchange use\r

        `GET /markets/{marketId}/companies`. For searchable/pageable listing\r

        use `GET /companies?marketIds={ids}`."
      operationId: getMarketsAllCompanies
security:
  - ApiKeyAuth: []
components:
  schemas:
    ApiV1Response2:
      type: object
      properties:
        success:
          type: boolean
          description: Always true for successful responses.
        apiVersion:
          type: string
          description: Semantic API version (e.g., "1.0.0").
          nullable: true
        timestamp:
          type: string
          description: UTC timestamp when the response was generated.
          format: date-time
        requestId:
          type: string
          description: Unique request identifier for tracing.
          nullable: true
        data:
          description: The response payload.
          nullable: true
        meta:
          $ref: "#/components/schemas/ApiV1Meta2"
        rateLimit:
          $ref: "#/components/schemas/ApiV1RateLimit2"
      additionalProperties: false
      description: Standardized successful API response wrapper for v1.0.0 endpoints.
    ApiV1Meta2:
      type: object
      properties:
        page:
          type: integer
          description: Current page number (1-based).
          format: int32
        pageSize:
          type: integer
          description: Number of items per page.
          format: int32
        totalRecords:
          type: integer
          description: Total number of records available across all pages.
          format: int32
        totalPages:
          type: integer
          description: Total number of pages.
          format: int32
          readOnly: true
        hasNextPage:
          type: boolean
          description: Whether there is a next page available.
          readOnly: true
        hasPreviousPage:
          type: boolean
          description: Whether there is a previous page available.
          readOnly: true
      additionalProperties: false
      description: Pagination and metadata information for collection responses.
    ApiV1RateLimit2:
      type: object
      properties:
        limit:
          type: integer
          description: Total request quota for the current window.
          format: int32
        remaining:
          type: integer
          description: Remaining requests in the current window.
          format: int32
        reset:
          type: string
          description: UTC timestamp when the rate limit window resets.
          format: date-time
      additionalProperties: false
      description: Rate limit information returned with each response.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: apikey
```
