Building an AI agent? Start with /llms.txt for the full site index.

Market Structure & Reference

Issuer classification

Issuer classification

ReferenceSource: TWSE / TPEx·Plan: free·Cost: 1 credits·GET /v2/datasets/issuer-classification

Issuer classification is a Taiwan market dataset sourced from TWSE / TPEx, served by TW Market Data as GET /v2/datasets/issuer-classification.

Overview

Issuer classification — the backend metadata exposes no grain, so none is stated here.

FieldTypeDescription
tickerstring
marketstring
taxonomy_namestring
taxonomy_versionstring
class_codestring
as_of_datestring
confidencenull

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": "issuer_classification",  "request_context": {    "scope": "tw_issuer_taxonomy_classification",    "coverage_type": "current_state_reference",    "filters": {      "ticker": "1101",      "market": null,      "industry": null,      "limit": 50    }  },  "quality": {    "row_count": 4,    "ticker_count": 1,    "rows_exceed_tickers": true,    "sensitive_fields_exposed": false  },  "lineage": {    "sources": [],    "versions": [      "v1"    ],    "semantics": "Taxonomy class codes assigned to each issuer, with the taxonomy name and version that produced them. A CURRENT-STATE map: every row carries the same as_of_date, so it stamps the snapshot rather than forming a series."  },  "error": null,  "data": [    {      "ticker": "1101",      "market": "TWSE",      "taxonomy_name": "industry",      "taxonomy_version": "v1",      "class_code": "01",      "as_of_date": "2026-08-03",      "confidence": null,      "provider": "tw_feature_engine",      "source_role": "derived_theme_taxonomy"    },    {      "ticker": "1101",      "market": "TWSE",      "taxonomy_name": "industry",      "taxonomy_version": "v1",      "class_code": "01",      "as_of_date": "2026-05-30",      "confidence": null,      "provider": "tw_feature_engine",      "source_role": "derived_theme_taxonomy"    }  ],  "data_count": 4,  "known_gaps": [    "one_issuer_can_carry_several_taxonomies_so_ticker_is_not_unique_in_this_surface",    "as_of_date_is_the_snapshot_stamp_not_a_series_every_row_shares_it",    "current_state_snapshot_not_a_time_series_there_is_no_history_to_range_over"  ],  "warnings": [    "not_investment_advice"  ],  "envelope": {    "dataset_id": "issuer_classification",    "scope": "tw_issuer_taxonomy_classification",    "row_count": 4  }}

Captured from the live API on 2026-07-20.

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.

providersource_role

Getting started

  1. Put your key in the X-API-Key header.
  2. Add query parameters (symbol, date range, limit).
  3. Send the request and read the data array.
curl "https://api.twmarketdata.com/v2/datasets/issuer-classification?symbol=2330" \  -H "X-API-Key: sk_live_..."

Filtering

ParameterRequiredTypeDescription
symbolNostringTicker to filter to a single security.
limitNointegerMaximum rows to return.

Python

A first call:

import requests resp = requests.get(    "https://api.twmarketdata.com/v2/datasets/issuer-classification",    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/issuer-classification",    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/issuer-classification. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.

Notes & limitations

  • The backend metadata exposes no grain or field list, so no field table is shown. The knowledge-time field is as_of_date and the backend marks it point-in-time safe.