AI agent?先讀 /llms.txt 取得全站索引。
籌碼與資金
每檔股票依持股級距的股權分散情形,來源為官方集保結算所(TDCC)股權分散表——各級距的股東人數與股數。
GET /v2/datasets/ownership-distributionownership-distribution 以官方 TDCC 股權分散表為源,每個資料日每檔股票每個持股級距回傳一列,呈現各級距的股東人數與股數。以每週頻率發布;每列附來源角色,級距數字可回溯 TDCC 發布。
| 欄位 | 型別 | 說明 |
|---|---|---|
symbol | string | 股票代碼。 |
data_date | string | 股權分散基準日(每週)。 |
holding_tier | string | 持股級距(股數區間)。 |
holders | number | 該級距股東人數。 |
shares | number | 該級距持有股數。 |
source_role | string | 正規來源角色(official_tdcc_shareholding_distribution)。 |
| 列數 | 33,626 |
| 涵蓋起訖 | 2026-05-29(單日快照) |
| 分級 | 已驗證 |
此為本端點的真實回應。資料列位於 "data" 之下,來源資訊如下方所示;各資料集形狀不盡相同,請以本頁為準。
{ "api_version": "v2", "endpoint": "/v2/datasets/ownership-distribution", "request_id": "req_375fb93dc782", "plan_id": "enterprise", "dataset": "ownership_distribution", "dataset_id": "ownership_distribution", "request_context": { "ticker": "2330", "as_of_date": "2026-05-29", "family": "chip_deep", "field_group_type": "derived", "dataset_view": "tdcc_v1_mapped_company_only_latest_snapshot", "known_gaps": [ "mapped_company_only_latest_snapshot", "latest_snapshot_only", "no_full_tdcc_universe_claim" ], "scope": "mapped-company-only", "coverage_type": "latest_snapshot", "dataset_id": "ownership_distribution", "report_date": "2026-05-29", "included_tickers": 1978, "excluded_tickers": 2004, "excluded_rows": 34068 }, "quality": { "freshness_state": "fresh", "freshness_as_of": "2026-05-29", "completeness_ratio": 1, "quality_status": "ready" }, "lineage": { "source_role": "canonical", "selected_source": "tdcc_shareholding_distribution_items", "fallback_chain": [], "policy_notes": [ "tdcc_v1_mapped_company_only_latest_snapshot", "contract-aligned filters: ticker/report_date/start_date/end_date/market/holder_bucket", "no_full_tdcc_coverage_claim" ] }, "error": { "error_code": null, "error_message": null, "dataset": "ownership_distribution", "request_id": "read-api-a653800fb418", "blocking_gate": null }, "data": [ { "security_identity": { "ticker": "2330", "market": "TWSE" }, "snapshot_context": { "report_date": "2026-05-29", "scope": "mapped-company-only", "coverage_type": "latest_snapshot" }, "distribution_bucket": { "holding_bucket": "TDCC_01", "holder_count": 2149965, "shares": 254881810, "holding_ratio": 0.0098 }, "source_lineage": { "source_provider": "tdcc_official", "source_role": "shareholding_distribution", "source_family": "dataset_1_5", "lineage": { "source_url": "https://smart.tdcc.com.tw/opendata/getOD.ashx?id=1-5", "report_date": "2026-05-29", "product_scope": "mapped_company_only_latest_snapshot_v1", "market_mapping_policy": "official_issuer_profile_union_only", "market_enrichment_sources": [ "https://openapi.twse.com.tw/v1/opendata/t187ap03_L", "https://www.tpex.org.tw/openapi/v1/mopsfin_t187ap03_O" ] } }, "data_gaps": [ "mapped_company_only_latest_snapshot", "excludes_etf_fund_preferred_emerging_unknown_unresolved", "not_full_tdcc_coverage" ], "safe_usage_notes": [ "latest_snapshot_only", "mapped_company_only_scope", "not_full_tdcc_coverage" ], "not_investment_advice": true, "available_tools_or_endpoints": { "dataset_endpoint": "/v2/datasets/ownership-distribution", "lookup_hint": "ticker=2330&market=TWSE", "scope_note": "tdcc_v1_mapped_company_only_latest_snapshot" } }, { "security_identity": { "ticker": "2330", "market": "TWSE" }, "snapshot_context": { "report_date": "2026-05-29", "scope": "mapped-company-only", "coverage_type": "latest_snapshot" }, "distribution_bucket": { "holding_bucket": "TDCC_02", "holder_count": 421963, "shares": 806563397, "holding_ratio": 0.0311 }, "source_lineage": { "source_provider": "tdcc_official", "source_role": "shareholding_distribution", "source_family": "dataset_1_5", "lineage": { "source_url": "https://smart.tdcc.com.tw/opendata/getOD.ashx?id=1-5", "report_date": "2026-05-29", "product_scope": "mapped_company_only_latest_snapshot_v1", "market_mapping_policy": "official_issuer_profile_union_only", "market_enrichment_sources": [ "https://openapi.twse.com.tw/v1/opendata/t187ap03_L", "https://www.tpex.org.tw/openapi/v1/mopsfin_t187ap03_O" ] } }, "data_gaps": [ "mapped_company_only_latest_snapshot", "excludes_etf_fund_preferred_emerging_unknown_unresolved", "not_full_tdcc_coverage" ], "safe_usage_notes": [ "latest_snapshot_only", "mapped_company_only_scope", "not_full_tdcc_coverage" ], "not_investment_advice": true, "available_tools_or_endpoints": { "dataset_endpoint": "/v2/datasets/ownership-distribution", "lookup_hint": "ticker=2330&market=TWSE", "scope_note": "tdcc_v1_mapped_company_only_latest_snapshot" } } ], "data_count": 17, "known_gaps": [ "mapped_company_only_latest_snapshot", "latest_snapshot_only", "no_full_tdcc_universe_claim" ], "data_gaps": [ "mapped_company_only_latest_snapshot", "latest_snapshot_only", "no_full_tdcc_universe_claim" ], "query": { "symbol": "2330", "report_date": null, "as_of_date": null, "start_date": null, "end_date": null, "market": null, "holder_bucket": null, "limit": 50, "legacy_aliases_used": { "ticker": false, "date_from": false, "date_to": false, "bucket": false, "offset": false, "sort_by": false, "sort_order": false } }, "meta": { "rows_returned": 17, "mandatory_contract_fields_present": [ "api_version", "data", "data_as_of" ], "plan": "enterprise", "row_limit": 100000, "is_limited": false }, "envelope": { "api_version": "v2", "dataset": "ownership_distribution", "dataset_version": "v2.0.0-preview", "release_version": "v2.2026-05-29.preview", "release_date": "2026-05-29", "data_as_of": "2026-05-29", "request_context": { "ticker": "2330", "as_of_date": "2026-05-29", "family": "chip_deep", "field_group_type": "derived", "dataset_view": "tdcc_v1_mapped_company_only_latest_snapshot", "known_gaps": [ "mapped_company_only_latest_snapshot", "latest_snapshot_only", "no_full_tdcc_universe_claim" ], "scope": "mapped-company-only", "coverage_type": "latest_snapshot", "dataset_id": "ownership_distribution", "report_date": "2026-05-29", "included_tickers": 1978, "excluded_tickers": 2004, "excluded_rows": 34068 }, "data": [ { "security_identity": { "ticker": "2330", "market": "TWSE" }, "snapshot_context": { "report_date": "2026-05-29", "scope": "mapped-company-only", "coverage_type": "latest_snapshot" }, "distribution_bucket": { "holding_bucket": "TDCC_01", "holder_count": 2149965, "shares": 254881810, "holding_ratio": 0.0098 }, "source_lineage": { "source_provider": "tdcc_official", "source_role": "shareholding_distribution", "source_family": "dataset_1_5", "lineage": { "source_url": "https://smart.tdcc.com.tw/opendata/getOD.ashx?id=1-5", "report_date": "2026-05-29", "product_scope": "mapped_company_only_latest_snapshot_v1", "market_mapping_policy": "official_issuer_profile_union_only", "market_enrichment_sources": [ "https://openapi.twse.com.tw/v1/opendata/t187ap03_L", "https://www.tpex.org.tw/openapi/v1/mopsfin_t187ap03_O" ] } }, "data_gaps": [ "mapped_company_only_latest_snapshot", "excludes_etf_fund_preferred_emerging_unknown_unresolved", "not_full_tdcc_coverage" ], "safe_usage_notes": [ "latest_snapshot_only", "mapped_company_only_scope", "not_full_tdcc_coverage" ], "not_investment_advice": true, "available_tools_or_endpoints": { "dataset_endpoint": "/v2/datasets/ownership-distribution", "lookup_hint": "ticker=2330&market=TWSE", "scope_note": "tdcc_v1_mapped_company_only_latest_snapshot" } }, { "security_identity": { "ticker": "2330", "market": "TWSE" }, "snapshot_context": { "report_date": "2026-05-29", "scope": "mapped-company-only", "coverage_type": "latest_snapshot" }, "distribution_bucket": { "holding_bucket": "TDCC_02", "holder_count": 421963, "shares": 806563397, "holding_ratio": 0.0311 }, "source_lineage": { "source_provider": "tdcc_official", "source_role": "shareholding_distribution", "source_family": "dataset_1_5", "lineage": { "source_url": "https://smart.tdcc.com.tw/opendata/getOD.ashx?id=1-5", "report_date": "2026-05-29", "product_scope": "mapped_company_only_latest_snapshot_v1", "market_mapping_policy": "official_issuer_profile_union_only", "market_enrichment_sources": [ "https://openapi.twse.com.tw/v1/opendata/t187ap03_L", "https://www.tpex.org.tw/openapi/v1/mopsfin_t187ap03_O" ] } }, "data_gaps": [ "mapped_company_only_latest_snapshot", "excludes_etf_fund_preferred_emerging_unknown_unresolved", "not_full_tdcc_coverage" ], "safe_usage_notes": [ "latest_snapshot_only", "mapped_company_only_scope", "not_full_tdcc_coverage" ], "not_investment_advice": true, "available_tools_or_endpoints": { "dataset_endpoint": "/v2/datasets/ownership-distribution", "lookup_hint": "ticker=2330&market=TWSE", "scope_note": "tdcc_v1_mapped_company_only_latest_snapshot" } } ], "quality": { "freshness_state": "fresh", "freshness_as_of": "2026-05-29", "completeness_ratio": 1, "quality_status": "ready" }, "lineage": { "source_role": "canonical", "selected_source": "tdcc_shareholding_distribution_items", "fallback_chain": [], "policy_notes": [ "tdcc_v1_mapped_company_only_latest_snapshot", "contract-aligned filters: ticker/report_date/start_date/end_date/market/holder_bucket", "no_full_tdcc_coverage_claim" ] }, "error": { "error_code": null, "error_message": null, "dataset": "ownership_distribution", "request_id": "read-api-a653800fb418", "blocking_gate": null }, "dataset_id": "ownership_distribution", "dataset_label_zh": "集保股權分散資料", "dataset_label_en": "TDCC Shareholding Distribution", "report_date": "2026-05-29", "scope": "mapped-company-only", "coverage_type": "latest_snapshot", "row_count": 17, "included_tickers": 1978, "excluded_tickers": 2004, "excluded_rows": 34068, "known_gaps": [ "mapped_company_only_latest_snapshot", "latest_snapshot_only", "no_full_tdcc_universe_claim" ] }}擷取自 2026-07-20 的線上 API。
本頁顯示原始中文值;英文頁會以標記取代,以維持全英文。
curl "https://api.twmarketdata.com/v2/datasets/ownership-distribution?ticker=2330" \ -H "X-API-Key: sk_live_..."| 參數 | 必填 | 型別 | 說明 |
|---|---|---|---|
symbol | 是 | string | 股票代碼,例如 2330。 |
start_date | 否 | string (YYYY-MM-DD) | 查詢起始日期。 |
end_date | 否 | string (YYYY-MM-DD) | 查詢結束日期。 |
limit | 否 | integer | 回傳筆數上限。 |
第一個呼叫:
import requests resp = requests.get( "https://api.twmarketdata.com/v2/datasets/ownership-distribution", params={"ticker": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json()["data"])帶日期區間篩選:
import requests # The full verified example — the same call with every supported filter set.resp = requests.get( "https://api.twmarketdata.com/v2/datasets/ownership-distribution", params={"ticker": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()for row in resp.json()["data"]: print(row)此端點為 GET /v2/datasets/ownership-distribution。完整機器可讀 schema(參數、認證、回應封裝)見 OpenAPI spec。