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

Peer comparison

GET/stable/peers10 tokens per callNew

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

What you can do with this API

  • check_circleCompare a stock with similarly sized rivals to see if it looks cheap
  • check_circleFind companies more profitable than the sector median

Example URL

https://api.zenithcode.net/stable/peers?symbol=7203&limit=10

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

Parameters

ParameterRequiredDescriptionExample
symbol
string
RequiredSecurities code (common stocks only, e.g. 7203 = Toyota Motor)7203
limit
number
OptionalNumber of peers, excluding the target and the median row (default 10, max 30)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 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

roleCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.stringCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.How it is calculated →
symbolnull on the sector-median rowstringnull on the sector-median row
nameJastring
nameEnstring
sectorTSE 33-sector codestringTSE 33-sector code
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 →
psrMarket capitalization divided by revenue. psrTtm uses trailing-twelve-month (TTM) revenue.numberMarket capitalization divided by revenue. psrTtm uses trailing-twelve-month (TTM) revenue.How it is calculated →
evToEbitdaEV divided by trailing-twelve-month (TTM) EBITDA.numberEV divided by trailing-twelve-month (TTM) EBITDA.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 →
roaNet income divided by average total assets (opening and closing), returned as a 0–1 decimal.numberNet income divided by average total assets (opening and closing), returned as a 0–1 decimal.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 →
marketCapRankCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.integerCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.How it is calculated →
marketCapRatioCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.numberCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.How it is calculated →
sectorCountCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.integerCommon stocks in the same sector, ordered by how close their market cap is to the target’s. The last row is the sector median.How it is calculated →

Related APIs

FAQ

Does it work for ETFs or REITs?expand_more

No. Pass the code of a common stock.

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.