About the Service
What can the J-Quants API service do?
J-Quants API is a service that allows users to obtain financial data such as historical stock prices (OHLC), trading volume, and Company earnings via API. It aims to make it easier for individuals to obtain well-formatted financial data. J-Quants API democratizes financial data, providing individuals with the same data sets as institutional investors.
What kind of data is provided by the J-Quants API?
See the available datasets currently offered.
I don't know how to use J-Quants API. What should I do first?
For first-time users, please refer to the Quick Start Guide. The basic flow is as follows. See also the API Spec Documentation for details.
- Create an account and sign in
- Issue and obtain an API key from the 'API Keys' page on the dashboard
- Send requests to data endpoints with the x-api-key: <API key> header
Is it possible to get data in file format such as CSV instead of API?
You can download CSV files (Free plan users can only access Trading Calendar). See File Downloads for details.
Where can I obtain data that is not provided by J-Quants API?
Data and usage patterns not provided by J-Quants API may be available through J-Quants DataCube or J-Quants Pro. Please check each service's website for availability and details.
- Data outside the provided data period → J-Quants DataCube
- Corporate use and academic research use → J-Quants Pro
When is data updated?
Update timing varies by data type. See the data update schedule and endpoint spec documentation for details.
- OHLC prices: Updated after market close on trading days
- Financial data: Updated at 18:00 and 24:30 JST (API updated continuously for Premium plan)
- Equities master: Next business day data available from 17:30 JST
Are there rate limits for the API?
Each plan has a per-minute request limit. If you exceed the rate limit, you will receive a 429 Too Many Requests error. Please wait and try again. See Rate limits for details.
- Free: 5 requests/min
- Light: 60 requests/min
- Standard: 120 requests/min
- Premium: 500 requests/min
I get an error when specifying date parameters in my request.
Date parameters must be in YYYYMMDD (e.g., 20240101) or YYYY-MM-DD (e.g., 2024-01-01) format, and must be a valid calendar date. Specifying a non-existent date (e.g., 20240230) will cause an error.
I'm getting a 403 error with an 'invalid or expired' message.
Your API key may not be sent correctly. Please check the following:
- You are not sending the x-api-key header and the Authorization header at the same time (sending both is not supported; use only the x-api-key header in V2)
- No extra spaces or newlines are included in your API key
- To isolate the cause, also check the status code: 400 errors are caused by invalid request parameters and 429 errors by exceeding the rate limit, which are different causes from 403
I registered but haven't received a confirmation email.
Your registration may already be complete. Try signing in with your email and password at the sign-in page. If you cannot find the email, please also check your spam folder.
Can I use V1 API endpoints?
J-Quants API has migrated from V1 to V2, changing authentication from the token method to the API key method. V1 has been closed, and all users can only use V2. In V2, include your API key in the x-api-key request header. See the V1→V2 migration guide and Quick Start Guide (V2 auth) for details.
What are the V2 equivalents of the V1 endpoints I was using?
Key V1→V2 endpoint mappings are listed below (partial). Note that some response column names have also been shortened in V2 (e.g., stock price Open → O, Close → C). See the full mapping at the V1→V2 migration guide.
- OHLC prices: /v1/prices/daily_quotes → /v2/equities/bars/daily
- Listed stocks: /v1/listed/info → /v2/equities/master
- Financial info: /v1/fins/statements → /v2/fins/summary
- Financial statements: /v1/fins/fs_details → /v2/fins/details
- Trading calendar: /v1/markets/trading_calendar → /v2/markets/calendar
- Short-selling ratio: /v1/markets/short_selling → /v2/markets/short-ratio
- Index OHLC: /v1/indices → /v2/indices/bars/daily
V1 sample code using auth_user / auth_refresh stopped working.
The V1 endpoints /v1/token/auth_user and /v1/token/auth_refresh have been discontinued. V2 uses API key authentication via the x-api-key request header. Update your sample code authentication as follows. See also the V1→V2 migration guide and Quick Start Guide.
- Old (V1): Get refresh token via auth_user → Get ID token via auth_refresh → Set Authorization: Bearer <ID token>
- New (V2): Get API key from dashboard → Set x-api-key: <API key>