> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tickdb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 股東持倉

> 查詢主要股東在不同報告期的持股情況、持倉變動及詳情可用狀態。

## 套餐權限

| 套餐 | 可用 |
| - | :-: |
| 免費版 | ❌ |
| 基礎版 | ❌ |
| 專業版 | ✅ |
| 全量套餐（A 股、港股、美股） | ✅ |
| 企業版 | ✅ |

## 注意事項

* 響應包含多個報告期的股東記錄，不限於十位股東；只有 `detail_available=true` 的 `object_id` 可用於股東詳情接口。

## 支持的市場

| 市場 | 示例 |
| - | - |
| 美股 | AAPL.US |
| 港股 | 700.HK |
| A股 | 600519.SH |

## 請求參數

| 參數 | 是否必須 | 說明 |
| - | :-: | - |
| `symbol` | 是 | 股票代碼 |
| `type` | 否 | 產品類型，當前支持 `stock` |

## 請求示例

```bash theme={null}
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.tickdb.ai/v1/fundamentals/shareholders/top?symbol=AAPL&type=stock"
```

## 返回字段說明

以下列出 `data` 中的字段；外層 `code=0` 表示成功。

| 字段 | 說明 |
| - | - |
| symbol | 股票代碼。 |
| total | 匯總記錄數。 |
| periods | 可用報告期列表。 |
| info | 按報告期分組的股東持倉數據。 |
| └─ period | 報告期。 |
| └─ share\_holders | 該報告期的股東列表。 |
|     └─ object\_id | 股東對象 ID。 |
|     └─ name | 股東名稱。 |
|     └─ shares\_held | 持股數量，以字符串返回。 |
|     └─ percent\_shares\_held | 持股比例，包含百分號。 |
|     └─ shares\_changed | 股份變動。 |
|     └─ percent\_shares\_changed | 持股比例變化，包含百分號。 |
|     └─ period | 該條記錄的報告期。 |
|     └─ filing\_date | 原始申報日期文本，例如 `2026/05/07`。 |
| members | 整理後的股東記錄。 |
| └─ shareholder\_name | 股東名稱。 |
| └─ shareholder\_type | 股東類型。 |
| └─ shares\_held | 持股數量，以字符串返回。 |
| └─ percent\_shares\_held | 持股比例數值，不含百分號；無法轉換時為 `null`。 |
| └─ percent\_shares\_held\_raw | 持股比例原始文本，包含百分號并可保留 `<0.01%` 等表示。 |
| └─ percent\_shares\_changed | 持股比例變化數值，不含百分號；無法轉換時為 `null`。 |
| └─ filing\_date | 申報日期，格式 `YYYY-MM-DD`。 |
| └─ report\_date | 報告日期，格式 `YYYY-MM-DD`；可能為 `null`。 |
| └─ object\_id | 股東對象 ID。 |
| └─ detail\_available | 是否可查詢股東詳情。 |

返回股東名稱、機構類型、持股數量、持股比例、報告日期、`object_id` 和 `detail_available`。

只有 `detail_available=true` 時，對應的 `object_id` 才可用於股東詳情接口。


## OpenAPI

````yaml openapi.zh-Hant.yaml GET /v1/fundamentals/shareholders/top
openapi: 3.1.0
info:
  title: TickDB API
  description: TickDB 統一即時行情數據 API，提供 REST 和 WebSocket 接入。
  version: 1.0.3
  contact:
    email: support@tickdb.ai
servers:
  - url: https://api.tickdb.ai
    description: 正式環境
security:
  - ApiKeyAuth: []
