Building an AI agent? Start with /llms.txt for the full site index.
Market & Prices
Industry index (daily)
Industry index (daily)
GET /v2/datasets/industry-index-dailyIndustry index (daily) is a Taiwan market dataset sourced from TWSE, served by TW Market Data as GET /v2/datasets/industry-index-daily.
Overview
Industry index (daily) — the backend metadata exposes no grain, so none is stated here.
| Field | Type | Description |
|---|---|---|
date | string | |
market | string | |
industry_name | string | |
index_value | number | |
change | number | |
change_direction | string | |
change_pct | number | |
turnover | null | |
turnover_coverage_status | string | |
index_version | string |
Example response
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": "industry_index_daily", "dataset_version": "v2.0.0-preview", "release_version": "v2.2026-08-05.preview", "release_date": "2026-08-05", "data_as_of": "2026-08-05", "request_context": { "ticker": "TWSE", "as_of_date": "2026-08-05", "family": "market_technical", "field_group_type": "canonical", "dataset_view": "industry_index_daily_v1", "scope": "twse_industry_price_index_daily", "coverage_type": "daily_industry_price_index", "supported_filter_fields": [ "market", "industry_name", "date_from" ], "market_filter": "TWSE", "industry_name_filter": null, "date_range": { "date_from": "2026-08-05", "date_to": "2026-08-05" } }, "data": [ { "date": "2026-08-05", "market": "TWSE", "industry_name": "<Chinese value - see the zh page>", "index_value": 62.05, "change": 1.83, "change_direction": "+", "change_pct": 3.04, "turnover": null, "turnover_coverage_status": "quarantined_not_in_source", "index_version": "industry_index_daily_v1", "source_name": "TWSE MI_INDEX historical industry price index", "source_url": "https://www.twse.com.tw/exchangeReport/MI_INDEX", "lineage": { "scope": "site-facing headline industries only", "endpoint": "exchangeReport/MI_INDEX", "scope_note": "the source publishes 56 price indices; only the two the public site displays are written here", "table_title": "<Chinese value - see the zh page>", "change_basis": "<Chinese value - see the zh page>", "published_name": "<Chinese value - see the zh page>", "change_pct_basis": "<Chinese value - see the zh page>" }, "not_investment_advice": true }, { "date": "2026-08-05", "market": "TWSE", "industry_name": "<Chinese value - see the zh page>", "index_value": 276.7, "change": 5.95, "change_direction": "+", "change_pct": 2.2, "turnover": null, "turnover_coverage_status": "quarantined_not_in_source", "index_version": "industry_index_daily_v1", "source_name": "TWSE MI_INDEX historical industry price index", "source_url": "https://www.twse.com.tw/exchangeReport/MI_INDEX", "lineage": { "scope": "site-facing headline industries only", "endpoint": "exchangeReport/MI_INDEX", "scope_note": "the source publishes 56 price indices; only the two the public site displays are written here", "table_title": "<Chinese value - see the zh page>", "change_basis": "<Chinese value - see the zh page>", "published_name": "<Chinese value - see the zh page>", "change_pct_basis": "<Chinese value - see the zh page>" }, "not_investment_advice": true } ], "quality": { "freshness_state": "fresh", "freshness_as_of": "2026-08-05", "completeness_ratio": 1, "quality_status": "partial", "industry_count": 37 }, "lineage": { "source_role": "canonical", "selected_source": "twse_mi_index_industry_price_index", "fallback_chain": [], "policy_notes": [ "official/public-first canonical", "TWSE MI_INDEX (exchangeReport/MI_INDEX) price indices", "site-facing headline industries only; the source publishes 56 price indices" ], "industries": [ "<Chinese value - see the zh page>", "<Chinese value - see the zh page>", "<Chinese value - see the zh page>" ] }, "error": { "error_code": null, "error_message": null, "dataset": "industry_index_daily", "request_id": "read-api-20260805", "blocking_gate": null }, "dataset_id": "industry_index_daily", "data_count": 37, "known_gaps": [ "twse_only_scope", "no_tpex_coverage", "headline_industries_only" ], "warnings": [ "not_investment_advice", "twse_only_scope", "turnover_not_in_source" ], "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.
Provenance
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.
source_namesource_urllineagenot_investment_adviceRelated datasets
Datasets that join with this one. The key each pair aligns on is shown, so you can plan a multi-table query without guessing.
- Index constituents
Joins on market + trade_date
- Limit-Up/Down Events
Joins on market + trade_date
- Price adjustment factors
Joins on market + trade_date
- Price Move Context Cards
Joins on market + trade_date
- Return index (daily)
Joins on market + trade_date
Getting started
- Put your key in the X-API-Key header.
- Add query parameters (symbol, date range, limit).
- Send the request and read the data array.
curl "https://api.twmarketdata.com/v2/datasets/industry-index-daily?symbol=2330" \ -H "X-API-Key: sk_live_..."Filtering
| 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. |
Python
A first call:
import requests resp = requests.get( "https://api.twmarketdata.com/v2/datasets/industry-index-daily", 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/industry-index-daily", params={"symbol": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()for row in resp.json()["data"]: print(row)OpenAPI
This endpoint is GET /v2/datasets/industry-index-daily. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.
Notes & limitations
- The backend registry status is `partial` and it exposes no grain or field list, so no field table is shown and no claim of complete coverage is made.