get_international_disclosure via MCP).
Taiwan, Korea, and Form 20-F routes require the Professional plan; the cross-market disclosures route requires Fund. Every call costs 1 credit.
Responses use the { data, next_cursor, coverage } envelope with cursor pagination — pass next_cursor back unchanged as cursor; see Pagination. Errors use the standard error envelope; see Errors.
Taiwan
Coverage: ~2,330 Taiwan-listed companies (TWSE and TPEx). Thecompany_id path segment accepts a Taiwan security code (2330), a suffixed symbol (2330.TW, 6976.TWO), an ISIN, or a cmp_… id.
GET /v1/companies/{company_id}/tw/financials
Quarterly income statements and balance sheets as filed to TWSE/TPEx, from 2024 Q1 (period end 2024-03-31). Taiwan files no cash-flow statement in this feed. Plan: Professional · Credits: 1 per callstring
income or balance.integer
Fiscal year, e.g.
2025.integer
TWSE season 1–4. Season 2 is the first half as filed, season 4 the full year.
string
next_cursor from the previous page, passed back unchanged.integer
1–1000, default 40.
Amounts are TWD thousands. Monthly revenue is the parent-company filing while the quarterly statements are consolidated, so the two do not reconcile exactly.
GET /v1/companies/{company_id}/tw/monthly-revenue
Monthly revenue as filed, complete from 2013-01. Newest month first. Plan: Professional · Credits: 1 per callstring
Inclusive lower bound,
YYYY-MM.string
Inclusive upper bound,
YYYY-MM.string
next_cursor from the previous page, passed back unchanged.integer
1–1000, default 100.
GET /v1/companies/{company_id}/tw/foreign-ownership
Daily foreign-investor shareholding, one row per trading day, from 2024-01-02. Newest first. Plan: Professional · Credits: 1 per callstring
Inclusive lower bound,
YYYY-MM-DD.string
Inclusive upper bound,
YYYY-MM-DD.string
next_cursor from the previous page, passed back unchanged.integer
1–1000, default 100.
Percentages are on a 0–100 scale.
foreign_limit_pct is the regulatory ceiling for the security — usually 100, occasionally not — which is a different fact from how much is actually held. These are share counts, not money.Korea (DART)
Coverage: Korean-listed companies from 2022 onward, still backfilling newest-year and largest-cap first — a missing older year for a small company means not-yet-loaded. Thecompany_id path segment accepts a DART corp code, a symbol (005930.KS), an ISIN, or a cmp_… id.
GET /v1/companies/{company_id}/kr/financials
Account-level financial facts as filed to DART. Plan: Professional · Credits: 1 per callinteger
required
Business year, 2000–2100. Required — omitting it is a 400, not a default.
string
annual, half, q1, or q3. There is no Q2 report — half is the first-half filing.string
consolidated or separate.string
One of
balance_sheet, income, comprehensive_income, cash_flow, changes_in_equity.string
next_cursor from the previous page, passed back unchanged.integer
1–1000, default 200.
Report sections
Five sibling routes serve the periodic report’s sections. Each shares the same query shape: an optional section-specifickind, year, cursor, and limit (1–1000); the ownership route additionally accepts date_gte / date_lte (YYYY-MM-DD), because ownership is event-based rather than annual.
Plan: Professional · Credits: 1 per call each
Some rows in the report sections are the filer’s own subtotal lines (계 / 합계) rather than individual entries — filter before summing.
GET /v1/companies/{company_id}/disclosures
What a Taiwanese, Korean, or Japanese company told its own market — earnings releases, M&A, buybacks, board decisions, officer changes, large-holding reports — one row per announcement, newest first, across all three markets in one call. The response’smarkets_searched lists which markets were actually consulted: an empty list means the company lists in none of the three, which is a different fact from finding nothing in them.
Plan: Fund · Credits: 1 per call
string
Narrow to one of
taiwan, korea, japan. Omitted means every market the company files in.string
Japan’s own classification (
earnings_flash, ma, buyback_progress, …). Only Japan classifies its rows — filtering on a category excludes Taiwan and Korea entirely rather than mixing unfiltered rows into a filtered result.string
Inclusive lower bound,
YYYY-MM-DD.string
Inclusive upper bound,
YYYY-MM-DD.boolean
default:"false"
Taiwan only: include the full announcement text (the TWSE 說明 field). Off by default;
description_chars is always returned so you can see there is text to ask for.string
next_cursor from the previous page, passed back unchanged.integer
1–200, default 50.
Row fields vary by market, and
null fields are omitted. Only Japan links the document as a PDF and XBRL; Korea links the original DART filing (filing_url); Taiwan carries the announcement text itself, returned with include_text=true. Korea’s filer is whoever filed — often not the company the announcement is about (a large-holdings report about Samsung Electronics is filed by Samsung C&T). Titles and text are in Traditional Chinese, Korean, and Japanese as published; nothing is translated.Form 20-F
The notes, as-reported segments, disclosed ownership, and raw XBRL facts from a foreign private issuer’s annual SEC filing. Coverage: 321 filers, annual from 2014-12 — a 20-F has no quarterly equivalent. Thecompany_id path segment accepts a ticker, CIK, ISIN, or cmp_… id.
Plan: Professional · Credits: 1 per call each
The three financial statements are not on these routes:
/v1/financials serves covered 20-F filers through an annual-only fallback — quarterly and ttm return nothing for them.GET /v1/companies/{company_id}/20f/profile
The filing profile — issuer identity and latest 20-F. No query parameters. Response fields includecompany_id, cik, ticker, name, country, market_cap, and form.
GET /v1/companies/{company_id}/20f/notes
The notes index — titles, tags, lengths — with the text opt-in. Find a note by title, not by concept name: nobody should have to guessDisclosureOfLeasesExplanatory.
string
One filing, e.g.
0001234567-26-000123.string
IFRS or company concept, with or without its taxonomy prefix.
string
Substring of the human-readable note title, at least 2 characters.
boolean
default:"false"
Include the note text. Off by default — the index is how a caller finds the note worth reading.
string
next_cursor from the previous page, passed back unchanged.integer
1–1000.
company_id, id, cik, accession, note_tag, note_title, and — with include_text=true — the note text.
GET /v1/companies/{company_id}/20f/segments
As-reported segment disclosures.string
e.g.
geographic or business.string
e.g.
revenue, assets.integer
1990–2100.
string
next_cursor from the previous page, passed back unchanged.integer
1–1000.
company_id, id, cik, accession, dimension, segment_path, segment_name, and depth, plus the reported values.
GET /v1/companies/{company_id}/20f/ownership
Ownership as disclosed in the filing.string
One filing.
string
next_cursor from the previous page, passed back unchanged.integer
1–1000.
company_id, id, cik, accession, holder_name, shares, ownership_pct, and voting_pct.
GET /v1/companies/{company_id}/20f/xbrl-facts
The raw XBRL facts. At least one oftag, accession, or period_end is required — an unfiltered dump of every fact is a 400.
string
An XBRL concept tag.
string
One filing.
string
YYYY-MM-DD.string
next_cursor from the previous page, passed back unchanged.integer
1–1000.
company_id, id, cik, accession, taxonomy, tag, value, unit, and decimals, plus period fields.