Intraday data refers to stock price movements and market activity captured within the trading day, often at minute-by-minute or hourly intervals. Intraday historical data allows you to track these fluctuations in great detail, offering insights into market trends, trading volume, and price changes over shorter time frames. This is particularly valuable for day traders, algorithmic traders, and financial analysts who need to make fast, data-driven decisions based on short-term trends.
Intraday historical stock data can be used to backtest trading strategies, identify high volatility periods, or better understand how external factors affect market behavior within a single trading session. Whether for stocks, forex, or other financial instruments, intraday data is essential for those looking to capture and react to rapid market movements.
We support intraday historical data for major exchanges worldwide.
Quick jump:
Data Availability
US Stocks (NYSE and NASDAQ)
- 1-minute interval data available since 2004.
- Includes pre-market and after-hours trading.
- 5-minute and 1-hour intervals are available from October 2020.
FOREX & Cryptocurrencies
- 1-minute interval data available since 2009.
- 5-minute and 1-hour intervals available from October 2020.
Other Exchanges
- 5-minute and 1-hour interval data is available from October 2020.
- 1-minute data may be available depending on ticker and exchange; availability is not guaranteed and varies.
Data Updates
- Intraday data is delayed and finalized approximately 2–3 hours after market close.
- For US tickers, the 1-minute interval data is updated 2–3 hours after the end of after-hours trading.
Time Range Limitations
Interval | Maximum Range (from -> to) |
---|---|
1m | 120 days |
5m | 600 days |
1h | 7200 days |
Note: If no “from/to” is specified, the default is last 120 days.
Intraday API Endpoint
To access intraday historical stock prices, use the following endpoint:
https://eodhd.com/api/intraday/AAPL.US?api_token=demo&fmt=json
curl --location "https://eodhd.com/api/intraday/AAPL.US?api_token=demo&fmt=json"
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://eodhd.com/api/intraday/AAPL.US?api_token=demo&fmt=json', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', )); $data = curl_exec($curl); curl_close($curl); try { $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR); var_dump($data); } catch (Exception $e) { echo 'Error. '.$e->getMessage(); }
import requests url = f'https://eodhd.com/api/intraday/AAPL.US?api_token=demo&fmt=json' data = requests.get(url).json() print(data)
library(httr) library(jsonlite) url <- 'https://eodhd.com/api/intraday/AAPL.US?api_token=demo&fmt=json' response <- GET(url) if (http_type(response) == "application/json") { content <- content(response, "text", encoding = "UTF-8") cat(content) } else { cat("Error while receiving data\n") }
Try it now (it's free)!
How to use it (YouTube)
Parameters
Parameter | Required | Description |
---|---|---|
symbol | Yes | Format: SYMBOL.EXCHANGE_ID (e.g., AAPL.US, AAPL.MX) |
api_token | Yes | Your unique API key received after subscribing |
interval | No | Interval options: 1m (1-minute), 5m (5-minute), 1h (1-hour). Default: 5m |
fmt | No | Output format: json or csv. Default is json |
from | No | Start time (Unix timestamp in UTC)* |
to | No | End time (Unix timestamp in UTC)* |
split-dt | No | If set to 1, splits date and time into separate fields in the output. Suits for Zorro software. |
* For/to example: “from=1627896900&to=1630575300” corresponds to “2021-08-02 09:35:00” and “2021-09-02 09:35:00”
Response Fields
Field Name | Description |
---|---|
datetime (or “date / time separately”) | Timestamp of the data (UTC)* |
gmtoffset | GMT offset applied (usually 0 for UTC) |
open | Opening price of the interval |
high | Highest price within the interval |
low | Lowest price within the interval |
close | Closing price of the interval |
volume | Trading volume during the interval |
Note: all data is provided in UTC timezone. Timestamps are in Unix format.
Response example:
