All APIsexpand_more
Historical daily prices
/stable/historical-price-eod10 tokens per callPopularReturns daily open, high, low, close and volume, including split-adjusted prices. A single request can cover at most 5 years. Prices start on 4 January 2010 (or the listing date for stocks listed later).
What you can do with this API
- check_circleDraw a price chart
- check_circleCalculate your own moving averages or volatility from past prices
- check_circleMeasure long-term returns without the effect of stock splits
Example URL
https://api.zenithcode.net/stable/historical-price-eod?symbol=7203&from=2025-01-01&to=2026-01-01Shown 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 |
fromstring | Optional | Start date (YYYY-MM-DD). Defaults to one year before the end date | 2025-01-01 |
tostring | Optional | End date (YYYY-MM-DD). Defaults to today | 2026-01-01 |
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 | string | |
date | string | |
open | number | |
high | number | |
low | number | |
close | number | |
volume | number | |
adjustedClosePer-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 → |
Related APIs
FAQ
Can I get more than 5 years?expand_more
Not in one request. Split the range into several requests.
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.

