twmarketdata-com Datasets API

The Datasets API from twmarketdata-com — 4 operation(s) for datasets.

Operations 4

GET /v2/datasets/tpex-daily-price TPEx 日線價格 / TPEx daily prices #
GET /v2/datasets/technical-indicators 技術指標 / Technical indicators #
GET /v2/datasets/valuation-data 估值資料 / Valuation data #
GET /v2/datasets/issuer-profile 公司基本資料 / Issuer profile #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/twmarketdata-com:twmarketdata-com-datasets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

twmarketdata-com-datasets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TW Market Data Datasets API
  description: 台股資料 API,為 AI agent、量化研究與金融產品開發設計。此文件提供 machine-readable 的公開資料端點摘要,詳細欄位請以對應 docs endpoint 頁面為準。
  version: 0.1.0
  x-spec-version: 1.0.0
  x-generated-at: '2026-08-10T15:44:43.277Z'
servers:
- url: https://api.twmarketdata.com
  description: The customer API. sk_live_ keys authenticate here, in the X-API-Key header. This is the host that issues those keys and the host that validates them.
security:
- ApiKeyAuth: []
tags:
- name: Datasets
paths:
  /v2/datasets/tpex-daily-price:
    get:
      summary: TPEx 日線價格 / TPEx daily prices
      description: 上櫃股票日線價格與成交資訊。
      parameters:
      - $ref: '#/components/parameters/Symbol'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetResponseEnvelope'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate Limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-data-status: production
      x-data-gaps: Response may include data_gaps and coverage/freshness caveats.
      operationId: get_tpex_daily_price
      security: []
      tags:
      - Datasets
  /v2/datasets/technical-indicators:
    get:
      summary: 技術指標 / Technical indicators
      description: 由價格資料衍生的技術分析指標。
      parameters:
      - $ref: '#/components/parameters/Symbol'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetResponseEnvelope'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required — plan does not include this dataset. See payment.credits_url in the body to upgrade.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate Limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-data-status: production
      x-data-gaps: Response may include data_gaps and coverage/freshness caveats.
      operationId: get_technical_indicators
      security:
      - ApiKeyAuth: []
      tags:
      - Datasets
  /v2/datasets/valuation-data:
    get:
      summary: 估值資料 / Valuation data
      description: 本益比、股價淨值比、殖利率等估值欄位。
      parameters:
      - $ref: '#/components/parameters/Symbol'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetResponseEnvelope'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required — plan does not include this dataset. See payment.credits_url in the body to upgrade.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate Limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-data-status: production
      x-data-gaps: Response may include data_gaps and coverage/freshness caveats.
      operationId: get_valuation_data
      security:
      - ApiKeyAuth: []
      tags:
      - Datasets
  /v2/datasets/issuer-profile:
    get:
      summary: 公司基本資料 / Issuer profile
      description: 公司識別、上市櫃別與產業分類等基本資訊。
      parameters:
      - $ref: '#/components/parameters/Symbol'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetResponseEnvelope'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required — plan does not include this dataset. See payment.credits_url in the body to upgrade.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate Limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-data-status: production
      x-data-gaps: Response may include data_gaps and coverage/freshness caveats.
      operationId: get_issuer_profile
      security:
      - ApiKeyAuth: []
      tags:
      - Datasets
components:
  schemas:
    PaginationMeta:
      type: object
      properties:
        limit:
          type:
          - integer
          - 'null'
          minimum: 1
          maximum: 1000
        next_cursor:
          type:
          - string
          - 'null'
        has_more:
          type:
          - boolean
          - 'null'
      example:
        limit: 50
        next_cursor: null
        has_more: false
      additionalProperties: true
    DataGap:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        severity:
          type: string
          enum:
          - info
          - warning
          - error
        scope:
          type:
          - string
          - 'null'
        field:
          type:
          - string
          - 'null'
        source:
          type:
          - string
          - 'null'
        observed_at:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: true
      example:
        code: coverage_rollout_gap
        message: 部分日期尚未完成來源補齊。
        severity: warning
        scope: dataset
        field: null
        source: official source rollout
        observed_at: '2026-05-23T00:00:00Z'
    DatasetMeta:
      type: object
      properties:
        dataset:
          type:
          - string
          - 'null'
        request_id:
          type:
          - string
          - 'null'
        generated_at:
          type:
          - string
          - 'null'
          format: date-time
        ticker:
          type:
          - string
          - 'null'
        market:
          type:
          - string
          - 'null'
        date_from:
          type:
          - string
          - 'null'
          format: date
        date_to:
          type:
          - string
          - 'null'
          format: date
        source_policy:
          type:
          - string
          - 'null'
        freshness:
          type:
          - string
          - 'null'
        currency:
          type:
          - string
          - 'null'
        unit_semantics:
          type:
          - string
          - 'null'
      additionalProperties: true
    DatasetResponseEnvelope:
      type: object
      required:
      - data
      properties:
        data:
          type: array
          items:
            type: object
            additionalProperties: true
        meta:
          $ref: '#/components/schemas/DatasetMeta'
        pagination:
          $ref: '#/components/schemas/PaginationMeta'
        data_gaps:
          type: array
          items:
            $ref: '#/components/schemas/DataGap'
      example:
        data: []
        meta:
          dataset: twse-daily-price
          request_id: req_example_001
          generated_at: '2026-05-23T00:00:00Z'
          ticker: '2330'
          market: TWSE
          date_from: '2026-01-01'
          date_to: '2026-01-31'
          source_policy: official/public-first
          freshness: daily-close
          currency: TWD
          unit_semantics: shares
        pagination:
          limit: 50
          next_cursor: null
          has_more: false
        data_gaps: []
    ErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type:
              - string
              - 'null'
          additionalProperties: true
      examples:
        invalid_query:
          value:
            error:
              code: INVALID_QUERY
              message: 查詢參數格式錯誤。
              request_id: req_invalid_001
        unauthorized:
          value:
            error:
              code: UNAUTHORIZED
              message: 缺少或無效的 API key。
              request_id: req_auth_001
        rate_limited:
          value:
            error:
              code: RATE_LIMIT_EXCEEDED
              message: 請求過於頻繁,請稍後重試。
              request_id: req_rate_001
        internal_error:
          value:
            error:
              code: INTERNAL_ERROR
              message: 伺服器暫時無法處理請求。
              request_id: req_internal_001
  parameters:
    StartDate:
      name: start_date
      in: query
      required: false
      schema:
        type: string
        format: date
      description: 查詢起始日期(YYYY-MM-DD)。
    EndDate:
      name: end_date
      in: query
      required: false
      schema:
        type: string
        format: date
      description: 查詢結束日期(YYYY-MM-DD)。
    Limit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 500
      description: 回傳筆數上限。
    Symbol:
      name: symbol
      in: query
      required: false
      schema:
        type: string
      description: 股票代號,例如 2330。
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Use X-API-Key header with your dashboard-issued API key.
externalDocs:
  description: TW Market Data developer docs
  url: https://twmarketdata.com/docs