TW Market Data LogoTW Market Data

Core data

Market & prices

TWSE / TPEx daily bars, adjusted prices, indices, and market breadth

Financials & growth

Monthly revenue, the three financial statements, financial metrics, and valuation data

Flows & positioning

Institutional investors and margin & short-selling data

Company & structure

Company & events

Company profiles, disclosures, events, corporate actions, and dividends

Taxonomy & structure

Theme taxonomy, index classification, and cross-dataset mapping

Strategy & quant

Features, factor data, time alignment, and screener

Platform capabilities

API access

REST API, authentication, and your first request

Query & tools

Search API, Query API, field lists, and query examples

Tools / MCP

Agent workflows, MCP tools, and the OpenAPI entry point

PricingDocsBlog
中文Dashboard

TW Market Data (TWMD) provides historical data and statistics, not investment advice; investment decisions and their risks are your own.

Privacy Policy|Terms of Service|Help Center||中文|TW Market Data © 2026

Documentation

DASHBOARD

DashboardPricing

FOR AI AGENTS

MCP Serverllms.txtTool manifestOpenAPI SpecAgent workflow examples
WebhooksBuilding

OVERVIEW

OverviewQuick startAuthenticationSource policyData gradesData lineageMarket coverage

DATA APIS

Index dataMarket indicesUnified daily pricesTPEx daily pricesTWSE daily pricesEx-rights & dividend adjustment factorsPrice-limit (daily)Return index (daily)Adjusted pricesIndex constituentsMarket breadthCore valuation (daily)Valuation dataTechnical indicatorsIndex classificationMarket overview snapshots

GUIDES

How to get the 3 financial statementsHow to read institutional flowsHow to check market statusHow to wire a strategy / AI agent

SDKS

Release statusPython SDKJavaScript / TypeScript SDK

Building an AI agent? Start with /llms.txt for the full site index.

Market & Prices

Valuation data

Valuation data — the fuller per-stock valuation record: the core ratios plus market capitalization and shares outstanding, per trading day.

DerivedSource: TWSE / TPEx / MOPS·Plan: pro·Cost: 2 credits·GET /v2/datasets/valuation-data

Overview

valuation-data is a derived dataset that extends the core valuation ratios with market capitalization and shares-outstanding context per stock per trading day, computed from the official price and MOPS financial inputs. The lineage block points back to those official sources so each figure is reproducible rather than a standalone assertion.

FieldTypeDescription
symbolstringTicker.
datestringTrading date.
market_capnumberMarket capitalization (TWD, derived).
shares_outstandingnumberShares outstanding used in the calculation.
pernumberPrice-to-earnings ratio (derived).
source_rolestringCanonical source role (derived_valuation_data).

Coverage

Rows7,625,469
Window2006-01-02 – 2026-07-16
GradeDerived

Example response

A real response from this endpoint. Rows are returned under "rows", and provenance is carried in the shape shown below — it is not identical across datasets, so read this page's rather than assuming another's.

