Building an AI agent? Start with /llms.txt for the full site index.
Market & Prices
Index constituents — which securities belonged to each TPEx index on a given trade date. Membership only; the feed carries no weights.
GET /v2/datasets/index-constituentsIndex constituents is a Taiwan market dataset sourced from TWSE, served by TW Market Data as GET /v2/datasets/index-constituents.
index-constituents returns one row per member security, per index, per trade date, taken from the TPEx official constituent publication. The feed covers six TPEx indices and no TWSE index, and it records membership alone — there are no constituent weights in it. Each response is a snapshot rather than a change log, so a security leaving an index simply stops appearing instead of producing a removal row. Without a trade_date, each index returns its most recent snapshot.
| Field | Type | Description |
|---|---|---|
index_name | string | |
ticker | string | |
name | string | |
trade_date | string | |
market | string |
| Rows | 2,181 |
| Window | 2026-07-01 – 2026-08-21 |
| Grade | Derived |
| Measured | 2026-09-01from the dataset registry |
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.
{
"dataset_id": "index_constituents",
"request_context": {
"scope": "tw_index_membership_snapshots",
"coverage_type": "per_date_snapshot",
"filters": {
"index_name": null,
"ticker": null,
"market": null,
"trade_date": null,
"latest_only": true,
"limit": 50
},
"applied_defaults": {
"latest_snapshot_per_index": true,
"reason": "no trade_date given; returning each index's most recent membership snapshot rather than every historical snapshot combined"
},
"snapshot_dates_in_page": [
"2026-08-04"
]
},
"quality": {
"row_count": 50,
"index_count": 1,
"indices_present": [
"<Chinese value - see the zh page>"
],
"ticker_count": 50,
"sensitive_fields_exposed": false
},
"lineage": {
"source_families": [
"TPEX_INDEX_CONSTI"
],
"semantics": "Which tickers belonged to which index on a given trade_date. Membership only — no weights. Without a trade_date the response is each index's most recent snapshot."
},
"error": null,
"data": [
{
"index_name": "<Chinese value - see the zh page>",
"ticker": "1268",
"name": "<Chinese value - see the zh page>",
"trade_date": "2026-08-04",
"market": "TPEx",
"provider": "twse_official",
"source_role": "official_tpex_index_constituents",
"source_authority": "<Chinese value - see the zh page>",
"source_family": "TPEX_INDEX_CONSTI"
},
{
"index_name": "<Chinese value - see the zh page>",
"ticker": "2755",
"name": "<Chinese value - see the zh page>",
"trade_date": "2026-08-04",
"market": "TPEx",
"provider": "twse_official",
"source_role": "official_tpex_index_constituents",
"source_authority": "<Chinese value - see the zh page>",
"source_family": "TPEX_INDEX_CONSTI"
}
],
"data_count": 50,
"known_gaps": [
"per_date_membership_snapshot_not_a_change_log_a_removal_produces_no_row",
"TPEx_indices_ONLY_six_of_them_no_TWSE_index_is_in_this_feed",
"single_snapshot_2026_07_01_there_is_no_history_and_no_producer_advancing_it"
],
"warnings": [
"not_investment_advice"
],
"envelope": {
"dataset_id": "index_constituents",
"scope": "tw_index_membership_snapshots",
"row_count": 50
}
}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.
These columns are returned alongside the data and record where the row came from. They are provenance, not the dataset's subject matter, so they are listed here rather than in the field table.
providersource_rolesource_authoritysource_familyPart of the data in this service is obtained from the Government Open Data Platform (data.gov.tw) and used under the Open Government Data License, version 1.0. Providing agencies: Taiwan Stock Exchange, Taipei Exchange, Taiwan Futures Exchange, Taiwan Depository & Clearing Corporation, National Development Council, Central Bank of the Republic of China (Taiwan), Department of Statistics of the Ministry of Economic Affairs, and Customs Administration of the Ministry of Finance. The value-added processing, derived calculations and presentation in this service are the responsibility of TWMD and are not associated with the providing agencies.
TW Market Data. (n.d.). Index constituents [Data set]. TW Market Data. Retrieved 2026-09-05, from https://twmarketdata.com/en/docs/api/market-prices/index-constituents
The version is the dataset's own as_of, not the date this page was built. Where we have no as_of the field is left out rather than filled in. Check a signature
Datasets that join with this one. The key each pair aligns on is shown, so you can plan a multi-table query without guessing.
Joins on market + ticker + trade_date
Joins on market + ticker + trade_date
Joins on market + ticker + trade_date
Joins on market + ticker + trade_date
Joins on market + ticker + trade_date
Joins on ticker + trade_date
Joins on ticker + trade_date
curl "https://api.twmarketdata.com/v2/datasets/index-constituents?ticker=1268&market=TPEx&limit=5" \
-H "X-API-Key: sk_live_..."| Parameter | Required | Type | Description |
|---|---|---|---|
index_name | No | string | Index name as TPEx publishes it. The values are Chinese-only; call without filters and read index_name off the rows to get the six. |
ticker | No | string | Constituent ticker; returns every index that ticker belongs to. |
market | No | string | Market. TPEx is the only value in this feed. |
trade_date | No | string | Snapshot date (YYYY-MM-DD). Omit it and each index returns its most recent snapshot. |
latest_only | No | boolean | Defaults to true. Set false to reach earlier snapshots. |
limit | No | integer | Maximum rows to return. |
import requests
resp = requests.get(
"https://api.twmarketdata.com/v2/datasets/index-constituents",
params={"ticker": "1268", "market": "TPEx", "limit": "5"},
headers={"X-API-Key": "sk_live_..."},
)
resp.raise_for_status()
print(resp.json()["data"])This endpoint is GET /v2/datasets/index-constituents. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.