Docs menuexpand_more
Endpoints Explorer
https://api.zenithcode.net/stableMarket Data
21 endpoints/stable/historical-price-eodReturns daily open, high, low, close and volume, including split-adjusted prices. A single request can cover at most 5 years. Prices start on 4 January 2010 (or the listing date for stocks listed later).
/stable/quoteReturns the latest close together with price changes over 1 day to 1 year and year to date, and market cap. Changes are 0–1 decimals (0.03 = 3%) and amounts are in JPY. PER, dividend yield and other metrics are in the latest key metrics endpoint.
/stable/eod-bulkReturns open, high, low, close, volume and adjusted close for every stock on one trading date, with the same fields as the historical daily prices endpoint, ordered by symbol. Omit date for the latest trading day; a date with no trading returns an empty array. Fetch past dates one by one to build the full price history of the market.
/stable/etf-metricsReturns net assets and distribution yield for Japanese ETFs. NAV per unit, units outstanding, premium/discount and tracking difference are not provided because no source permits redistribution.
/stable/historical-price-eod-lightReturns only the daily split-adjusted close (JPY) and volume. A light version for charts and calculations that do not need open, high and low. A single request can cover at most 5 years.
/stable/key-metrics-latestReturns PER, PBR and dividend yield calculated with the latest close, plus the annual dividend, consecutive non-decrease years (including flat years) and 3-year and 5-year compound annual growth rates (CAGR) of dividends, revenue, net income and EPS in one call. Ratios are 0–1 decimals (0.03 = 3%) and amounts are in JPY. priceDate is the date of the price used in the calculation.
/stable/batch-key-metrics-latestReturns the latest PER, PBR, dividend yield, annual dividend, consecutive non-decrease years (including flat years) and 3-year and 5-year CAGRs for up to 50 stocks in one call, with the same fields as the latest key metrics endpoint. Pass symbols=7203,6758,9984. Results follow the order you gave, duplicates are merged, and symbols that are not found come back with found=false and null values.
/stable/market-capitalizationReturns the latest market capitalization of one stock in JPY. Use the market cap history endpoint if you need the daily trend.
/stable/quote-short-bulkReturns only the latest close, change from the previous trading day, volume and price date for every stock in one call. A light version with only the essential fields. Close and change are split-adjusted JPY; volume is in shares.
/stable/quote-shortReturns only the latest close, the change from the previous trading day, volume and the price date. A light version for when you do not need valuation metrics. Close and change are split-adjusted JPY; volume is in shares.
/stable/market-breadthReturns the number of advancing, declining and unchanged stocks, the advance/decline ratio, the number of new 52-week highs and lows, and total trading value for the latest trading day. The first row is the whole market (ALL); groupBy=sector adds one row per TSE 33-sector. Common stocks by default; you can filter by market segment.
/stable/market-cap-historyReturns the daily market cap of one stock, calculated as the split-adjusted close × shares outstanding (excluding treasury stock) from the latest disclosed fiscal period, so buybacks and share issuance are reflected. Each fiscal period is used only from its disclosure date, so the past is never rewritten with information that was not yet public. A single request covers at most 10 years, and prices start on 4 January 2010 (or the listing date for stocks listed later).
/stable/new-highs-lowsReturns stocks that set a 52-week high or low within the last days calendar days up to the latest trading day (default 1 = that day only). The range is the split-adjusted intraday high and low over the past 364 days, and a tie counts. Recent IPOs (fewer than 120 trading days) and stocks with a split in the last 10 days are excluded. Sorted by trading value, largest first.
/stable/technicalsReturns the 52-week high and low, 50- and 200-day moving averages, 1-year volatility, 90-day average trading value, 1-year maximum drawdown, 3-year annualized return and 3-year Sharpe ratio. Ratios are 0–1 decimals, not percentages. Currently available for ETFs and REITs; stocks will be added.
/stable/batch-quote-shortReturns the latest close, change, volume and price date for up to 50 stocks in one call. Pass symbols=7203,6758,9984. Results follow the order you gave, duplicates are merged, and symbols that are not found come back with found=false and null values.
/stable/batch-quoteReturns the latest close, price changes and market cap for up to 50 stocks in one call, with the same fields as the latest stock price endpoint. Pass symbols=7203,6758,9984. Results follow the order you gave, duplicates are merged, and symbols that are not found come back with found=false and null values instead of failing the whole call.
/stable/returnsReturns price changes over 1 day, 1 week, 1 month, 3 months, 6 months, 1 year and year to date, plus the 3-year annualized return. These are the same figures as the quote endpoint, trimmed for ranking and comparison. Ratios are 0–1 decimals.
/stable/sector-performanceReturns price changes for each TSE 33-sector over 1 day, 1 week, 1 month and year to date, both as the median stock and as a market-cap-weighted figure. The first row is the whole market (ALL), followed by sectors ranked by the period, basis and order you choose. Only common stocks priced on the latest trading day are included, and changes are split-adjusted 0–1 decimals (0.02 = +2%).
/stable/splitsReturns the history of stock splits and reverse splits (consolidations), with the ex-date, effective date, price-adjustment date and the share ratio before and after. Whether an event is a split or a reverse split is determined from the ratio.
/stable/market-moversReturns rankings for the latest trading day: biggest gainers, biggest losers, or most active by trading value (unadjusted close × volume). Gainers and losers need a previous-day close and non-zero volume, and stocks with a split in the last 10 days are excluded. Common stocks by default; filter by sector or market segment. Changes are split-adjusted 0–1 decimals.
/stable/valuation-historyReturns daily PER, PBR and dividend yield of one stock, computed from the split-adjusted close and the EPS, BPS and dividend per share of the latest fiscal period disclosed by that day. basis=fy (default) uses annual figures; basis=ttm uses trailing-12-month EPS and the latest quarter's BPS. PER is null when the company has a loss. A single request covers at most 10 years, and prices start on 4 January 2010 (or the listing date for stocks listed later).
Dividends
7 endpoints/stable/dividendsReturns the dividend history of a stock, newest first, including company forecasts. Dividends are per share in JPY.
/stable/dividend-changesReturns dividend increases and cuts detected from earnings releases (Kessan Tanshin), with the previous and new annual dividend, change rate, implied yields and the source document. Omit symbol to scan the whole market. As in other endpoints, the change rate and yields are 0–1 decimals (0.1 = 10%).
/stable/dividend-policiesReturns verified dividend policies of currently listed companies, one row per policy. Filter by type (DOE, payout ratio, total return ratio, progressive dividend, minimum dividend or qualitative only) and by DOE or payout-ratio thresholds. Thresholds are 0-1 decimals compared with the target value, or the lower end of the range when there is no single value. Page through the list in code order with limit and offset.
/stable/dividend-policyReturns the dividend policy of one company as verified against the source. For the policy in effect, scheduled policies and past policies it gives DOE, payout ratio and total return ratio targets (0-1 decimals, as a value or range, marked as floor, ceiling, guideline or target), the progressive-dividend stance, the minimum dividend, compound conditions such as "whichever is higher", the effective period, source quotes and qualitative statements. status tells apart a verified policy, a verified absence of any stated policy, policies under review and companies not yet covered.
/stable/dividend-streaksReturns the number of consecutive years of dividend increases and of non-decreases (increase or hold). Counts are based on settled annual dividends (split-adjusted, per share) and cross-checked against the progressive dividend years reported in earnings releases, with a flag showing whether they agree. Zero-dividend years stay in the series, so a suspension resets the streak. Targets ordinary stocks; ETFs and REITs follow a calendar-year rule and may disagree. Ratios are 0–1 decimals (0.1 = +10%).
/stable/dividends-bulkReturns, in one call, the dividends of every stock whose record date (period end) falls in the given year, with the same fields as the dividend history endpoint (forecasts included, latest revision only). One call covers one year, so call it 10 times for 10 years. Both annual totals and per-payment rows are included, so filter by dividendType before summing.
/stable/dividends-calendarLists ex-dividend dates across the whole market for a date range, covering both past and upcoming dates. The range is at most 93 days, and both from and to are required.
Screener
5 endpoints/stable/screenerFilters Japanese stocks by combining conditions such as market cap, PER, PBR, ROE and dividend yield. All conditions are optional; stocks meeting every condition you set are returned, ordered by the metric you choose. Ratios (ROE, ROA, dividend yield) are 0–1 decimals (0.1 = 10%).
/stable/industry-benchmarksReturns the median and quartiles (Q1/Q3) of PER, PBR, PSR, EV/EBITDA, ROE, ROA, dividend yield, market cap and 3-year revenue and EPS growth for each of the 33 TSE sectors. The first row covers all sectors combined (ALL). Common stocks only. Outliers (multiples of 0 or below, ROE/ROA above 1, dividend yield of 0 or below or above 1) are excluded, and a statistic is null when fewer than 3 valid values remain. Ratios are 0–1 decimals.
/stable/peersCompares a stock with common stocks in the same TSE 33-sector that are closest in market cap. The target comes first and a sector-median row comes last. Each row has market cap, PER, PBR, PSR, EV/EBITDA, ROE, ROA, dividend yield, year-to-date change and the market-cap rank within the sector. Outliers are null and ratios are 0–1 decimals.
/stable/rankingsReturns the top stocks ranked by a metric you choose, such as dividend yield, PER, ROE or year-to-date change. You can narrow the ranking to one sector. Ratios are 0–1 decimals (0.1 = 10%). Only operating companies’ shares are ranked (no ETFs, REITs, preferred shares, TOKYO PRO Market or delisted stocks), and except for the market-cap ranking only stocks of JPY 5 billion or more. ROE and ROA above 100% and CAGR above 100% a year are left out as outliers.
/stable/screener-presetsRuns one of six ready-made screens (high dividend, value, high ROE, growth, dividend growth, momentum) over common stocks with a market cap of at least JPY 5 billion. Ratios are 0–1 decimals. For example, high-dividend means dividend yield between 4% and 12%, positive PER, sorted by yield; value means PER of 15 or less, PBR of 1 or less and ROE of 5% or more, sorted by lowest PBR.
Company
14 endpoints/stable/text-blocksReturns the narrative sections of an annual securities report: business description, risks, MD&A, policy, sustainability, remuneration and more. Without tag you get a table of contents (tag, heading, size); with tag you get that section. The text is plain by default, or the original XHTML with content=html. Some sections run to several hundred thousand characters.
/stable/profileReturns basic company information together with the latest price, market cap, PER, PBR and dividend yield in one call. Ratios are 0–1 decimals and amounts are in JPY.
/stable/audit-feesReturns the fees paid to the independent auditor from the annual securities report for the current and prior year: audit-service and non-audit-service fees for the reporting company, consolidated subsidiaries and in total, plus fees to firms in the auditor's network. nonAuditRatio is a 0–1 decimal and amounts are in JPY.
/stable/cross-shareholdingsFrom the "shareholdings" section of the annual securities report, returns shares held for purposes other than pure investment, per issue: shares held, balance-sheet carrying amount (current and prior year) and holding purpose, plus issue counts and carrying-amount totals by purpose and listing status. Covers the reporting company and, where disclosed, the two consolidated subsidiaries with the largest equity portfolios. Amounts are in JPY and shares are in shares.
/stable/delisting-scheduleReturns scheduled, completed and cancelled delistings of Japanese listed companies together with the source TDnet disclosure. If from is omitted, delisting dates from today onward are returned.
/stable/director-compensationFrom the annual securities report, returns total and by-type compensation (base, bonus, stock options, performance-linked, non-monetary and more) and head-count per officer category, plus named officers whose consolidated remuneration is JPY 100 million or more. Amounts are in JPY.
/stable/directorsFrom the annual securities report, returns the board members and auditors (or executive officers) with title, name, date of birth, term of office, shares held and career summary. When disclosed, the number of male and female officers and the female ratio (0–1 decimal) are included.
/stable/diversityReturns the workforce-diversity indicators from the annual securities report for the reporting company and each consolidated subsidiary that discloses them: ratio of women in management, rate of male employees taking childcare leave and the gender wage ratio (all / regular / non-regular employees). All values are 0–1 decimals (0.039 = 3.9%).
/stable/employee-countReturns the latest employee count of a company. Handy for a quick view of company size.
/stable/main-customersFrom the notes of the annual securities report, returns customers that account for 10% or more of revenue: customer name, revenue from that customer (JPY) and the related segment, for the current and prior year. Companies with no such customer respond with HTTP 404.
/stable/facilitiesReturns the "major facilities" table of the annual securities report, one row per site: section (reporting company, domestic or overseas subsidiaries), site and location, segment, equipment, book values (buildings, machinery, land with area, lease assets, other, total) and headcount. Amounts are converted to JPY.
/stable/shareholder-benefitsReturns the shareholder benefit programs of one company, split into programs in effect and scheduled changes or new programs. Each has record months, tiers by shares held and holding period, items with the amounts and annual values stated by the company, choice rules, the source document and the review date. hasBenefits is true (has benefits), false (confirmed to have none) or null (not yet confirmed, or only a scheduled program); null does not mean there are no benefits. Only company-stated amounts are returned; estimated amounts are null.
/stable/subsidiariesFrom the "subsidiaries and other affiliated entities" section of the annual securities report, returns the parent, consolidated subsidiaries, equity-method affiliates and other related companies, with address, capital, main business, voting-rights ratio (0–1 decimal) and relationship. Because it is read from a table, columns the filer left blank are null.
/stable/workforceFrom the latest annual securities report, returns the parent-company employee count, average age, average years of service and average annual salary, plus consolidated employees by segment. Salary is in JPY.
Financial Statements
14 endpoints/stable/income-statementReturns income statements per period, newest first, combining the quick earnings release (Kessan Tanshin) and the annual securities report, with the source of each item. Amounts are in JPY and margins are 0–1 decimals (0.1 = 10%). Detail lines such as cost of sales and SG&A are null when not disclosed.
/stable/financial-factsReturns raw XBRL facts tagged in the latest (or a specified) annual securities report, one row per element and context, with Japanese and English labels, dimension members and numeric or text values. Filter by category and by a case-insensitive part of the element name (tag). Up to 2,000 facts per call. Ratios are 0–1 decimals (0.1 = 10%).
/stable/balance-sheet-statementReturns balance sheets per period, newest first, with the source of each item. Amounts are in JPY, and total liabilities equal current plus non-current liabilities.
/stable/balance-sheet-statement-shortReturns only total assets, total liabilities, net assets, cash and cash equivalents and equity ratio per period, newest first. Values match the balance sheet endpoint, with the period, accounting standard and source. Amounts are in JPY and the equity ratio is a 0–1 decimal.
/stable/segmentsReturns reportable-segment data from the annual securities report (external sales, segment profit, assets, depreciation, capital spending and more), one row per segment and metric, with a link to the original filing. Without a fiscal period the latest annual report is used.
/stable/cash-flow-statementReturns operating, investing and financing cash flows per period, newest first, with the source of each item. Amounts are in JPY, and free cash flow is pre-computed by ZENITH Code.
/stable/cash-flow-statement-shortReturns only operating, investing and financing cash flows and free cash flow per period, newest first. Values match the cash flow statement endpoint, with the period, accounting standard and source. Amounts are in JPY.
/stable/earnings-forecastReturns the company guidance published in each earnings release (revenue, operating income, net income and EPS), with implied margins, growth versus the full-year actual, and forecast-based PER, ROE, ROA, PSR and PEG. A fiscal-year (FY) row carries guidance for the next fiscal year, while Q1–Q3 rows carry the full-year guidance for the current year; forecastTarget tells which. Withheld ("undetermined") guidance is null, and periods without guidance are omitted. Amounts are in JPY and ratios are 0–1 decimals.
/stable/financial-statement-fullReturns every line item of the balance sheet, income statement, cash-flow statement, statement of changes in equity, comprehensive income and the earnings-release summary as the presentation tree of the filing (XBRL). Each item carries its depth, parent (parent_key), order (sort), heading/subtotal flags, original XBRL tag (company extension tags included), labels, context and how the value was obtained. Without a fiscal period you get the latest one; pass quarter=FY for the full fiscal year.
/stable/income-statement-shortReturns only revenue, operating income, ordinary income, net income and EPS per period, newest first. Values match the income statement endpoint, with the period, accounting standard and source. Amounts are in JPY.
/stable/key-metricsReturns per-period metrics such as ROE, ROA, ROIC, margins, BPS, payout ratio, leverage, split-adjusted EPS and BPS, PER, PBR, EV and dividend yield at the period-end price (dividend yield on annual rows only), trailing twelve-month values and company forecasts. Ratios are 0–1 decimals (0.1 = 10%). For metrics based on the current price, use /stable/key-metrics-latest.
/stable/key-metrics-shortReturns only PER, PBR, ROE, ROA, EPS, BPS and EV/EBITDA per period, newest first. Values match the key metrics endpoint; PER and PBR are as of the period end. Includes the period, accounting standard and source. Ratios are 0–1 decimals.
/stable/key-metrics-bulkReturns, in one call, the annual key metrics of every stock whose fiscal year ends in the given year, with the same fields as the annual key metrics endpoint (ROE, ROA, margins, EPS, BPS, payout ratio, and PER, PBR and market cap at the fiscal year end). One call covers one fiscal year, so call it 10 times for 10 years.
/stable/sga-breakdownReturns selling, general and administrative expenses per period with related lines available from the filing (cost of revenue, gross profit, operating expenses, R&D and depreciation), plus ratios to revenue and to gross profit. Item-level SG&A such as salaries and advertising is returned in items only for companies that itemize it on the face of the income statement; otherwise it is an empty array. Undisclosed lines are null. Amounts are in JPY and ratios are 0–1 decimals.
Shareholders
4 endpoints/stable/shareholder-searchFinds every company where a given investor appears as a major shareholder, using the latest annual securities report of each company. The holder name is a partial match of at least 3 characters. The ownership ratio is a 0–1 decimal (0.128 = 12.8%).
/stable/large-holdersReturns holders of more than 5% as listed from large-shareholding reports in the latest annual securities report, one row per holder, with a link to the source on EDINET. Rows are sorted by holding ratio, largest first. When the annual report lists a group as one total row ("... and N joint holders"), it is returned as one row; for each joint holder see /stable/large-holding-reports. Figures stated in thousands of shares are converted to shares. The holding ratio is a 0–1 decimal (0.0774 = 7.74%).
/stable/large-holding-reportsReturns large shareholding reports and change reports filed on EDINET, one filing at a time: filer, issuer, filing and obligation dates, change reason, total holding ratio (current and previous) and each holder and joint holder. Corrections are collapsed to the latest version of each filing set. Ratios are decimals. For now, historical filings are included only where the filer is a listed company; filings by unlisted filers such as asset managers are included from 2026-10-19 onward while their history is being backfilled.
/stable/major-shareholdersReturns the top 10 major shareholders from the latest annual securities report, one row per holder, with a link to the source document on EDINET. The ownership ratio is a 0–1 decimal (0.128 = 12.8%).
Ownership
2 endpoints/stable/shareholder-categoriesFrom the annual securities report, returns the number of shareholders, shares held and shareholding ratio for governments, financial institutions, securities firms, other corporations, foreign investors and individuals. Shares are counted in trading units, not individual shares, and ratios are 0–1 decimals. Treasury shares are not broken out here; see /stable/treasury-shares.
/stable/treasury-sharesFrom the "voting rights" section of the annual securities report, returns treasury shares (held in the company's own name, in others' names and in total), holder rows, the ratio to issued shares (0.05 = 5%) and issued shares per share class. This table is a voting-rights disclosure under the Companies Act, not the consolidated accounting count, so shares outstanding cannot be derived from it. Consolidated period-end share counts from the earnings release are returned separately in consolidated.
Events
5 endpoints/stable/events-feedReturns timely disclosures, extraordinary reports, dividend increases and cuts, stock splits and consolidations, and delisting schedules as one date-sorted feed. With symbol the window defaults to the past 365 days (max 3 years). Without it, both from and to are required and the window is at most 31 days. The dividend change rate (details.changeRate) is a 0–1 decimal.
/stable/extraordinary-reportsReturns corporate events from extraordinary reports (M&A, officer changes, disasters and more), classified by reason. You can filter by stock, date range or reason. Omit symbol to search the whole market.
/stable/extraordinary-report-reasonsReturns the list of reason keys used to classify extraordinary reports, with Japanese and English labels. It covers M&A decisions, changes of parent or major shareholders, stock options, auditor and representative changes, disasters and more. Use a key as reason in /stable/extraordinary-reports. Reports whose element is not listed get a key converted automatically, so some keys may not appear in this list.
/stable/filing-documentReturns the file of a document filed on EDINET (annual and quarterly securities reports, large shareholding reports and more) from the ZENITH Code archive, by document ID. type=pdf returns the PDF and type=xbrl the XBRL ZIP. EDINET stops showing documents after their inspection period (10 years from filing for annual securities reports, 2 years for extraordinary reports, and so on), but ZENITH Code keeps older documents too, so you can still get them here. The archiveUrl in the provenance of other endpoints points to this endpoint. TDnet documents such as earnings releases are exchange data and are not provided as files. TDnet timely-disclosure documents (18-digit IDs) are also returned as PDF with type=pdf, with no age limit (the official TDnet site keeps them for about a month). TDnet documents are exchange data: for your own use only, not for display or redistribution to third parties.
/stable/disclosuresLists documents published through TDnet timely disclosure, with announcement time, title and document type code. Use pdfUrl with your API key to download the PDF with no age limit (/stable/filing-document). TDnet documents are exchange data and may not be shown or redistributed to third parties. Filter by stock or date range. If symbol is omitted, from and to are required and the range is at most 93 days.
Calendar
1 endpoints/stable/earnings-calendarLists scheduled and already reported earnings dates for Japanese companies. Reported rows include actual and estimated EPS and the surprise rate (surpriseRate, a 0–1 decimal; 0.15 = 15% above the estimate). The range is at most 93 days and defaults to 30 days before and after today.
Search
3 endpoints/stable/search-nameSearches companies by part of the Japanese or English company name (partial match). Enter at least 2 characters. Up to 50 rows can be returned.
/stable/search-symbolSearches companies whose securities code starts with the text you enter (prefix match). For example, 72 returns codes beginning with 72. Up to 50 rows can be returned.
/stable/search-edinet-codeLooks up EDINET filer codes from a securities code, an EDINET code (e.g. E02144), a 13-digit corporate number or a company name (Japanese or English, partial match, at least 2 characters). Returns the EDINET code, securities code, corporate number, names, filer kind, listing status, fiscal year end and industry, including non-listed filers and funds. Responds with HTTP 503 while the EDINET code list is unavailable.
Lists
4 endpoints/stable/stock-listReturns every covered Japanese listed security: equities, ETFs and REITs. Use the assetType field to tell them apart.
/stable/shareholder-benefits-listReturns one row per company that has shareholder benefits: record months, the smallest required shares and minimum investment, benefit types, the items of the smallest tier with their stated and annual values, and whether there is a long-term bonus or a choice. Filter by record month, benefit type, required shares or investment, and page through the list in code order with limit and offset. With scope=all, companies confirmed to have no benefits and companies not yet confirmed are included as well.
/stable/available-sectorsReturns the codes and names of the 33 Tokyo Stock Exchange sectors. Use these codes with the sector parameter of other endpoints.
Macro
4 endpoints/stable/economic-indicatorsLists the available macroeconomic series (US and Japan) with Japanese and English names, unit and frequency. Data comes directly from FRED, and copyrighted series are excluded. Use /stable/economic-series to get the values of a series.
/stable/economic-seriesReturns the observations of one macroeconomic series, newest first. Look up series IDs in /stable/economic-indicators. You can narrow the range with from and to.
/stable/economic-calendarReturns scheduled release dates for the tracked macroeconomic series, based on the FRED release calendar. The range defaults to the next 30 days and can be at most 93 days.
/stable/fear-greedReturns ZENITH Code's own market sentiment score (0–100), computed from volatility momentum (inverted RSI(14) and deviation from the 20-day moving average). The response includes a label, the previous close, the score one month ago and the components.
System
3 endpoints/stable/system/freshnessReturns the version, as-of time and staleness of every dataset served under /stable. No API key is required and it does not use up your quota.
/stable/usageReturns your token and request consumption for the current month (UTC) against your plan limit, broken down by endpoint and by day. Usage is counted per account, so all API keys of the same account share one monthly quota. This call itself is recorded after the response and is not included in the figures.
/stable/system/statusReturns whether the API is healthy, with response times of its components, a summary of data freshness and the number of endpoints and MCP tools. No API key is required and it does not use up your quota. If a component does not respond, the same body is returned with HTTP 503.

