All APIsexpand_more
Ranking by metric
/stable/rankings10 tokens per callReturns 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=100Shown without percent-encoding for readability. Non-ASCII values are encoded automatically when sent.
Parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
metricselect | Required | Metric 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 |
orderselect | Optional | Sort order: desc = largest first (default), asc = smallest first Allowed values: asc, desc | desc |
sectorstring | Optional | TSE 33-sector code (e.g. 3700 = Transportation Equipment). See /stable/available-sectors | |
limitnumber | Optional | Maximum 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 ViewerResponse example (real data)
Response fields
symbol証券コード(4 桁。英字を含むコードもある) | string | 証券コード(4 桁。英字を含むコードもある) |
nameJa会社名(日本語) | string | 会社名(日本語) |
nameEn会社名(英語)。無ければ null | string | 会社名(英語)。無ければ 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. | 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 → |
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 → |
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 → |
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. | number | The 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. | number | Rank 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. | number | Rank 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 2013 | boolean | true のとき 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.

