Building an AI agent? Start with /llms.txt for the full site index.
Market Structure & Reference
Security master — the active reference record for each listed security (identity, listing board, industry).
GET /v2/datasets/security-mastersecurity-master is a reference dataset: one active record per security, not a time series. Use it to resolve a ticker to its name, board and industry. It is an active snapshot — the full point-in-time lifecycle (renames, delistings) is not yet integrated.
| Field | Type | Description |
|---|---|---|
symbol | string | Ticker. |
name | string | Security name. |
board | string | Listing board (TWSE / TPEx). |
industry | string | Industry classification. |
source_role | string | official_twse_issuer_profile. |
| Rows | 91,660 |
| Window | Reference data, no time series |
| Grade | Reference |
A real response from this endpoint. Rows are returned under "items", 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.
{ "generated_at": "2026-07-20T18:31:32Z", "dataset_id": "security-master", "as_of_date": "2026-07-20", "row_count": 50, "survivorship_bias_warning": { "enabled": true, "level": "warning", "message": "Current security master is not point-in-time complete; survivorship bias may exist for backtests." }, "items": [ { "generated_at": "2026-07-20T18:31:32Z", "as_of_date": "2026-07-20", "ticker": "1260", "security_identity": { "ticker": "1260", "name_zh": "<Chinese value - see the zh page>", "name_en": null, "security_type": "common_stock", "is_active": true }, "market_identity": { "market": "Emerging", "source_provider": "twse_isin_public", "source_role": "canonical", "source_confidence": "high" }, "dataset_coverage": { "price": "unknown", "technical_indicators": "unknown", "margin_short": "unknown", "valuation": "unknown", "financials": "unknown" }, "source_lineage": { "isin": "TW0001260008", "source": "TWSE ISIN C_public.jsp", "source_market": "Emerging", "market_section": "<Chinese value - see the zh page>" }, "data_gaps": [], "safe_usage_notes": [ "current_master_not_survivorship_safe_for_backtests", "not_investment_advice" ], "survivorship_bias_warning": { "enabled": true, "level": "warning", "message": "Current security master is not point-in-time complete; survivorship bias may exist for backtests." }, "available_tools_or_endpoints": [ { "name": "security_master_lookup", "path": "/v2/read/mcp-tool" }, { "name": "security_master_dataset", "path": "/v2/datasets/security-master" }, { "name": "security_lookup", "path": "/v2/securities/{ticker}" } ] }, { "generated_at": "2026-07-20T18:31:32Z", "as_of_date": "2026-07-20", "ticker": "1269", "security_identity": { "ticker": "1269", "name_zh": "<Chinese value - see the zh page>", "name_en": null, "security_type": "common_stock", "is_active": true }, "market_identity": { "market": "Emerging", "source_provider": "twse_isin_public", "source_role": "canonical", "source_confidence": "high" }, "dataset_coverage": { "price": "unknown", "technical_indicators": "unknown", "margin_short": "unknown", "valuation": "unknown", "financials": "unknown" }, "source_lineage": { "isin": "TW0001269009", "source": "TWSE ISIN C_public.jsp", "source_market": "Emerging", "market_section": "<Chinese value - see the zh page>" }, "data_gaps": [], "safe_usage_notes": [ "current_master_not_survivorship_safe_for_backtests", "not_investment_advice" ], "survivorship_bias_warning": { "enabled": true, "level": "warning", "message": "Current security master is not point-in-time complete; survivorship bias may exist for backtests." }, "available_tools_or_endpoints": [ { "name": "security_master_lookup", "path": "/v2/read/mcp-tool" }, { "name": "security_master_dataset", "path": "/v2/datasets/security-master" }, { "name": "security_lookup", "path": "/v2/securities/{ticker}" } ] } ], "safe_usage_notes": [ "not_investment_advice", "official_first_source_policy", "active_snapshot_only" ], "available_tools_or_endpoints": [ { "name": "security_master_lookup", "path": "/v2/read/mcp-tool" }, { "name": "security_master_dataset", "path": "/v2/datasets/security-master" }, { "name": "security_lookup", "path": "/v2/securities/{ticker}" } ]}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/security-master?symbol=2330" \ -H "X-API-Key: sk_live_..."| Parameter | Required | Type | Description |
|---|---|---|---|
symbol | No | string | Ticker to filter to a single security. |
limit | No | integer | Maximum rows to return. |
A first call:
import requests resp = requests.get( "https://api.twmarketdata.com/v2/datasets/security-master", params={"symbol": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json()["items"])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/security-master", params={"symbol": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()for row in resp.json()["items"]: print(row)This endpoint is GET /v2/datasets/security-master. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.