Building an AI agent? Start with /llms.txt for the full site index.
Market & Prices
Market overview snapshots — board-level aggregates per trading day: index level, total turnover and the up/down/unchanged counts.
GET /v2/datasets/market-overview-snapshotsmarket-overview-snapshots returns one aggregate row per board per trading day summarizing the whole market — the index level, total turnover and the count of advancing, declining and unchanged securities. It is a reference overview surface; each row carries its source role so the figures trace back to the official publication. Coverage is partial while the historical backfill is completed.
| Field | Type | Description |
|---|---|---|
board | string | Board (TWSE / TPEx). |
date | string | Trading date. |
total_turnover | number | Total market turnover (TWD). |
advancers | number | Count of advancing securities. |
decliners | number | Count of declining securities. |
source_role | string | Canonical source role (official_twse_market_overview). |
| Rows | 354 |
| Window | 2023-06-01 – 2026-05-28 |
| Grade | Reference |
A real response from this endpoint. Rows are returned under "data", 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.
{ "api_version": "v2", "dataset": "market_overview_snapshots", "dataset_version": "v2.0.0-preview", "release_version": "v2.2026-05-28.preview", "release_date": "2026-05-28", "data_as_of": "2026-05-28", "request_context": { "ticker": "TWSE", "as_of_date": "2026-05-28", "family": "taiwan_macro", "field_group_type": "canonical", "dataset_view": "market_overview_snapshots_v1", "source_table": "market_overview_snapshots", "scope": "market_overview_snapshots_only", "coverage_type": "seeded_anchor_snapshot_set", "supported_sort_by": [ "as_of_date" ], "supported_filter_fields": [ "market", "as_of_date", "date_from" ], "market_filter": "TWSE", "date_range": { "date_from": null, "date_to": null } }, "data": [ { "market_code": "TWSE", "as_of_date": "2026-05-28", "index_level": 43636.44, "index_change": -620.36, "index_change_pct": -1.4, "advancers": null, "decliners": null, "unchanged": null, "turnover_value": 1531713564563, "volume_shares": 11122477394, "transaction_count": null, "listed_count": null, "traded_count": null, "provider": "twse_official", "source_role": "official_market_overview", "lineage": { "index_data": { "lineage": { "source": "TWSE_MI_INDEX", "source_date": "2026-05-28", "source_type": "ALLBUT0999", "special_note": null, "identity_rule": "exact_index_name_match", "source_lineage": { "row_number": 1, "table_index": 0, "table_title": "<Chinese value - see the zh page>" }, "source_table_id": "table_0", "turnover_lineage": { "stat_item": "<Chinese value - see the zh page>", "row_number": 0, "table_index": 6, "table_title": "<Chinese value - see the zh page>" } }, "provider": "twse_official", "as_of_date": "2026-05-28", "source_role": "official_twse_mi_index" }, "mapping_rule": "full_outer_union_on_as_of_date_for_twse_aggregate_anchor", "source_family": "official_first:market_overview", "source_tables": [ "index_data_items", "market_breadth_items" ], "market_breadth": null }, "data_gaps": [ "missing_market_breadth_items_row", "missing_transaction_count_from_approved_inputs", "missing_listed_count_from_approved_inputs" ], "not_investment_advice": true, "market_scope": "TWSE", "currency": "TWD", "is_placeholder": false }, { "market_code": "TWSE", "as_of_date": "2026-05-27", "index_level": 44256.8, "index_change": 731.43, "index_change_pct": 1.68, "advancers": 333, "decliners": 672, "unchanged": 68, "turnover_value": 1518335225482, "volume_shares": 10767509251, "transaction_count": null, "listed_count": null, "traded_count": 1073, "provider": "twse_official", "source_role": "official_market_overview", "lineage": { "index_data": { "lineage": { "source": "TWSE_MI_INDEX", "source_date": "2026-05-27", "source_type": "ALLBUT0999", "special_note": null, "identity_rule": "exact_index_name_match", "source_lineage": { "row_number": 1, "table_index": 0, "table_title": "<Chinese value - see the zh page>" }, "source_table_id": "table_0", "turnover_lineage": { "stat_item": "<Chinese value - see the zh page>", "row_number": 0, "table_index": 6, "table_title": "<Chinese value - see the zh page>" } }, "provider": "twse_official", "as_of_date": "2026-05-27", "source_role": "official_twse_mi_index" }, "mapping_rule": "full_outer_union_on_as_of_date_for_twse_aggregate_anchor", "source_family": "official_first:market_overview", "source_tables": [ "index_data_items", "market_breadth_items" ], "market_breadth": { "lineage": { "derived_from": "twse_mi_index_market_breadth", "upstream_lineage": { "request_type": "MS", "parser_source_date": "2026-05-27", "source_lineage_rows": [ { "row_number": 0, "table_index": 7, "table_title": "<Chinese value - see the zh page>" }, { "row_number": 1, "table_index": 7, "table_title": "<Chinese value - see the zh page>" }, { "row_number": 2, "table_index": 7, "table_title": "<Chinese value - see the zh page>" } ] } }, "provider": "twse_official", "as_of_date": "2026-05-27", "source_role": "derived_market_breadth" } }, "data_gaps": [ "missing_transaction_count_from_approved_inputs", "missing_listed_count_from_approved_inputs" ], "not_investment_advice": true, "market_scope": "TWSE", "currency": "TWD", "is_placeholder": false } ], "quality": { "freshness_state": "fresh", "freshness_as_of": "2026-05-28", "completeness_ratio": 1, "quality_status": "ready" }, "lineage": { "source_role": "canonical", "selected_source": "market_overview_snapshots", "fallback_chain": [ "index_data_items", "market_breadth_items" ], "policy_notes": [ "official/public-first canonical", "market_overview_snapshots is the seeded anchor surface for index and breadth derivations", "not_investment_advice" ] }, "error": { "error_code": null, "error_message": null, "dataset": "market_overview_snapshots", "request_id": "read-api-20260528", "blocking_gate": null }, "dataset_id": "market_overview_snapshots", "data_count": 50, "known_gaps": [ "listed_count_unavailable_from_official_twse_mi_index_ms", "missing_index_data_items_row", "missing_listed_count_from_approved_inputs" ], "warnings": [ "not_investment_advice" ]}Captured from the live API on 2026-07-20.
Chinese data values are shown as a marker here so this page stays in English; the /zh page shows them verbatim.
curl "https://api.twmarketdata.com/v2/datasets/market-overview-snapshots?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/market-overview-snapshots", params={"symbol": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json()["data"])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/market-overview-snapshots", params={"symbol": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()for row in resp.json()["data"]: print(row)This endpoint is GET /v2/datasets/market-overview-snapshots. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.