Building an AI agent? Start with /llms.txt for the full site index.
Market Structure & Reference
Company industry exposures
Company industry exposures
GET /v2/datasets/company-industry-exposuresCompany industry exposures is a Taiwan market dataset sourced from TWMD, served by TW Market Data as GET /v2/datasets/company-industry-exposures.
Overview
Company industry exposures — the backend metadata exposes no grain, so none is stated here.
| Field | Type | Description |
|---|---|---|
ticker | string | |
company_name | string | |
market | string | |
exchange | string | |
industry | string | |
industry_code | string | |
sub_industry | null | |
exposure_type | string | |
exposure_weight | number | |
evidence_tier | string | |
confidence_score | number |
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.
{ "dataset_id": "company_industry_exposures", "request_context": { "scope": "tw_listed_company_industry_exposure", "coverage_type": "current_state_reference", "filters": { "ticker": "5236", "market": null, "industry": null, "limit": 50 } }, "quality": { "row_count": 1, "ticker_count": 1, "rows_exceed_tickers": false, "sensitive_fields_exposed": false }, "lineage": { "sources": [ "twse_t187ap03_L" ], "versions": [ "company_industry_exposure_official_t187ap03_v1" ], "semantics": "Which industries each listed company is exposed to and by how much, with the evidence tier and confidence behind each claim. A CURRENT-STATE reference surface: refreshes bump exposure_version rather than adding a dated row." }, "error": null, "data": [ { "ticker": "5236", "company_name": "<Chinese value - see the zh page>", "market": "TWSE", "exchange": "listed", "industry": "24", "industry_code": "24", "sub_industry": null, "exposure_type": "official_industry_classification", "exposure_weight": 1, "evidence_tier": "official-source-backed", "confidence_score": 1, "source_name": "twse_t187ap03_L", "source_url": "https://openapi.twse.com.tw/v1/opendata/t187ap03_L", "exposure_version": "company_industry_exposure_official_t187ap03_v1" } ], "data_count": 1, "known_gaps": [ "exposure_weight_is_a_claimed_share_not_an_audited_revenue_split", "evidence_tier_and_confidence_score_qualify_each_row_read_them_before_using_the_weight", "current_state_snapshot_not_a_time_series_there_is_no_history_to_range_over" ], "warnings": [ "not_investment_advice" ], "envelope": { "dataset_id": "company_industry_exposures", "scope": "tw_listed_company_industry_exposure", "row_count": 1 }}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_urlexposure_versionRelated 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.
- Company peer groups
Joins on market + ticker
- Industry Value-Chain Membership
Joins on market + ticker
- Issuer classification
Joins on market + ticker
- Issuer profile
Joins on market + ticker
- Company news
Joins on market + ticker
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/company-industry-exposures?symbol=2330" \ -H "X-API-Key: sk_live_..."Filtering
| Parameter | Required | Type | Description |
|---|---|---|---|
symbol | No | string | Ticker to filter to a single security. |
limit | No | integer | Maximum rows to return. |
Python
A first call:
import requests resp = requests.get( "https://api.twmarketdata.com/v2/datasets/company-industry-exposures", 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/company-industry-exposures", 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/company-industry-exposures. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.
Notes & limitations
- Industry exposure is a derived entity-attribute snapshot of the present: the table has no date column and cannot be replayed to a past date. Today's classification does not describe any historical point in time, so as_of is refused rather than answered from today's view.