All APIsexpand_more
Key financial metrics (per period)
/stable/key-metrics1 tokens per callReturns 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.
What you can do with this API
- check_circleTrack ROE and margins to see how profitability changes
- check_circleCompare period-end PER and PBR with the past to judge valuation
- check_circleFetch many financial ratios in one call as screening input
Example URL
https://api.zenithcode.net/stable/key-metrics?symbol=7203&period=annual&limit=10Shown without percent-encoding for readability. Non-ASCII values are encoded automatically when sent.
Parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
symbolstring | Required | Securities code (4 characters, e.g. 7203 = Toyota Motor; alphanumeric codes such as 130A also work) | 7203 |
periodselect | Optional | Period type: annual = fiscal years only, quarter = quarters only. Q1, Q2, Q3, Q4 or FY also work. Omit for all Allowed values: Q1, Q2, Q3, Q4, FY, annual, quarter | annual |
limitnumber | Optional | Maximum number of rows to return (default 10, max 40) | 10 |
Try it
Run it with your own parameters and check the response as a table, JSON or CSV. Sign-in required; each run uses 1 tokens.
travel_exploreTry in the API ViewerResponse example (real data)
Response fields
symbol証券コード(4 桁) | string | 証券コード(4 桁) |
fiscalPeriodfiscalPeriod is the period-end month (YYYY-MM), and period is Q1–Q3 or FY (full year). Q2 and Q3 income and cash-flow values are cumulative from the start of the fiscal year; single-quarter values are not returned. | string | fiscalPeriod is the period-end month (YYYY-MM), and period is Q1–Q3 or FY (full year). Q2 and Q3 income and cash-flow values are cumulative from the start of the fiscal year; single-quarter values are not returned.How it is calculated → |
periodfiscalPeriod is the period-end month (YYYY-MM), and period is Q1–Q3 or FY (full year). Q2 and Q3 income and cash-flow values are cumulative from the start of the fiscal year; single-quarter values are not returned. | string | fiscalPeriod is the period-end month (YYYY-MM), and period is Q1–Q3 or FY (full year). Q2 and Q3 income and cash-flow values are cumulative from the start of the fiscal year; single-quarter values are not returned.How it is calculated → |
accountingStandard会計基準(JGAAP / IFRS / USGAAP など)。どの基準も同じ項目名に揃えて返す | string | 会計基準(JGAAP / IFRS / USGAAP など)。どの基準も同じ項目名に揃えて返す |
updatedAtこの期の行をデータ基盤が更新した日時 | string | この期の行をデータ基盤が更新した日時 |
provenance出典(区分 PL・BS・CF・Summary ごとの書類。source = tdnet / edinet) | object | 出典(区分 PL・BS・CF・Summary ごとの書類。source = tdnet / edinet) |
roeNet income attributable to owners of the parent divided by average equity (opening and closing). For example, 0.098 in the API is 9.8% on screen. | number | Net income attributable to owners of the parent divided by average equity (opening and closing). For example, 0.098 in the API is 9.8% on screen.How it is calculated → |
roaNet income divided by average total assets (opening and closing), returned as a 0–1 decimal. | number | Net income divided by average total assets (opening and closing), returned as a 0–1 decimal.How it is calculated → |
roaPretaxReturns the value the company reports in the kessan tanshin summary, as disclosed. | number | Returns the value the company reports in the kessan tanshin summary, as disclosed.How it is calculated → |
bpsBasically common equity divided by shares outstanding; the disclosed BPS is used when the two differ greatly. adjustedBps is split-adjusted. | number | Basically common equity divided by shares outstanding; the disclosed BPS is used when the two differ greatly. adjustedBps is split-adjusted.How it is calculated → |
epseps and epsDiluted are as disclosed (based on the share count at the time). adjustedEps is split-adjusted (based on the current share count). | number | eps and epsDiluted are as disclosed (based on the share count at the time). adjustedEps is split-adjusted (based on the current share count).How it is calculated → |
epsDilutedeps and epsDiluted are as disclosed (based on the share count at the time). adjustedEps is split-adjusted (based on the current share count). | number | eps and epsDiluted are as disclosed (based on the share count at the time). adjustedEps is split-adjusted (based on the current share count).How it is calculated → |
equityRatioEquity divided by total assets. The company’s disclosed ratio is used when available (with its unit normalized), otherwise it is computed. | number | Equity divided by total assets. The company’s disclosed ratio is used when available (with its unit normalized), otherwise it is computed.How it is calculated → |
payoutRatioDPS divided by split-adjusted EPS: 0.3218 in the API is 32.18% on screen. payoutRatioForecast uses the company’s forecast EPS. | number | DPS divided by split-adjusted EPS: 0.3218 in the API is 32.18% on screen. payoutRatioForecast uses the company’s forecast EPS.How it is calculated → |
doeDPS divided by average BPS (split-adjusted). This is a computed value, not the DOE the company discloses. | number | DPS divided by average BPS (split-adjusted). This is a computed value, not the DOE the company discloses.How it is calculated → |
dividendPerShareThe annual dividend on FY rows, and the dividend with that quarter-end record date on quarterly rows. Amounts are split-adjusted. | number | The annual dividend on FY rows, and the dividend with that quarter-end record date on quarterly rows. Amounts are split-adjusted.How it is calculated → |
dividendToNetAssetsRatioDPS divided by average BPS (split-adjusted). This is a computed value, not the DOE the company discloses. | number | DPS divided by average BPS (split-adjusted). This is a computed value, not the DOE the company discloses.How it is calculated → |
totalDividendPaidAnnual配当金総額(年間)(円)。開示の明細行から。該当行が無い期は null | number | 配当金総額(年間)(円)。開示の明細行から。該当行が無い期は null |
operatingMarginOperating income divided by revenue, returned as a 0–1 decimal. | number | Operating income divided by revenue, returned as a 0–1 decimal.How it is calculated → |
revenueChangeRateReturns the year-on-year change the company reports in the kessan tanshin summary, as disclosed. | number | Returns the year-on-year change the company reports in the kessan tanshin summary, as disclosed.How it is calculated → |
operatingIncomeChangeRateReturns the year-on-year change the company reports in the kessan tanshin summary, as disclosed. | number | Returns the year-on-year change the company reports in the kessan tanshin summary, as disclosed.How it is calculated → |
ordinaryIncomeChangeRateReturns the year-on-year change the company reports in the kessan tanshin summary, as disclosed. | number | Returns the year-on-year change the company reports in the kessan tanshin summary, as disclosed.How it is calculated → |
netIncomeChangeRateReturns the year-on-year change the company reports in the kessan tanshin summary, as disclosed. | number | Returns the year-on-year change the company reports in the kessan tanshin summary, as disclosed.How it is calculated → |
numberOfIssuedSharesShares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator. | number | Shares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator.How it is calculated → |
averageNumberOfSharesShares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator. | number | Shares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator.How it is calculated → |
numberOfTreasuryStockShares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator. | number | Shares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator.How it is calculated → |
roicAfter-tax operating income divided by invested capital (interest-bearing debt + equity + non-controlling interests). A flat 30% tax rate is assumed. Cash is not subtracted. | number | After-tax operating income divided by invested capital (interest-bearing debt + equity + non-controlling interests). A flat 30% tax rate is assumed. Cash is not subtracted.How it is calculated → |
financialLeverageTotal assets divided by equity. | number | Total assets divided by equity.How it is calculated → |
grossMarginGross profit divided by revenue, returned as a 0–1 decimal. | number | Gross profit divided by revenue, returned as a 0–1 decimal.How it is calculated → |
ordinaryMarginOrdinary income divided by revenue. Ordinary income is a profit subtotal specific to Japanese GAAP. | number | Ordinary income divided by revenue. Ordinary income is a profit subtotal specific to Japanese GAAP.How it is calculated → |
netMarginNet income divided by revenue, returned as a 0–1 decimal. | number | Net income divided by revenue, returned as a 0–1 decimal.How it is calculated → |
ebitdaOperating income plus depreciation and goodwill amortization. Null when depreciation is unavailable. | number | Operating income plus depreciation and goodwill amortization. Null when depreciation is unavailable.How it is calculated → |
freeCashFlowOperating cash flow plus investing cash flow. | number | Operating cash flow plus investing cash flow.How it is calculated → |
interestBearingDebtUses the disclosed interest-bearing debt (plus lease liabilities); otherwise sums borrowings, bonds, commercial paper, lease liabilities and similar items. Net debt subtracts cash. | number | Uses the disclosed interest-bearing debt (plus lease liabilities); otherwise sums borrowings, bonds, commercial paper, lease liabilities and similar items. Net debt subtracts cash.How it is calculated → |
netInterestBearingDebtUses the disclosed interest-bearing debt (plus lease liabilities); otherwise sums borrowings, bonds, commercial paper, lease liabilities and similar items. Net debt subtracts cash. | number | Uses the disclosed interest-bearing debt (plus lease liabilities); otherwise sums borrowings, bonds, commercial paper, lease liabilities and similar items. Net debt subtracts cash.How it is calculated → |
outstandingSharesShares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator. | number | Shares outstanding are issued shares minus treasury shares. The average share count is the disclosed EPS denominator.How it is calculated → |
adjustedEpseps and epsDiluted are as disclosed (based on the share count at the time). adjustedEps is split-adjusted (based on the current share count). | number | eps and epsDiluted are as disclosed (based on the share count at the time). adjustedEps is split-adjusted (based on the current share count).How it is calculated → |
adjustedBpsBasically common equity divided by shares outstanding; the disclosed BPS is used when the two differ greatly. adjustedBps is split-adjusted. | number | Basically common equity divided by shares outstanding; the disclosed BPS is used when the two differ greatly. adjustedBps is split-adjusted.How it is calculated → |
splitAdjustmentFactorPer-share values and prices are also returned restated to the current share count, so periods before and after splits or consolidations are comparable. A factor of 1 means no adjustment. | number | Per-share values and prices are also returned restated to the current share count, so periods before and after splits or consolidations are comparable. A factor of 1 means no adjustment.How it is calculated → |
fiscalPeriodDaysfiscalPeriod is the period-end month (YYYY-MM), and period is Q1–Q3 or FY (full year). Q2 and Q3 income and cash-flow values are cumulative from the start of the fiscal year; single-quarter values are not returned. | number | fiscalPeriod is the period-end month (YYYY-MM), and period is Q1–Q3 or FY (full year). Q2 and Q3 income and cash-flow values are cumulative from the start of the fiscal year; single-quarter values are not returned.How it is calculated → |
priceDateThe close on the latest trading day (split-adjusted). This is exchange data and is shown only to signed-in users. | string | The close on the latest trading day (split-adjusted). This is exchange data and is shown only to signed-in users.How it is calculated → |
closePriceThe close on the latest trading day (split-adjusted). This is exchange data and is shown only to signed-in users. | number | The close on the latest trading day (split-adjusted). This is exchange data and is shown only to signed-in users.How it is calculated → |
marketCapThe close multiplied by shares outstanding excluding treasury shares (both split-adjusted). | number | The close multiplied by shares outstanding excluding treasury shares (both split-adjusted).How it is calculated → |
perPrice divided by earnings per share (split-adjusted EPS). key-metrics-latest and similar endpoints use the latest close and the latest full-year EPS; key-metrics uses the price at each period end and that period’s EPS. | number | Price divided by earnings per share (split-adjusted EPS). key-metrics-latest and similar endpoints use the latest close and the latest full-year EPS; key-metrics uses the price at each period end and that period’s EPS.How it is calculated → |
pbrPrice divided by book value per share (split-adjusted BPS). | number | Price divided by book value per share (split-adjusted BPS).How it is calculated → |
psrMarket capitalization divided by revenue. psrTtm uses trailing-twelve-month (TTM) revenue. | number | Market capitalization divided by revenue. psrTtm uses trailing-twelve-month (TTM) revenue.How it is calculated → |
pegRatioPER divided by EPS growth expressed as a percentage number. pegRatioForecast divides forward PER by forecast EPS growth. | number | PER divided by EPS growth expressed as a percentage number. pegRatioForecast divides forward PER by forecast EPS growth.How it is calculated → |
enterpriseValueMarket cap plus interest-bearing debt and non-controlling interests, minus cash and cash equivalents. | number | Market cap plus interest-bearing debt and non-controlling interests, minus cash and cash equivalents.How it is calculated → |
evToEbitdaEV divided by trailing-twelve-month (TTM) EBITDA. | number | EV divided by trailing-twelve-month (TTM) EBITDA.How it is calculated → |
betaThe slope of a 2-year regression of weekly returns on the TOPIX ETF (1306). | number | The slope of a 2-year regression of weekly returns on the TOPIX ETF (1306).How it is calculated → |
annualDividendannualDividend is the annual dividend for the latest fiscal year (company forecasts included). If there is no annual row, it is interim actual + year-end forecast. | number | annualDividend is the annual dividend for the latest fiscal year (company forecasts included). If there is no annual row, it is interim actual + year-end forecast.How it is calculated → |
dividendYieldThe annual dividend divided by the price: 0.0323 in the API is 3.23% on screen. | number | The annual dividend divided by the price: 0.0323 in the API is 3.23% on screen.How it is calculated → |
epsTtmperTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS. | number | perTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS.How it is calculated → |
perTtmperTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS. | number | perTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS.How it is calculated → |
epsForecastperTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS. | number | perTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS.How it is calculated → |
perForecastperTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS. | number | perTtm is the close divided by trailing-twelve-month (TTM) EPS; perForecast is the close divided by the company’s forecast EPS.How it is calculated → |
roeForecast予想 ROE。0-1 の小数(0.12 = 12%) | number | 予想 ROE。0-1 の小数(0.12 = 12%) |
payoutRatioForecastDPS divided by split-adjusted EPS: 0.3218 in the API is 32.18% on screen. payoutRatioForecast uses the company’s forecast EPS. | number | DPS divided by split-adjusted EPS: 0.3218 in the API is 32.18% on screen. payoutRatioForecast uses the company’s forecast EPS.How it is calculated → |
netSalesForecast会社予想 売上高(円) | number | 会社予想 売上高(円) |
operatingIncomeForecast会社予想 営業利益(円) | number | 会社予想 営業利益(円) |
netIncomeForecast会社予想 当期純利益(円) | number | 会社予想 当期純利益(円) |
roeTtmTrailing-twelve-month (TTM) net income divided by average equity (average total assets for ROA). No annualization is applied. | number | Trailing-twelve-month (TTM) net income divided by average equity (average total assets for ROA). No annualization is applied.How it is calculated → |
roaTtmTrailing-twelve-month (TTM) net income divided by average equity (average total assets for ROA). No annualization is applied. | number | Trailing-twelve-month (TTM) net income divided by average equity (average total assets for ROA). No annualization is applied.How it is calculated → |
ebitdaTtmOperating income plus depreciation and goodwill amortization. Null when depreciation is unavailable. | number | Operating income plus depreciation and goodwill amortization. Null when depreciation is unavailable.How it is calculated → |
psrTtmMarket capitalization divided by revenue. psrTtm uses trailing-twelve-month (TTM) revenue. | number | Market capitalization divided by revenue. psrTtm uses trailing-twelve-month (TTM) revenue.How it is calculated → |
dividendCagr3yCompound annual growth rate (CAGR) of the annual dividend over 3 and 5 years, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) of the annual dividend over 3 and 5 years, returned as a 0–1 decimal.How it is calculated → |
dividendCagr5yCompound annual growth rate (CAGR) of the annual dividend over 3 and 5 years, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) of the annual dividend over 3 and 5 years, returned as a 0–1 decimal.How it is calculated → |
revenueCagr3yCompound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal.How it is calculated → |
revenueCagr5yCompound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal.How it is calculated → |
netIncomeCagr3yCompound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal.How it is calculated → |
netIncomeCagr5yCompound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal.How it is calculated → |
epsCagr3yCompound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal.How it is calculated → |
epsCagr5yCompound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal. | number | Compound annual growth rate (CAGR) from the latest full year compared with the full year N years earlier, returned as a 0–1 decimal.How it is calculated → |
progressiveDividendYearsHow many consecutive recent years the annual dividend was at least the prior year’s. Despite the name, years with an unchanged dividend count. | number | How many consecutive recent years the annual dividend was at least the prior year’s. Despite the name, years with an unchanged dividend count.How it is calculated → |
waccThe CAPM cost of equity and its weighted average with the cost of debt (WACC), computed by the data pipeline. | number | The CAPM cost of equity and its weighted average with the cost of debt (WACC), computed by the data pipeline.How it is calculated → |
costOfEquityThe CAPM cost of equity and its weighted average with the cost of debt (WACC), computed by the data pipeline. | number | The CAPM cost of equity and its weighted average with the cost of debt (WACC), computed by the data pipeline.How it is calculated → |
metricNullReasonsValues that cannot be computed are null, never zero-filled. In key-metrics, metricNullReasons may give the reason (for example, insufficient_prices:200). | object | Values that cannot be computed are null, never zero-filled. In key-metrics, metricNullReasons may give the reason (for example, insufficient_prices:200).How it is calculated → |
Related APIs
FAQ
How is the PER different from /stable/key-metrics-latest?expand_more
PER and PBR here are as of each period end. The latest values based on today's price are in /stable/key-metrics-latest.
How many tokens does one call use?expand_more
1 tokens per call, regardless of how many rows come back. Your monthly allowance depends on your plan.
Do I need an account to try it?expand_more
Use the API Viewer to run it with your own parameters. Sign up for free and sign in (no credit card). Each run uses this API's tokens.
Can I get CSV instead of JSON?expand_more
Add format=csv to the URL to get CSV, ready for spreadsheets or pandas.
Can I get labels in English?expand_more
With neither lang nor Accept-Language, labels such as sector names are returned in English; add lang=ja or send Accept-Language: ja for Japanese. Company and sector names are always returned in both languages as nameJa / nameEn and sectorJa / sectorEn. Field names are the same in both languages.

