Building an AI agent? Start with /llms.txt for the full site index.
Capital Flows
Daily net buy/sell by the three major institutional investor groups on TWSE, from the official T86 report.
GET /v2/datasets/institutional-flowinstitutional-flow returns one row per stock per trading day with foreign, investment-trust and dealer flows, sourced from TWSE T86. Rows carry their source role so the number is traceable to the official report.
| Field | Type | Description |
|---|---|---|
symbol | string | Ticker. |
date | string | Trading date. |
foreign_net | number | Foreign investor net (shares). |
trust_net | number | Investment-trust net (shares). |
dealer_net | number | Dealer net (shares). |
source_role | string | official_twse_t86. |
| Rows | 11,744,999 |
| Window | 2012-05-02 – 2026-07-17 |
| Grade | Verified |
A real response from this endpoint. Rows are returned under "rows", 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": "institutional_flow", "rows": [ { "market": "TWSE", "foreign_buy": null, "foreign_sell": null, "investment_trust_buy": null, "investment_trust_sell": null, "dealer_buy": null, "dealer_sell": null, "foreign_holding_ratio": null, "institutional_participation_ratio": null, "provider": "twse_official", "source_role": "official_twse_t86", "lineage": { "row_index": 1317, "source_hash": "f14371bed1a88a8714924ba6122d36fd11429f8663e4d4c73501ed226878c382", "payload_date": "20260717", "request_date": "2026-07-17", "endpoint_name": "T86", "source_authority": "TWSE T86" }, "updated_at": "2026-07-17T17:34:55.593720", "universe_class": "common_stock", "is_common_universe": true, "symbol": "2330", "as_of_date": "2026-07-17", "date": "2026-07-17", "foreign_net_buy_sell": -44183964, "investment_trust_net_buy_sell": 1488520, "dealer_net_buy_sell": 2759348, "total_institutional_net_buy_sell": -39936096 }, { "market": "TWSE", "foreign_buy": null, "foreign_sell": null, "investment_trust_buy": null, "investment_trust_sell": null, "dealer_buy": null, "dealer_sell": null, "foreign_holding_ratio": null, "institutional_participation_ratio": null, "provider": "twse_official", "source_role": "official_twse_t86", "lineage": { "row_index": 1273, "source_hash": "edadfac40097e48752713d46f70e7596c77b694bdf412ab096f6373c140ac106", "payload_date": "20260716", "request_date": "2026-07-16", "endpoint_name": "T86", "source_authority": "TWSE T86" }, "updated_at": "2026-07-17T17:34:55.593720", "universe_class": "common_stock", "is_common_universe": true, "symbol": "2330", "as_of_date": "2026-07-16", "date": "2026-07-16", "foreign_net_buy_sell": -4214736, "investment_trust_net_buy_sell": 528374, "dealer_net_buy_sell": 1061380, "total_institutional_net_buy_sell": -2624982 } ], "count": 50}Captured from the live API on 2026-07-20.
curl "https://api.twmarketdata.com/v2/datasets/institutional-flow?symbol=2330&start_date=2026-06-01&end_date=2026-07-15&limit=5" \ -H "X-API-Key: sk_live_..."| 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. |
A first call:
import requests resp = requests.get( "https://api.twmarketdata.com/v2/datasets/institutional-flow", params={"symbol": "2330", "limit": "5"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json()["rows"])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/institutional-flow", params={"symbol": "2330", "start_date": "2026-06-01", "end_date": "2026-07-15", "limit": "5"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()for row in resp.json()["rows"]: print(row)This endpoint is GET /v2/datasets/institutional-flow. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.