{  "dataset": "valuation_data",  "rows": [    {      "market": "TWSE",      "as_of_date": "2026-07-16",      "valuation_version": "v1",      "pe_ratio": 33.21,      "pb_ratio": 10.87,      "earnings_yield": null,      "book_to_price": null,      "dividend_yield": 0.89,      "market_cap": 64052954065490,      "shares_outstanding": 25932370067,      "provider": "twse",      "source_role": "official_twse_bwibbu",      "lineage": {        "market": "TWSE",        "provider": "twse",        "data_gaps": {          "market_cap_deferred": true,          "shares_outstanding_deferred": true,          "market_cap_source_proof_required": true,          "shares_outstanding_source_proof_required": true        },        "source_role": "official_twse_bwibbu",        "artifact_only": false,        "source_endpoint": "BWIBBU_d",        "controlled_write": true,        "transform_version": "non_tpex_valuation_controlled_writer_v1",        "controlled_write_scope": "2026-05-28_2026-07-16",        "fetched_or_source_date": "2026-07-16"      },      "updated_at": "2026-07-17T14:13:15.292023",      "symbol": "2330",      "fundamentals_context": {        "generated_at": "2026-07-20T18:31:53Z",        "ticker": "2330",        "period": "2026-07-16",        "period_type": "daily_event",        "statement_family": "valuation_data",        "metric_values": {          "valuation_version": "v1",          "pe_ratio": 33.21,          "pb_ratio": 10.87,          "earnings_yield": null,          "book_to_price": null,          "dividend_yield": 0.89,          "market_cap": 64052954065490,          "shares_outstanding": 25932370067,          "updated_at": "2026-07-17T14:13:15.292023",          "symbol": "2330"        },        "source_lineage": {          "provider": "unknown",          "source_role": "official_twse_bwibbu",          "source_table": "valuation_data_items",          "ingestion_run_id": null,          "transformation_version": "fundamentals_ai_context_v1",          "market": "TWSE",          "data_gaps": {            "market_cap_deferred": true,            "shares_outstanding_deferred": true,            "market_cap_source_proof_required": true,            "shares_outstanding_source_proof_required": true          },          "artifact_only": false,          "source_endpoint": "BWIBBU_d",          "controlled_write": true,          "transform_version": "non_tpex_valuation_controlled_writer_v1",          "controlled_write_scope": "2026-05-28_2026-07-16",          "fetched_or_source_date": "2026-07-16"        },        "data_gaps": [],        "restatement_warning": {          "has_restatement": false,          "reason": null,          "previous_version_ref": null        },        "not_investment_advice": true,        "coverage_window": {          "min_period": null,          "max_period": null,          "coverage_confidence": "medium",          "row_count": 0        },        "safe_usage_notes": [          "not_investment_advice",          "official_public_first_policy",          "period_semantics_explicit"        ],        "available_tools_or_endpoints": [          {            "name": "valuation_data",            "path": "/v2/datasets/valuation-data"          }        ]      }    },    {      "market": "TWSE",      "as_of_date": "2026-07-14",      "valuation_version": "v1",      "pe_ratio": 32.54,      "pb_ratio": 10.65,      "earnings_yield": null,      "book_to_price": null,      "dividend_yield": 0.91,      "market_cap": 62756335562140,      "shares_outstanding": 25932370067,      "provider": "twse",      "source_role": "official_twse_bwibbu",      "lineage": {        "market": "TWSE",        "provider": "twse",        "data_gaps": {          "market_cap_deferred": true,          "shares_outstanding_deferred": true,          "market_cap_source_proof_required": true,          "shares_outstanding_source_proof_required": true        },        "source_role": "official_twse_bwibbu",        "artifact_only": false,        "source_endpoint": "BWIBBU_d",        "controlled_write": true,        "transform_version": "non_tpex_valuation_controlled_writer_v1",        "controlled_write_scope": "2026-05-28_2026-07-16",        "fetched_or_source_date": "2026-07-14"      },      "updated_at": "2026-07-17T14:13:20.617678",      "symbol": "2330",      "fundamentals_context": {        "generated_at": "2026-07-20T18:31:53Z",        "ticker": "2330",        "period": "2026-07-14",        "period_type": "daily_event",        "statement_family": "valuation_data",        "metric_values": {          "valuation_version": "v1",          "pe_ratio": 32.54,          "pb_ratio": 10.65,          "earnings_yield": null,          "book_to_price": null,          "dividend_yield": 0.91,          "market_cap": 62756335562140,          "shares_outstanding": 25932370067,          "updated_at": "2026-07-17T14:13:20.617678",          "symbol": "2330"        },        "source_lineage": {          "provider": "unknown",          "source_role": "official_twse_bwibbu",          "source_table": "valuation_data_items",          "ingestion_run_id": null,          "transformation_version": "fundamentals_ai_context_v1",          "market": "TWSE",          "data_gaps": {            "market_cap_deferred": true,            "shares_outstanding_deferred": true,            "market_cap_source_proof_required": true,            "shares_outstanding_source_proof_required": true          },          "artifact_only": false,          "source_endpoint": "BWIBBU_d",          "controlled_write": true,          "transform_version": "non_tpex_valuation_controlled_writer_v1",          "controlled_write_scope": "2026-05-28_2026-07-16",          "fetched_or_source_date": "2026-07-14"        },        "data_gaps": [],        "restatement_warning": {          "has_restatement": false,          "reason": null,          "previous_version_ref": null        },        "not_investment_advice": true,        "coverage_window": {          "min_period": null,          "max_period": null,          "coverage_confidence": "medium",          "row_count": 0        },        "safe_usage_notes": [          "not_investment_advice",          "official_public_first_policy",          "period_semantics_explicit"        ],        "available_tools_or_endpoints": [          {            "name": "valuation_data",            "path": "/v2/datasets/valuation-data"          }        ]      }    }  ],  "count": 50,  "status": "ok"}