paths:
  /v1/fundamentals/shareholders/top:
    get:
      tags:
        - fundamentals-holders
      summary: 股東持倉
      description: 查詢主要股東在不同報告期的持股情況、持倉變動及詳情可用狀態。
      operationId: getFundamentalsShareholdersTop
      parameters:
        - $ref: '#/components/parameters/SymbolQuery'
        - $ref: '#/components/parameters/TypeQuery'
      responses:
        '200':
          $ref: '#/components/responses/TopShareholdersResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  parameters:
    SymbolQuery:
      name: symbol
      in: query
      required: true
      schema:
        type: string
        examples:
          - AAPL
          - '700'
          - '600519'
          - AAPL.US
          - 700.HK
          - 600519.SH
      description: 股票代碼
    TypeQuery:
      name: type
      in: query
      required: false
      schema:
        type: string
        enum:
          - stock
      description: 產品類型，當前支援 `stock`
  responses:
    TopShareholdersResponse:
      description: 股東持倉回應。
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TopShareholdersEnvelope'
    ErrorResponse:
      description: >-
        錯誤回應。常見 HTTP 狀態包括
        400（參數錯誤）、401（驗證失敗）、403（權限或配額限制）、404（無符合條件的數據）、429（請求頻率限制）及 503（服務暫不可用）。
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            missingAPIKey:
              summary: 缺少 API Key
              value:
                code: '1002'
                message: API key is required. Provide via X-API-Key header
                error: '1002'
            missingKind:
              summary: 缺少必填參數
              value:
                code: 40001
                message: kind is required
                data: null
            endpointForbidden:
              summary: API Key 無權存取此介面
              value:
                code: 3009
                message: This endpoint is not allowed for your API key
                data: null
            marketForbidden:
              summary: API Key 未開放該市場
              value:
                code: 3010
                message: Fundamentals market not allowed for your API key
                data:
                  market: US
            noAvailableSource:
              summary: 數據暫不可用
              value:
                code: 5003
                message: Data is temporarily unavailable
                data: null
            notFound:
              summary: 無符合條件的數據
              value:
                code: 40404
                message: shareholder detail not found
                data: null
            businessNoData:
              summary: 查詢條件沒有有效業務數據
              value:
                code: 40405
                message: valuation time series not found
                data: null
  schemas:
    TopShareholdersEnvelope:
      allOf:
        - $ref: '#/components/schemas/SuccessEnvelope'
        - type: object
          properties:
            data:
              $ref: '#/components/schemas/TopShareholdersData'
    ErrorEnvelope:
      type: object
      required:
        - code
        - message
      properties:
        code:
          description: TickDB API 業務錯誤碼；可能是整數或字串，客戶端應先轉為字串再比較。
          oneOf:
            - type: integer
            - type: string
        message:
          type: string
          description: 錯誤說明。
        error:
          type: string
          description: 相容錯誤標識；僅部分錯誤回應返回。
        data:
          description: 可選的錯誤上下文；可能是 null、物件或陣列。
          oneOf:
            - type: 'null'
            - type: object
              additionalProperties: true
            - type: array
              items: {}
    SuccessEnvelope:
      type: object
      required:
        - code
        - data
      properties:
        code:
          type: integer
          const: 0
          description: 業務狀態碼，成功為 `0`。
    TopShareholdersData:
      type: object
      required:
        - symbol
        - total
        - periods
        - info
        - members
      properties:
        symbol:
          type: string
          description: 股票代碼。
        total:
          type: integer
          description: 匯總記錄數。
        periods:
          type: array
          items:
            type: string
          description: 可用報告期列表。
        info:
          type: array
          items:
            $ref: '#/components/schemas/TopShareholderPeriod'
          description: 按報告期分組的股東持倉數據。
        members:
          type: array
          description: 整理後的股東記錄。
          items:
            $ref: '#/components/schemas/TopShareholderMember'
      additionalProperties: false
    TopShareholderPeriod:
      type: object
      required:
        - period
        - share_holders
      properties:
        period:
          type: string
          description: 報告期。
        share_holders:
          type: array
          description: 該報告期的股東列表。
          items:
            $ref: '#/components/schemas/TopShareholderPeriodMember'
      additionalProperties: false
    TopShareholderMember:
      type: object
      required:
        - object_id
        - shareholder_name
        - shareholder_type
        - shares_held
        - percent_shares_held
        - percent_shares_held_raw
        - percent_shares_changed
        - filing_date
        - report_date
        - detail_available
      properties:
        object_id:
          type: string
          description: 股東對象 ID。
        shareholder_name:
          type: string
          description: 股東名稱。
        shareholder_type:
          type:
            - string
            - 'null'
          description: 股東類型。
        shares_held:
          type: string
          description: 持股數量，以字符串返回。
        percent_shares_held:
          type:
            - string
            - 'null'
          description: 持股比例數值，不含百分號；無法轉換時為 null。
        percent_shares_held_raw:
          type: string
          description: 持股比例原始文本，包含百分號并可保留 `<0.01%` 等表示。
        percent_shares_changed:
          type:
            - string
            - 'null'
          description: 持股比例變化數值，不含百分號；無法轉換時為 null。
        filing_date:
          type: string
          format: date
          description: 原始申報日期文本，例如 `2026/05/07`。
        report_date:
          type:
            - string
            - 'null'
          format: date
          description: 報告日期，格式 `YYYY-MM-DD`；可能為 `null`。
        detail_available:
          type: boolean
          description: 是否可查詢股東詳情。
      additionalProperties: false
    TopShareholderPeriodMember:
      type: object
      required:
        - filing_date
        - name
        - object_id
        - percent_shares_changed
        - percent_shares_held
        - period
        - shares_changed
        - shares_held
      properties:
        filing_date:
          type: string
          description: 原始申報日期文本，例如 `2026/05/07`。
        name:
          type: string
          description: 股東名稱。
        object_id:
          type: string
          description: 股東對象 ID。
        percent_shares_changed:
          type: string
          description: 持股比例變化，包含百分號。
        percent_shares_held:
          type: string
          description: 持股比例，包含百分號。
        period:
          type: string
          description: 報告期。
        shares_changed:
          type: string
          description: 股份變動。
        shares_held:
          type: string
          description: 持股數量，以字符串返回。
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.