Get free API key
Docs menuexpand_more
travel_exploreTry in the API Viewer

Guides

Endpoints

search
appsAll APIs
functionHow metrics are calculated
← Back to Docs

Japan market primer

How to read ZENITH Code API responses correctly. Six Japan-specific conventions in one page.

1. Securities codes (symbol)

Listed Japanese equities are identified by a 4-digit securities code assigned by the Tokyo Stock Exchange (e.g. 7203 = Toyota Motor). Companies listed since 2024 may carry a letter, such as 130A. The symbol parameter takes this code as-is.

  • check_circleFour digits, or three digits plus a letter (e.g. 7203, 9984, 130A). The letter is case-insensitive.
  • check_circleThe .T suffix used by Yahoo Finance and others (7203.T) is accepted and normalised to 7203.
  • check_circleISINs are 12 characters starting with JP (e.g. JP3633400001). The API takes securities codes; converting from an ISIN is not supported.
  • check_circleEDINET codes (e.g. E02144) identify the filer of a disclosure and are a separate system. A company rarely has more than one securities code, but codes do change on holding-company restructurings and mergers.
  • check_circleETFs and REITs use the same 4-digit scheme. Check the isEtf field in responses.
symbol=7203      # Toyota Motor
symbol=7203.T    # same (suffix stripped)
symbol=130A      # letter-bearing code (listed 2024+)
isin=JP3633400001

2. Fiscal years and quarters (fiscalPeriod / period)

Most Japanese companies close their books on 31 March. December year-ends (foreign-affiliated and some IFRS adopters) and February year-ends (retail) are also common. ZENITH Code identifies a period with two fields: fiscalPeriod (the year and month the row’s period ends, YYYY-MM) and period (Q1 / Q2 / Q3 / FY). There are no fiscalYear or periodEnd fields.

  • check_circlefiscalPeriod: "2026-03" with period: "FY" is the year from April 2025 to March 2026 (the fiscal year ended March 2026). fiscalPeriod: "2026-06" with period: "Q1" is Q1 of the fiscal year ending March 2027 (April–June 2026). On quarterly rows, fiscalPeriod is the month the quarter ends, not the fiscal year-end.
  • check_circleperiod: Q1 / Q2 / Q3 / FY. Quarterly earnings figures are cumulative from the start of the fiscal year (Q3 = nine months). fiscalPeriodDays gives the length of the cumulative period. Derive single-quarter values by subtracting the previous cumulative figure.
  • check_circleQ2 is also called the interim period. Since 2024 the statutory quarterly reports for Q1 and Q3 have been abolished; only the TDnet earnings flash remains for those quarters.
  • check_circleResults are announced one to two months after period end (March year-ends cluster in mid-May). The annual securities report follows about three months after period end (late June). Use /earnings-calendar for scheduled dates.
{
  "symbol": "7203",
  "fiscalPeriod": "2025-12",
  "period": "Q3",
  "fiscalPeriodDays": 274
}

3. Accounting standards and line items (JP GAAP / IFRS / US GAAP)

Japanese companies report under JP GAAP (roughly 80%), IFRS (growing, mostly large caps) or US GAAP (a handful). Check the accountingStandard field. JP GAAP has line items that do not exist elsewhere, which is the single most common source of confusion for international users.

API fieldJP GAAPIFRS
ordinaryIncomeOrdinary income (経常利益) = operating income + non-operating income − non-operating expenses (interest, equity-method results, FX gains/losses). The headline profit figure for Japanese investors.Does not exist; returned as null. Use profitBeforeTax for IFRS reporters.
operatingIncomeOperating income: gross profit − SG&A.A voluntary “operating profit” subtotal. IFRS does not define it, so treatment of other income/expenses varies by company.
extraordinaryGains / extraordinaryLossesExtraordinary gains and losses: fixed-asset disposals, impairments and the like.Does not exist (IFRS prohibits extraordinary items); null.
netIncomeProfit attributable to owners of the parent.Profit attributable to owners of the parent — same field.
warning

ZENITH Code returns the filing in its original hierarchy via /full-financial-statement, and normalises key-metrics into common fields that are comparable across standards. When comparing across standards (e.g. ranking by ordinary margin), exclude nulls.

4. TDnet earnings flash vs EDINET annual report