Captured from the live API on 2026-07-20.

Getting started

  1. Put your key in the X-API-Key header.
  2. Add query parameters (symbol, date range, limit).
  3. Send the request and read the rows array.
curl "https://api.twmarketdata.com/v2/datasets/valuation-data?symbol=2330" \  -H "X-API-Key: sk_live_..."

Filtering

ParameterRequiredTypeDescription
symbolYesstringTicker, e.g. 2330.
start_dateNostring (YYYY-MM-DD)Start of the query range.
end_dateNostring (YYYY-MM-DD)End of the query range.
limitNointegerMaximum rows to return.

Python

A first call:

import requests resp = requests.get(    "https://api.twmarketdata.com/v2/datasets/valuation-data",    params={"symbol": "2330"},    headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json()["rows"])

With a date-range filter:

import requests # The full verified example — the same call with every supported filter set.resp = requests.get(    "https://api.twmarketdata.com/v2/datasets/valuation-data",    params={"symbol": "2330"},    headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()for row in resp.json()["rows"]:    print(row)

OpenAPI

This endpoint is GET /v2/datasets/valuation-data. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.

Notes & limitations

  • Derived, not disclosed: market cap and ratios combine the official price with point-in-time shares and financial figures, which get restated — pin as_of for backtests so a past valuation uses only figures public at that moment.

Request & Response

Request

curl "https://api.twmarketdata.com/v2/datasets/valuation-data?symbol=2330&start_date=2026-01-01&end_date=2026-06-30&limit=5" \  -H "X-API-Key: $TWMD_API_KEY"

Authenticate with the X-API-Key header, using a sk_live_ key issued in the dashboard.

Response

