Get free API key
All APIsexpand_more
search
appsAll APIs
functionHow metrics are calculated

Ranking by metric

GET/stable/rankings10 tokens per call

Returns 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.

What you can do with this API

  • check_circleRank stocks by dividend yield to find high-dividend candidates
  • check_circleSee which stocks have risen the most year to date
  • check_circleFind the highest-ROE companies within a sector

Example URL

https://api.zenithcode.net/stable/rankings?metric=dividendYield&order=desc&limit=100

Shown without percent-encoding for readability. Non-ASCII values are encoded automatically when sent.

Parameters

ParameterRequiredDescriptionExample
metric
select
RequiredMetric to rank by. Allowed values (marketCap, per, pbr, psr, roe, roa, dividendYield, evToEbitda, changePct1d, changePct1w, changePct1m, changePctYtd, dividendCagr3y, dividendCagr5y, revenueCagr3y, revenueCagr5y, epsCagr3y, epsCagr5y, progressiveDividendYears)
Allowed values: marketCap, per, pbr, psr, roe, roa, dividendYield, evToEbitda, changePct1d, changePct1w, changePct1m, changePctYtd, dividendCagr3y, dividendCagr5y, revenueCagr3y, revenueCagr5y, epsCagr3y, epsCagr5y, progressiveDividendYears
dividendYield
order
select
OptionalSort order: desc = largest first (default), asc = smallest first
Allowed values: asc, desc
desc
sector
string
OptionalTSE 33-sector code (e.g. 3700 = Transportation Equipment). See /stable/available-sectors
limit
number
OptionalMaximum number of rows to return (default 100, max 100)100

Try it

Run it with your own parameters and check the response as a table, JSON or CSV. Sign-in required; each run uses 10 tokens.

travel_exploreTry in the API Viewer

Response example (real data)

lock
Live response examples are shown to signed-in users only (they include exchange data such as stock prices). Sign in to view

Response fields

symbol証券コード(4 桁。英字を含むコードもある)string証券コード(4 桁。英字を含むコードもある)
nameJa会社名(日本語)string会社名(日本語)
nameEn会社名(英語)。無ければ nullstring会社名(英語)。無ければ null
sector東証 33 業種コード(4 桁。例: 3700)string東証 33 業種コード(4 桁。例: 3700)
priceThe close on the latest trading day (split-adjusted). This is exchange data and is shown only to signed-in users.numberThe 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).numberThe 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.numberPrice 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).numberPrice divided by book value per share (split-adjusted BPS).How it is calculated →
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.numberNet 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 →
dividendYieldThe annual dividend divided by the price: 0.0323 in the API is 3.23% on screen.numberThe annual dividend divided by the price: 0.0323 in the API is 3.23% on screen.How it is calculated →
changePctYtdThe change of the latest adjusted close from the adjusted close on the base date. The base date is the last trading day on or before the calendar look-back date.numberThe change of the latest adjusted close from the adjusted close on the base date. The base date is the last trading day on or before the calendar look-back date.How it is calculated →
assetType銘柄の種類(EQUITY = 株式 / ETF / REIT)string銘柄の種類(EQUITY = 株式 / ETF / REIT)
rankRank by the metric chosen with the metric parameter; value is that metric. Only ROE drops values above 1 (100%) as outliers.numberRank by the metric chosen with the metric parameter; value is that metric. Only ROE drops values above 1 (100%) as outliers.How it is calculated →
valueRank by the metric chosen with the metric parameter; value is that metric. Only ROE drops values above 1 (100%) as outliers.numberRank by the metric chosen with the metric parameter; value is that metric. Only ROE drops values above 1 (100%) as outliers.How it is calculated →
valueIsLowerBoundtrue のとき value は下限(「以上」)。連続非減配年数は配当データが 2013 年からのため 13 年で頭打ちになり、その行は「13 年以上」の同順位 / When true, value is a lower bound ("or more"): progressiveDividendYears caps at 13 because dividend data starts in 2013booleantrue のとき value は下限(「以上」)。連続非減配年数は配当データが 2013 年からのため 13 年で頭打ちになり、その行は「13 年以上」の同順位 / When true, value is a lower bound ("or more"): progressiveDividendYears caps at 13 because dividend data starts in 2013

Related APIs

FAQ

How do I rank from the smallest?expand_more

Pass order=asc, for example to list the lowest PER first.

How many tokens does one call use?expand_more

10 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.