All APIsexpand_more
Price-based indicators (52-week range, moving averages, etc.)
/stable/technicals1 tokens per callReturns 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.
What you can do with this API
- check_circleCompare the risk of ETFs through volatility and maximum drawdown
- check_circleCheck where the current price sits within its 52-week range
Example URL
https://api.zenithcode.net/stable/technicals?symbol=7203Shown 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 |
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 | string | |
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 → |
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 → |
week52HighThe highest split-adjusted high and lowest low over the last 365 days. Null with fewer than 200 trading days. | number | The highest split-adjusted high and lowest low over the last 365 days. Null with fewer than 200 trading days.How it is calculated → |
week52LowThe highest split-adjusted high and lowest low over the last 365 days. Null with fewer than 200 trading days. | number | The highest split-adjusted high and lowest low over the last 365 days. Null with fewer than 200 trading days.How it is calculated → |
ma50Simple average of the last 50 or 200 adjusted closes. | number | Simple average of the last 50 or 200 adjusted closes.How it is calculated → |
ma200Simple average of the last 50 or 200 adjusted closes. | number | Simple average of the last 50 or 200 adjusted closes.How it is calculated → |
volatility1yThe standard deviation of daily log returns, annualized, returned as a 0–1 decimal. | number | The standard deviation of daily log returns, annualized, returned as a 0–1 decimal.How it is calculated → |
avgTurnover90dAverage daily trading value (unadjusted close × volume) over the last 90 trading days. | number | Average daily trading value (unadjusted close × volume) over the last 90 trading days.How it is calculated → |
maxDrawdown1yThe largest fall from a running peak over the last year, returned as a negative decimal (−0.35 is a 35% fall). | number | The largest fall from a running peak over the last year, returned as a negative decimal (−0.35 is a 35% fall).How it is calculated → |
return3yAnnualizedThe annualized return from the last close on or before three years ago, and the Sharpe ratio: that return minus the risk-free rate, divided by 3-year volatility. | number | The annualized return from the last close on or before three years ago, and the Sharpe ratio: that return minus the risk-free rate, divided by 3-year volatility.How it is calculated → |
sharpeRatio3yThe annualized return from the last close on or before three years ago, and the Sharpe ratio: that return minus the risk-free rate, divided by 3-year volatility. | number | The annualized return from the last close on or before three years ago, and the Sharpe ratio: that return minus the risk-free rate, divided by 3-year volatility.How it is calculated → |
priceMetricsDate価格系指標の算出基準日 | string | 価格系指標の算出基準日 |
Related APIs
FAQ
Why are the values null for a stock?expand_more
This endpoint is currently filled for ETFs and REITs only; stocks will be added.
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.

