Building an AI agent? Start with /llms.txt for the full site index.
Market & Prices
Valuation data — the fuller per-stock valuation record: the core ratios plus market capitalization and shares outstanding, per trading day.
GET /v2/datasets/valuation-datavaluation-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.
| Field | Type | Description |
|---|---|---|
symbol | string | Ticker. |
date | string | Trading date. |
market_cap | number | Market capitalization (TWD, derived). |
shares_outstanding | number | Shares outstanding used in the calculation. |
per | number | Price-to-earnings ratio (derived). |
source_role | string | Canonical source role (derived_valuation_data). |
| Rows | 7,625,469 |
| Window | 2006-01-02 – 2026-07-16 |
| Grade | Derived |
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.
curl "https://api.twmarketdata.com/v2/datasets/valuation-data?symbol=2330" \ -H "X-API-Key: sk_live_..."| Parameter | Required | Type | Description |
|---|---|---|---|
symbol | Yes | string | Ticker, e.g. 2330. |
start_date | No | string (YYYY-MM-DD) | Start of the query range. |
end_date | No | string (YYYY-MM-DD) | End of the query range. |
limit | No | integer | Maximum rows to return. |
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)This endpoint is GET /v2/datasets/valuation-data. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.