Japanese earnings disclosure happens in two stages: the earnings flash (kessan tanshin, an unaudited summary) published on the TSE's TDnet the day results are announced, and the annual securities report (yuka shoken hokokusho, the audited statutory filing) submitted to the FSA's EDINET about three months later. ZENITH Code parses both and tells you which one a number came from via provenance.

AspectTDnet earnings flashEDINET annual securities report
TimingAnnouncement day (mostly 15:00–16:30 JST). ZENITH Code reflects it around 16:30 JST the same day.About three months after period end. There is no quarterly annual report.
AuditUnaudited. May be revised later.Audited. The statutory final figures.
ContentPrimary statements, guidance and dividend forecasts. Limited notes.Every line item and note, segments, workforce, major shareholders, directors, risk factors, MD&A.
provenance.sourcetdnetedinet
"provenance": {
  "source": "edinet",
  "docId": "S100TXYZ",
  "docType": "annual_securities_report",
  "filedAt": "2026-06-24",
  "url": "https://disclosure2.edinet-fsa.go.jp/..."
}
warning

For a given period you first get the flash figures; once the annual report is filed they are replaced by the audited values. provenance carries source, docId and links to the original PDF/XBRL, so every number can be traced to its document. Watch X-Data-Version to detect the replacement.

5. Units and types

All amounts are integer yen — never rounded to thousands or millions. Filings that report in millions of yen are converted to yen before they reach the API.

  • check_circleAmounts: integer JPY. Example: revenue of ¥45 trillion = 45095325000000. Treat these as integers, not floats (safe up to 2^53 in JavaScript Number).
  • check_circleRatios: decimals between 0 and 1. Example: ROE 8.2% = 0.082, payout ratio 35% = 0.35. Never percentages.
  • check_circlePer-share figures (EPS, BPS, dividends): decimal yen. Prices are yen too.
  • check_circleShare counts: shares, not trading units. Japanese stocks trade in lots of 100, but the API always reports shares.
  • check_circleDates: ISO 8601 (YYYY-MM-DD) in Japan time (JST, UTC+9). Timestamps are ISO strings in UTC.
  • check_circleMissing values: null for not-applicable or undisclosed. Distinct from 0.
{
  "revenue": 45095325000000,
  "ordinaryIncome": 6965085000000,
  "roe": 0.082,
  "payoutRatio": 0.35,
  "eps": 324.11,
  "sharesOutstanding": 15794987000,
  "fiscalPeriod": "2026-03",
  "period": "FY"
}

6. TSE 33 sectors (sectorCode)

The Tokyo Stock Exchange classifies listed companies into 33 industry sectors. The sector code is a 4-character string (returned as sector or sectorCode), and sector names come as sectorJa / sectorEn. The same codes are used by the screener, rankings and /stable/available-sectors. They do not map onto GICS, so take care when comparing with international classifications.

CodeJapaneseEnglish
0050水産・農林業Fishery, Agriculture & Forestry
1050鉱業Mining
2050建設業Construction
3050食料品Foods
3100繊維製品Textiles & Apparels
3150パルプ・紙Pulp & Paper
3200化学Chemicals
3250医薬品Pharmaceutical
3300石油・石炭製品Oil & Coal Products
3350ゴム製品Rubber Products
3400ガラス・土石製品Glass & Ceramics Products
3450鉄鋼Iron & Steel
3500非鉄金属Nonferrous Metals
3550金属製品Metal Products
3600機械Machinery
3650電気機器Electric Appliances
3700輸送用機器Transportation Equipment
3750精密機器Precision Instruments
3800その他製品Other Products
4050電気・ガス業Electric Power & Gas
5050陸運業Land Transportation
5100海運業Marine Transportation
5150空運業Air Transportation
5200倉庫・運輸関連業Warehousing & Harbor Transportation Services
5250情報・通信業Information & Communication
6050卸売業Wholesale Trade
6100小売業Retail Trade
7050銀行業Banks
7100証券、商品先物取引業Securities & Commodity Futures
7150保険業Insurance
7200その他金融業Other Financing Business
8050不動産業Real Estate
9050サービス業Services

Market segment (Prime, Standard, Growth) is a separate axis from sector and is returned in the market field.

Next steps

Issue an API key and check the real data with a single curl command.