TW Market Data LogoTW Market Data

Core data

Market & prices

TWSE / TPEx daily bars, adjusted prices, indices, and market breadth

Financials & growth

Monthly revenue, the three financial statements, financial metrics, and valuation data

Flows & positioning

Institutional investors and margin & short-selling data

Company & structure

Company & events

Company profiles, disclosures, events, corporate actions, and dividends

Taxonomy & structure

Theme taxonomy, index classification, and cross-dataset mapping

Strategy & quant

Features, factor data, time alignment, and screener

Platform capabilities

API access

REST API, authentication, and your first request

Query & tools

Search API, Query API, field lists, and query examples

Tools / MCP

Agent workflows, MCP tools, and the OpenAPI entry point

PricingDocsBlog
中文Dashboard

TW Market Data (TWMD) provides historical data and statistics, not investment advice; investment decisions and their risks are your own.

Privacy Policy|Terms of Service|Help Center||中文|TW Market Data © 2026

Documentation

DASHBOARD

DashboardPricing

FOR AI AGENTS

MCP Serverllms.txtTool manifestOpenAPI SpecAgent workflow examples
WebhooksBuilding

OVERVIEW

OverviewQuick startAuthenticationSource policyData gradesData lineageMarket coverage

DATA APIS

Institutional flowSecurities lendingInsider & director holdingsOwnership distributionInstitutional flow (market aggregate)Enhanced margin & shortDay-trading suspensionMargin & shortTotal margin & shortChip flows

GUIDES

How to get the 3 financial statementsHow to read institutional flowsHow to check market statusHow to wire a strategy / AI agent

SDKS

Release statusPython SDKJavaScript / TypeScript SDK

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

Capital Flows

Chip flows

Coming soon — a combined chip-flow view per stock per trading day. The aggregation pipeline is still being built, so this dataset does not return rows yet.

BuildingSource: TWSE·Plan: pro·Cost: 3 credits·GET /v2/datasets/chip-flows

Overview

chip-flows is being built: it will combine the official TWSE institutional flows and margin trading balances into a single per-stock daily view of who is accumulating or distributing. The aggregation ETL is not live yet, so the endpoint currently returns no rows — the fields below are the planned schema, not a served response. It will move off "Building" once the pipeline backfills.

FieldTypeDescription
symbolstringTicker.
datestringTrading date.
institutional_netnumberCombined three-investor net for the stock (shares).
margin_changenumberDay-over-day change in margin balance (shares).
short_changenumberDay-over-day change in short balance (shares).
source_rolestringCanonical source role (derived_twse_chip_flows).

Coverage

TODO — exact row / symbol counts and the coverage window are pending a measured snapshot; the indicators are computed from the official TWSE institutional-flow (T86) and margin trading reports (present through the latest trading day). No counts are shown rather than fabricated ones.

Example response

TODO — no real response has been captured for this dataset yet. It needs an entitled API key, or its required parameters are not yet known. Rather than show an example nobody has observed, this section stays empty.

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 returned payload.
curl "https://api.twmarketdata.com/v2/datasets/chip-flows?symbol=2330" \  -H "X-API-Key: sk_live_..."

Filtering

ParameterRequiredTypeDescription
symbolYesstringTicker, e.g. 2330.
start_dateNostring (YYYY-MM-DD)Start of the query range.
end_dateNostring (YYYY-MM-DD)End of the query range.
limitNointegerMaximum rows to return.

Python

A first call:

import requests resp = requests.get(    "https://api.twmarketdata.com/v2/datasets/chip-flows",    params={"symbol": "2330"},    headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json())

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/chip-flows",    params={"symbol": "2330"},    headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json())

OpenAPI

This endpoint is GET /v2/datasets/chip-flows. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.

Notes & limitations

  • Derived, not disclosed: every figure is computed from the official institutional-flow and margin data, so it inherits their partial coverage and any upstream is_placeholder rows.

Request & Response

Request

curl "https://api.twmarketdata.com/v2/datasets/chip-flows?symbol=2330&start_date=2026-01-01&end_date=2026-06-30&limit=5" \  -H "X-API-Key: $TWMD_API_KEY"

Authenticate with the X-API-Key header, using a sk_live_ key issued in the dashboard.

Response

TODO — no response has been captured for this dataset yet (it needs an entitled key, or its required parameters are not yet known). No example is shown rather than an invented one.

The grade badge on this page is a documentation classification, not a response field.