JSON
{  "dataset": "valuation_data",  "rows": [    {      "market": "TWSE",      "as_of_date": "2026-07-16",      "valuation_version": "v1",      "pe_ratio": 33.21,      "pb_ratio": 10.87,      "earnings_yield": null,      "book_to_price": null,      "dividend_yield": 0.89,      "market_cap": 64052954065490,      "shares_outstanding": 25932370067,      "provider": "twse",      "source_role": "official_twse_bwibbu",      "lineage": {        "market": "TWSE",        "provider": "twse",        "data_gaps": {          "market_cap_deferred": true,          "shares_outstanding_deferred": true,          "market_cap_source_proof_required": true,          "shares_outstanding_source_proof_required": true        },        "source_role": "official_twse_bwibbu",        "artifact_only": false,        "source_endpoint": "BWIBBU_d",        "controlled_write": true,        "transform_version": "non_tpex_valuation_controlled_writer_v1",        "controlled_write_scope": "2026-05-28_2026-07-16",        "fetched_or_source_date": "2026-07-16"      },      "updated_at": "2026-07-17T14:13:15.292023",      "symbol": "2330",      "fundamentals_context": {        "generated_at": "2026-07-20T18:31:53Z",        "ticker": "2330",        "period": "2026-07-16",        "period_type": "daily_event",        "statement_family": "valuation_data",        "metric_values": {          "valuation_version": "v1",          "pe_ratio": 33.21,          "pb_ratio": 10.87,          "earnings_yield": null,          "book_to_price": null,          "dividend_yield": 0.89,          "market_cap": 64052954065490,          "shares_outstanding": 25932370067,          "updated_at": "2026-07-17T14:13:15.292023",          "symbol": "2330"        },        "source_lineage": {          "provider": "unknown",          "source_role": "official_twse_bwibbu",          "source_table": "valuation_data_items",          "ingestion_run_id": null,          "transformation_version": "fundamentals_ai_context_v1",          "market": "TWSE",          "data_gaps": {            "market_cap_deferred": true,            "shares_outstanding_deferred": true,            "market_cap_source_proof_required": true,            "shares_outstanding_source_proof_required": true          },          "artifact_only": false,          "source_endpoint": "BWIBBU_d",          "controlled_write": true,          "transform_version": "non_tpex_valuation_controlled_writer_v1",          "controlled_write_scope": "2026-05-28_2026-07-16",          "fetched_or_source_date": "2026-07-16"        },        "data_gaps": [],        "restatement_warning": {          "has_restatement": false,          "reason": null,          "previous_version_ref": null        },        "not_investment_advice": true,        "coverage_window": {          "min_period": null,          "max_period": null,          "coverage_confidence": "medium",          "row_count": 0        },        "safe_usage_notes": [          "not_investment_advice",          "official_public_first_policy",          "period_semantics_explicit"        ],        "available_tools_or_endpoints": [          {            "name": "valuation_data",            "path": "/v2/datasets/valuation-data"          }        ]      }    },    {      "market": "TWSE",      "as_of_date": "2026-07-14",      "valuation_version": "v1",      "pe_ratio": 32.54,      "pb_ratio": 10.65,      "earnings_yield": null,      "book_to_price": null,      "dividend_yield": 0.91,      "market_cap": 62756335562140,      "shares_outstanding": 25932370067,      "provider": "twse",      "source_role": "official_twse_bwibbu",      "lineage": {        "market": "TWSE",        "provider": "twse",        "data_gaps": {          "market_cap_deferred": true,          "shares_outstanding_deferred": true,          "market_cap_source_proof_required": true,          "shares_outstanding_source_proof_required": true        },        "source_role": "official_twse_bwibbu",        "artifact_only": false,        "source_endpoint": "BWIBBU_d",        "controlled_write": true,        "transform_version": "non_tpex_valuation_controlled_writer_v1",        "controlled_write_scope": "2026-05-28_2026-07-16",        "fetched_or_source_date": "2026-07-14"      },      "updated_at": "2026-07-17T14:13:20.617678",      "symbol": "2330",      "fundamentals_context": {        "generated_at": "2026-07-20T18:31:53Z",        "ticker": "2330",        "period": "2026-07-14",        "period_type": "daily_event",        "statement_family": "valuation_data",        "metric_values": {          "valuation_version": "v1",          "pe_ratio": 32.54,          "pb_ratio": 10.65,          "earnings_yield": null,          "book_to_price": null,          "dividend_yield": 0.91,          "market_cap": 62756335562140,          "shares_outstanding": 25932370067,          "updated_at": "2026-07-17T14:13:20.617678",          "symbol": "2330"        },        "source_lineage": {          "provider": "unknown",          "source_role": "official_twse_bwibbu",          "source_table": "valuation_data_items",          "ingestion_run_id": null,          "transformation_version": "fundamentals_ai_context_v1",          "market": "TWSE",          "data_gaps": {            "market_cap_deferred": true,            "shares_outstanding_deferred": true,            "market_cap_source_proof_required": true,            "shares_outstanding_source_proof_required": true          },          "artifact_only": false,          "source_endpoint": "BWIBBU_d",          "controlled_write": true,          "transform_version": "non_tpex_valuation_controlled_writer_v1",          "controlled_write_scope": "2026-05-28_2026-07-16",          "fetched_or_source_date": "2026-07-14"        },        "data_gaps": [],        "restatement_warning": {          "has_restatement": false,          "reason": null,          "previous_version_ref": null        },        "not_investment_advice": true,        "coverage_window": {          "min_period": null,          "max_period": null,          "coverage_confidence": "medium",          "row_count": 0        },        "safe_usage_notes": [          "not_investment_advice",          "official_public_first_policy",          "period_semantics_explicit"        ],        "available_tools_or_endpoints": [          {            "name": "valuation_data",            "path": "/v2/datasets/valuation-data"          }        ]      }    }  ],  "count": 50,  "status": "ok"}

Captured from a real call to this endpoint — not written by hand.

This dataset returns its rows under "rows". The envelope differs between datasets, so read this one rather than reusing another page's shape.

The grade badge on this page is a documentation classification, not a response field.