Building an AI agent? Start with /llms.txt for the full site index.
Companies & Events
Capital-formation events per ticker: cash capital-increase schedules (TWSE TWT48U) AND capital-reduction history — cash reduction, loss-offset, share-swap, and other — with event dates, subtypes, and ratio where disclosed. NOTE: this supersedes the prior 5-row cash-increase-only baseline. Not a forecast, not a recommendation.
GET /v2/datasets/capital-formation-eventsThis dataset is in build and not yet queryable via the API. The coverage and honest limitations below are the real database state; it moves off "Building" once serving lands (targeted 8/1).
| Field | Type | Description |
|---|---|---|
event_type | enum | cash_capital_increase_schedule | capital_reduction |
event_subtype | enum | cash/loss_offset/share_swap/other reduction |
ratio_value | ratio | NULL unless % in subject |
price_per_share | TWD | cash-increase only |
effective_date | date |
14,595 rows, 2005-01-03..2026-08-03. UPDATE from the prior private-beta baseline (which was 5 cash-increase rows only): now includes G5 HISTORY = 14,589 capital-reduction events (source mops_major_event class + TWTAUU snapshot). ratio_value is populated only where a % is literally present in the announcement subject (~0.3% of rows); rest NULL ( — never guessed). cash_amount/stock_amount largely NULL (in announcement body, not this feed).
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": "capital-formation-events", "row_count": 3, "data": [ { "ticker": "1459", "market": "TWSE", "event_date": "2026-08-03", "event_type": "capital_reduction", "event_subtype": null, "announcement_date": null, "effective_date": "2026-08-03", "ratio_value": null }, { "ticker": "1304", "market": "TW", "event_date": "2026-07-17", "event_type": "capital_reduction", "event_subtype": "capital_reduction_other", "announcement_date": "2026-07-17", "effective_date": null, "ratio_value": null }, { "ticker": "6176", "market": "TW", "event_date": "2026-07-17", "event_type": "capital_reduction", "event_subtype": "cash_reduction", "announcement_date": "2026-07-17", "effective_date": null, "ratio_value": null } ]}Captured from the live API on 2026-07-20.
curl "https://api.twmarketdata.com/v2/datasets/capital-formation-events?symbol=2330" \ -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/capital-formation-events", 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/capital-formation-events", params={"symbol": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()for row in resp.json()["data"]: print(row)This endpoint is GET /v2/datasets/capital-formation-events. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.