Taiwan Company Registry API and MCP — Capital, Directors & Business Scope
Send a unified business number (統一編號) or a link to the registry record and get the company back as structured data: name, status, registration date, address, company type, capital and shares, representative, business scope, directors, managers, branches, factories, warehouses, stock listing, trademarks and the change history.
- You send
- A Taiwan unified business number (統一編號) or the link to the registry record
- You get back
- Name, status, registration date, address, capital and shares, representative, business scope, directors, managers, factories, stock listing and change history
- Coverage
- Taiwan — entities on MOEA company registry.
- Price
- 15 pts — $15 per 1,000
- Charged only when the record resolves. A lookup that finds nothing is not billed.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| MOEA company registry directly | Open MOEA company registry and read the record | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $15 per 1,000, misses not billed | Covers Taiwan — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Identifier of this run. Keep it to trace the call. |
kind | string | Source that produced the response. |
company | string | The identifier you sent. |
company_id | string | The identifier the source resolved it to. |
human | string | Readable summary of the record in Markdown. |
machine | object | The structured result. |
machine.company | object | The company record. |
machine.company.registration_number | string | The unified business number. |
machine.company.name | string | Registered company name, in Chinese. |
machine.company.status | string | Registration status, in Chinese, for example 核准設立 (approved establishment). |
machine.company.address | string | Registered address, in Chinese. |
machine.company.url | string | Link to the registry record. |
machine.company.company_type | string | Company type, in Chinese, for example 股份有限公司 (company limited by shares). |
machine.company.incorporation_date | string | Registration date, as YYYY-MM-DD. |
machine.company.status_date | null | Date of the status. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.status_document | null | Document for the status. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.english_name | string | Company name in English. |
machine.company.trade_english_name | string | English name used in trade. |
machine.company.ownership_status | string | Ownership status, in Chinese, for example 僑外資 (overseas Chinese or foreign investment). |
machine.company.capital_total | number | Total registered capital. |
machine.company.paid_in_capital | number | Paid-in capital. |
machine.company.par_value_per_share | number | Par value per share. |
machine.company.shares_issued | number | Number of shares issued. |
machine.company.representative | string | Company representative. |
machine.company.registration_authority | string | Authority the company is registered with, in Chinese. |
machine.company.last_change_date | string | Date of the last registry change. |
machine.company.companies_registered_at_same_address | number | Number of companies registered at the same address. |
machine.company.multiple_voting_preferred_shares | string | Whether multiple-voting preferred shares exist, as written on the record (無 means none). |
machine.company.veto_preferred_shares | string | Whether veto preferred shares exist, as written on the record. |
machine.company.preferred_shareholder_director_rights | string | Preferred shareholder director rights, as written on the record. |
machine.company.labor_rights_training | null | Labor rights training notice. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.business_scope | array | Business activities, each with a registry code and a description. |
machine.company.business_scope[].code | string | Business activity code. |
machine.company.business_scope[].description | string | Business activity description, in Chinese. |
machine.company.business_scope_description | array | Free-text description of the business scope, as a list of lines. |
machine.company.dissolution_notice | null | Dissolution notice. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.other_fields | null | Other fields. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.directors_term_start | string | Start date of the current directors' term. |
machine.company.directors_term_end | string | End date of the current directors' term. |
machine.company.directors | array | Directors, with sequence, title, name, represented legal person, shares held and contribution. |
machine.company.directors[].title | string | Role, for example 董事長 (chairman). |
machine.company.directors[].represents_legal_person | null | Legal person the director represents. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.directors[].shares_held | number | Shares held by the director. |
machine.company.directors[].capital_contribution | null | Capital contribution. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.managers | array | Managers, with sequence, name and appointment date. |
machine.company.branches | array | Branch companies. Empty list in the sample. |
machine.company.branches_total | number | Number of branches. |
machine.company.factories | array | Registered factories, each with registration number, name, status and dates. |
machine.company.factories[].status | string | Factory status, in Chinese, for example 生產中 (in production). |
machine.company.factories_total | number | Total number of registered factories. |
machine.company.warehouses | array | Registered warehouses, with name and address. |
machine.company.stock_listing | object | Stock listing details: stock code, short name, industry code and market. |
machine.company.stock_listing.stock_code | string | Exchange stock code. |
machine.company.stock_listing.market | string | Market, in Chinese, for example 上市 (listed). |
machine.company.trademarks_and_patents | array | Trademarks and patents attached to the record, as a list of names. |
machine.company.self_disclosure | null | Self-disclosure entry. Empty in the sample. Null in the sample response, so the type is not shown there. |
machine.company.self_disclosure_reports | array | Self-disclosure reports. Empty list in the sample. |
machine.company.history | array | Registry change history, each with approval date, name, capital and address. |
machine.company.history_total | number | Total number of history entries. |
machine.blocked | boolean | Whether the register refused the read. False in the sample. |
machine.pages_opened | number | Number of register pages read for the run. |
machine.proxy_traffic_bytes | number | Traffic used by the run, in bytes. Informational. |
total_points | number | Points charged for the run. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "tw_company",
"company": "22099131",
"company_id": "22099131",
"human": "# Taiwan — MOEA company registry — company\n\n- **Number:** 22099131\n- **Pages opened:** 3\n- **Proxy traffic:** 662.3 KB\n- **Name:** 台灣積體電路製造股份有限公司\n- **Status:** 核准設立\n- **Type:** 股份有限公司\n- **Registered:** 1987-02-21\n- **Address:** 新竹科學園區新竹市力行六路8號",
"machine": {
"company": {
"registration_number": "22099131",
"name": "台灣積體電路製造股份有限公司",
"status": "核准設立",
"address": "新竹科學園區新竹市力行六路8號",
"url": "https://findbiz.nat.gov.tw/fts/company/22099131",
"company_type": "股份有限公司",
"incorporation_date": "1987-02-21",
"status_date": null,
"status_document": null,
"english_name": "Taiwan Semiconductor Manufacturing Company Limited",
"trade_english_name": "TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED",
"ownership_status": "僑外資",
"capital_total": 280500000000,
"paid_in_capital": 259323700670,
"par_value_per_share": 10,
"shares_issued": 25932370067,
"representative": "魏哲家",
"registration_authority": "國家科學及技術委員會新竹科學園區管理局",
"last_change_date": "2026-08-21",
"companies_registered_at_same_address": 1,
"multiple_voting_preferred_shares": "無",
"veto_preferred_shares": "無",
"preferred_shareholder_director_rights": "無",
"labor_rights_training": null,
"business_scope": [
{
"code": "CC01080",
"description": "電子零組件製造業"
},
{
"code": "CC01090",
"description": "電池製造業"
}
],
"business_scope_description": [
"1.依客戶之訂單與其提供之產品設計說明,以從事製造與銷售積體電路以及其他晶圓半導體裝置。",
"提供前述產品之封裝與測試服務。"
],
"dissolution_notice": null,
"other_fields": null,
"directors_term_start": "2024-06-04",
"directors_term_end": "2027-06-03",
"directors": [
{
"sequence": "0001",
"title": "董事長",
"name": "魏哲家",
"represents_legal_person": null,
"shares_held": 7452349,
"capital_contribution": null
},
{
"sequence": "0002",
"title": "董事",
"name": "曾繁城",
"represents_legal_person": null,
"shares_held": 24472675,
"capital_contribution": null
}
],
"managers": [
{
"sequence": "0001",
"name": "魏哲家",
"appointment_date": "1998-03-03"
},
{
"sequence": "0002",
"name": "秦永沛",
"appointment_date": "2008-02-19"
}
],
"branches": [],
"branches_total": 0,
"factories": [
{
"registration_number": "95R00098",
"name": "台灣積體電路製造股份有限公司二十廠三期",
"status": "生產中",
"approval_date": "2026-09-24",
"last_change_date": "2026-09-24"
},
{
"registration_number": "94T00001",
"name": "台灣積體電路製造股份有限公司二十二廠三期",
"status": "生產中",
"approval_date": "2026-02-24",
"last_change_date": "2026-02-24"
}
],
"factories_total": 43,
"warehouses": [
{
"name": "台灣積體電路製造股份有限公司南科智能中央倉儲",
"address": "臺南市新市區豐華里南科二路8號"
}
],
"stock_listing": {
"stock_code": "2330",
"short_name": "台積電",
"industry_code": "24",
"market": "上市"
},
"trademarks_and_patents": [
"1TRAM",
"3Dblox"
],
"self_disclosure": null,
"self_disclosure_reports": [],
"history": [
{
"approval_date": "2026-06-18",
"registration_number": "22099131",
"name": "台灣積體電路製造股份有限公司",
"capital_total": 280500000000,
"paid_in_capital": 259323700670,
"address": "新竹市力行六路8號"
},
{
"approval_date": "2026-05-25",
"registration_number": "22099131",
"name": "台灣積體電路製造股份有限公司",
"capital_total": 280500000000,
"paid_in_capital": 259323700670,
"address": "新竹市力行六路8號"
}
],
"history_total": 77
},
"blocked": false,
"pages_opened": 3,
"proxy_traffic_bytes": 678174
},
"total_points": 15
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
One company per request. Pass the registration number or the link to the record on the register.
curl -X POST https://api.neuralverge.ai/functions/v1/run-tw-companies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"22099131"}'What teams use it for
Where this field shows up in an actual workflow.
Check capital, representative, directors and registration status for a Taiwan company.
Tie a unified business number to the stock code, market and share structure.
Read the factories and warehouses attached to the company.
Use the change history to see capital and address changes over time.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Taiwan — entities on MOEA company registry.
Read at request time, so the answer reflects the register as it stands when you ask.
MOEA company registry is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Names, status, titles and business scope come back in Chinese; English names are included where the registry holds them.
- —In the sample, factories lists two entries while factories_total is 43, and history lists two while history_total is 77.
- —Some fields are empty for a given company, as in the sample.
Questions, answered
The unified business number the registry uses to identify a company. It is the number you send.
Related sources
Try taiwan company on your own data
One request format across every source in the catalog.