Taiwan Board Directors API (董監事・獨立董事兼任) avatar

Taiwan Board Directors API (董監事・獨立董事兼任)

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Taiwan Board Directors API (董監事・獨立董事兼任)

Taiwan Board Directors API (董監事・獨立董事兼任)

Every independent director of 2,200 Taiwan companies (8,100+) with current jobs, career and every other board seat, linked to that company's stock code — plus board rosters, chair/CEO duality, director elections. Official MOPS data, cross-checked.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

chris

chris

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Taiwan Board Directors API (董監事・獨立董事兼任・董事會網絡)

Who sits on whose board in Taiwan? This Actor returns every independent director of every Taiwan public company — listed, OTC, emerging and public-but-untraded — with their current jobs, career history and every other board seat they hold, linked to that company's stock code. Alongside it: the full board roster of every listed and OTC company, whether the chair is also the CEO, this year's director elections candidate by candidate, the shareholder-proposal window before each AGM, the 10% shareholders, and the boards that hold fewer shares than the law requires.

That is the raw material for an interlocking-directorate graph: 8,129 independent directors at 2,204 companies, holding 12,406 other board seats between them (2026-10-03). Taiwan publishes all of it officially, but only as an HTML report and as an open-data copy that loses most of the companies (see Why not just use the open data?). This Actor reads the original and checks it against the copy.

Output

Seven record types in one dataset, told apart by record_type. Real rows:

independent_director — one per independent director, all four boards (獨立董事現職、經歷及兼任情形彙總表)

{
"record_type": "independent_director",
"market": "TWSE",
"retrieved_on": "2026-10-03",
"company_code": "1101",
"company_name": "台泥",
"title": "獨立董事",
"person_name": "王金山",
"appointed_on": "2024-05-21",
"current_positions": ["國巨(股)公司 董事", "永豐餘投資控股(股)公司 董事", "富林塑膠工業(開曼)控股(股)公司 獨立董事", "台灣航業(股)公司 獨立董事", "達新工程(股)公司 獨立董事"],
"experience": ["勤業眾信聯合會計師事務所副董事長", "中華民國會計師公會全國聯合會常務理事", "奇力新電子(股)公司 董事", "鈺緯科技開發(股)公司 監察人"],
"other_board_seats": [
{"company_name": "國巨(股)公司", "title": "法人董事代表人", "company_code": "2327", "company_market": "TWSE"},
{"company_name": "永豐餘投資控股(股)公司", "title": "法人董事代表人", "company_code": "1907", "company_market": "TWSE"},
{"company_name": "富林塑膠工業(開曼)控股(股)公司", "title": "獨立董事", "company_code": "1341", "company_market": "TWSE"},
{"company_name": "台灣航業(股)公司", "title": "獨立董事", "company_code": "2617", "company_market": "TWSE"},
{"company_name": "達新工程(股)公司", "title": "獨立董事", "company_code": null, "company_market": null}
],
"other_board_seat_count": 5,
"note": null
}

The last seat is left unlinked on purpose: the filing says 達新工程, the register says 達欣工程 (2535). The Actor matches legal names exactly and does not guess at typos — board_member with personNames: ["王金山"] confirms the seat at 2535.

board_member — every director seat of every TWSE and TPEX company: name, title, date appointed (董監事名單, ~17,500 rows)

{
"record_type": "board_member",
"market": "TWSE",
"issued_on": "2026-10-02",
"company_code": "1101",
"company_name": "台泥",
"seat_no": 1,
"title": "法人董事代表人",
"person_name": "王伯元",
"appointed_on": "2024-05-21",
"is_independent": false
}

chair_ceo — chair, CEO, and whether they are one person (董事長是否兼任總經理; 445 of 1,987 companies say yes)

{"record_type": "chair_ceo", "market": "TWSE", "issued_on": "2026-10-02", "company_code": "1101", "company_name": "台泥", "chair_name": "張安平", "ceo_name": "程耀輝", "chair_is_also_ceo": false}

director_election — this year's director elections: cumulative voting, nomination window and venue, every candidate and whether they were elected (~7,200 rows)

{"record_type": "director_election", "market": "TWSE", "company_code": "1102", "company_name": "亞泥", "meeting_type": "annual", "meeting_date": "2026-05-28", "elects_directors": true, "election_method": "累積投票制", "uses_candidate_nomination": true, "nomination_start": "2026-03-21", "nomination_end": "2026-03-30", "candidate_category": "董事", "candidate_name": "吳玲綾", "elected": true, "elected_raw": "是"}

shareholder_proposal — the window for shareholder proposals under Company Act §172-1, and the proposal itself where one was filed

{"record_type": "shareholder_proposal", "market": "TWSE", "company_code": "1416", "company_name": "廣豐", "meeting_date": "2026-05-22", "proposal_window_start": "2026-03-13", "proposal_window_end": "2026-03-23", "proposal_text": "依公司法第172-1條行使權利,提案更改股息由公司公告0.57元變更為0.8元"}

major_shareholder — shareholders above 10% (持股逾10%大股東; names only — the source gives no percentage)

holding_shortfall — boards holding fewer shares than the statutory minimum, with the shortfall and how many months in a row (董監持股不足法定成數)

{"record_type": "holding_shortfall", "market": "TWSE", "issued_on": "2026-08-19", "company_code": "2515", "company_name": "中工", "issued_shares": 1688460079, "directors_required_shares": 40523041, "directors_own_shares": 20166520, "directors_representative_shares": 0, "directors_trust_shares": 0, "directors_shortfall_shares": 20356521, "directors_exclude_independent": false, "consecutive_months_short": 3}

Use cases

  • Interlocking directorates — build the graph of companies that share directors: each other_board_seats[].company_code is an edge.
  • Busy directors — minOtherSeats: 5 lists the independent directors stretched across five or more other boards. The record holder sits on 53.
  • Independence screening — an "independent" director who is also a corporate representative on a related company's board shows up in their seat list.
  • KYC and due diligence — personNames returns every board a person sits on, across all four boards.
  • Governance factors — chair/CEO duality, board size, independent-director share, holding shortfalls, all per company.
  • AGM season — nomination and proposal windows tell you when shareholders can act.

Why not just use the open data?

The exchanges publish an open-data copy of the independent-director report (t187ap30). It is the obvious source, and it is broken in a way that does not show:

  • When a director holds more than one other seat, only the first flattened row keeps the other company's name. Every later row carries the director's own appointment date in the company column. On the 2026-10-02 TWSE issue, 4,371 of 6,663 seat rows had a date where the company should be, and 1,097 more had nothing. The titles survive; the companies do not.
  • The open data has no 獨立董事之法人代表人 in its vocabulary — those seats come through blank or not at all.
  • Names carry raw HTML entities (蘇艶雪, 陳威宇 ) and CJK compatibility ideographs, so the same person does not string-match across reports.

So the seats are read from the original MOPS report, and the open data is used for what it does get right: the full board roster (non-independent directors are only there), and a second, independent rendering of the same filing to check the MOPS parse against.

Verification

Every run (with crossCheck on, the default) compares each independent director's seat titles, in order, between MOPS and the open data. On 2026-10-03: TWSE 3,966 of 3,966 directors and TPEX 3,368 of 3,368 identical once the two known gaps above are allowed for. The run fails if more than 2% disagree, or if under 90% of MOPS' directors can be found in the open data at all — the sign of a name or date read from the wrong column.

The MOPS parse itself refuses a page whose header has changed, or whose rowspans do not add up to the seat rows that follow — a short page is never read as a shorter list of directors.

holding_shortfall satisfies shortfall = required − held − via representatives − in trust exactly, for directors and supervisors, on every row (27 of 27 on the 2026-08 issue); a breach fails the run. Every company the months-short table (t187ap10) names is also on the shortfall list.

Traps in the source that this Actor handles

  • Seats lost in the open data — read from MOPS instead (above).
  • TPEX's months-short table still has 2018 column headers (107/10-12連續不足達4個月) — columns are matched on their tail, not their full text.
  • TPEX computes directors' required holdings without independent directors, TWSE does not — the column names say so, and directors_exclude_independent carries it.
  • Two exchanges, two column vocabularies (公司代號 vs SecuritiesCompanyCode, 姓名 vs Name, 提案內容 vs 股東提案內容) — mapped explicitly; an unknown column fails the run.
  • TPEX's server cuts large responses short — downloads resume with HTTP Range and are checked against the promised length.
  • CEO names are filed as written — TSMC files 總裁: 魏哲家 and answers 未兼任, so chair_is_also_ceo is the company's own answer, not a string comparison.

Input

FieldDefaultWhat it does
recordTypes["independent_director"]Any of the seven record types
marketsall fourTWSE, TPEX, EMERGING, PUBLIC. Only independent_director covers EMERGING and PUBLIC
stockCodesalle.g. ["2330", "1101"]
personNamesnoneSubstring match on the name as filed, e.g. ["王金山"]
minOtherSeats0Keep independent directors with at least this many other seats
linkSeatCompaniestrueAttach company_code to each seat from the official company registers
crossChecktrueCompare MOPS with the open data and fail on disagreement
useApifyProxyfalseOnly if the exchanges start refusing the platform's addresses

A full run of every record type is about 36,000 rows in under a minute from Taiwan; the default (independent directors only) is about 8,100.

Limitations, stated plainly

  • Snapshot, no history. MOPS and the open data publish the current board only; there is no date parameter. Run it on a schedule to build history.
  • 55.6% of seats link to a stock code. The rest are mostly private companies — holding companies, investment vehicles, subsidiaries — which have no security code to link to. A filer's typo also stays unlinked rather than being guessed at.
  • Names are as filed. Two different people with the same name are not told apart; neither does the source. Combine name with company and appointment date.
  • MOPS lists two people twice (3218 劉文龍, 6419 何國華 on TPEX, 2026-10-03) — both rows are kept as filed.
  • Independent supervisors (獨立監察人) appear in board_member but not in independent_director: the MOPS report covers independent directors only.
  • Emerging and public companies have independent_director only; the exchanges do not publish the other reports for them.

Source

  • MOPS 公開資訊觀測站 — 獨立董事現職、經歷及兼任情形彙總表 (t93sc01_1, TYPEK sii / otc / rotc / pub)
  • TWSE open data openapi.twse.com.tw/v1/opendata/t187ap30_L, t187ap33_L, t187ap34_L, t187ap35_L, t187ap02_L, t187ap08_L, t187ap10_L, t187ap03_L, t187ap03_P
  • TPEx open data www.tpex.org.tw/openapi/v1/mopsfin_t187ap30_O … t187ap10_O, t187ap03_O, t187ap03_R

Directors' names are published by the exchanges as statutory corporate-governance disclosure; this Actor passes them through as published.

Taiwan Market Data Suite

This Actor is part of a suite of 44 Taiwan market data APIs by chamarix — official sources only, cross-validated against independent official endpoints, clean JSON out. Code samples for the whole suite: GitHub.

Market data:

Property market:

Government & civic data: