Building an AI agent? Start with /llms.txt for the full site index.
Capital Flows
Stocks suspended from same-day (cash) day trading, sourced from the official TWSE announcement — suspension window and reason.
GET /v2/datasets/day-trading-suspensionday-trading-suspension returns one row per stock per suspension event from the official TWSE day-trading suspension announcement, with the suspension window and reason. Each row carries its source role so an entry is traceable to the official notice. This endpoint is a preview surface — coverage is currently partial and served as a snapshot rather than a fully backfilled history.
| Field | Type | Description |
|---|---|---|
symbol | string | Ticker. |
suspension_start | string | First date day trading is suspended. |
suspension_end | string | Last date of the suspension. |
reason | string | Normalized suspension reason code. |
source_role | string | Canonical source role (official_twse_day_trading_suspension). |
| Rows | 38 |
| Window | 2026-06-03 – 2026-06-09 |
| 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": "day_trading_suspension", "dataset_version": "v2.0.0-preview", "release_version": "v2.2026-06-09.preview", "release_date": "2026-06-09", "data_as_of": "2026-06-09", "request_context": { "ticker": "TWSE", "as_of_date": "2026-06-09", "family": "market_structure_corporate_actions", "field_group_type": "canonical", "dataset_view": "day_trading_suspension_v1", "source_table": "day_trading_suspension_items", "scope": "day_trading_suspension_twse_current_snapshot_only", "coverage_type": "twse_current_snapshot_reference", "snapshot_mode": "current_snapshot_only", "supported_filter_fields": [ "market", "ticker", "date_from" ], "market_filter": "TWSE", "ticker_filter": null, "date_range": { "date_from": null, "date_to": null } }, "data": [ { "ticker": "1218", "market": "TWSE", "security_name": "<Chinese value - see the zh page>", "suspension_start_date": "2026-06-09", "suspension_end_date": "2026-06-15", "event_indicator": "<Chinese value - see the zh page>", "event_name": "TWSE current day-trading suspension", "source_family": "twse_current_day_trading_suspension", "lineage": { "endpoint": "https://www.twse.com.tw/exchangeReport/TWTBAU2", "source_role": "official_current_list", "source_title": "<Chinese value - see the zh page>", "source_family": "twse_current_day_trading_suspension", "request_params": { "date": "20260609", "response": "json" }, "source_provider": "twse_openapi" }, "data_gaps": [], "not_investment_advice": true }, { "ticker": "1776", "market": "TWSE", "security_name": "<Chinese value - see the zh page>", "suspension_start_date": "2026-06-09", "suspension_end_date": "2026-06-15", "event_indicator": "<Chinese value - see the zh page>", "event_name": "TWSE current day-trading suspension", "source_family": "twse_current_day_trading_suspension", "lineage": { "endpoint": "https://www.twse.com.tw/exchangeReport/TWTBAU2", "source_role": "official_current_list", "source_title": "<Chinese value - see the zh page>", "source_family": "twse_current_day_trading_suspension", "request_params": { "date": "20260609", "response": "json" }, "source_provider": "twse_openapi" }, "data_gaps": [], "not_investment_advice": true } ], "quality": { "freshness_state": "fresh", "freshness_as_of": "2026-06-09", "completeness_ratio": 1, "quality_status": "ready", "ticker_count": 38 }, "lineage": { "source_role": "canonical", "selected_source": "day_trading_suspension", "fallback_chain": [], "policy_notes": [ "official/public-first canonical", "TWSE current snapshot only", "no historical completeness claim" ], "source_families": [ "twse_current_day_trading_suspension" ] }, "error": { "error_code": null, "error_message": null, "dataset": "day_trading_suspension", "request_id": "read-api-20260609", "blocking_gate": null }, "dataset_id": "day_trading_suspension", "data_count": 38, "known_gaps": [ "twse_only_scope", "no_tpex_coverage", "no_historical_completeness" ], "warnings": [ "not_investment_advice", "twse_only_scope" ], "not_investment_advice": true}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/day-trading-suspension?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/day-trading-suspension", 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/day-trading-suspension", 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/day-trading-suspension. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.