EODHD APIs offer one of the best ways for trading enthusiasts, developers, and data analysts to incorporate live financial data into their decision-making projects, with a delay of 15-20 min covering almost all stocks on the market and 1 min delay for 1100+ Forex pairs.

Compare current Live data with similair datafeeds we offer:

AspectReal-Time (WebSockets)Live (Delayed)Intraday Historical
TransportWebSocket (push)HTTPS REST (pull)HTTPS REST (pull)
Latency / Freshness~live (<50 ms transport)Stocks: 15–20 min delay; Currencies: ~1 minFinalized ~2–3 h after US after-hours close
Data typesUS trades & quotes; FX ticks; crypto ticksLatest OHLCV snapshot (1-min updates)OHLCV bars at 1m / 5m / 1h
Time rangesn/a (streaming)n/a (snapshot feed)1m: 120 d · 5m: 600 d · 1h: 7200 d
Markets & assets*US stocks (pre/post supported), Forex & Digital CurrenciesUS & Global StocksForex & Digital CurrenciesUS & Global StocksForex & Digital Currencies
Best forDashboards, signals, market-making toolsQuote tickers, watchlists, lightweight UIsBacktests, analytics, charting

* Get the full list of covered tickers.

Sign up & Get Data

Live Stock Market & Currency API features

  • A support for almost all symbols and exchanges worldwide (Stocks, Currencies)
  • OHLCV data is provided with a 15-20 minute delay
  • Data with a 1-minute interval, meaning you receive prices at 1-minute frequency
  • Multiple tickers can be requested with a single request
  • Excel Webservice support
  • JSON and CSV formats

Request Example for Live OHLCV Data

Test Drive with "DEMO" Key
  1. You can start with “DEMO” API key to test the data for a few tickers only: AAPL.US, TSLA.US, VTI.US, AMZN.US, BTC-USD.CC and EURUSD.FOREX. For these tickers, all of our types of data (APIs), including Real-Time Data, are available without limitations.
  2. Register for the free plan to receive your API key (limited to 20 API calls per day) with access to End-Of-Day Historical Stock Market Data API for any ticker, but within the past year only. Plus a List of tickers per Exchange is available.
  3. We recommend to explore our plans, starting from $19.99, to access the necessary type of data without limitations.

Here is an example of live (delayed) stock prices API for AAPL (Apple Inc). Please note that the API token ‘demo’ only works for AAPL.US, TSLA.US , VTI.US, AMZN.US, BTC-USD tickers:

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/real-time/AAPL.US?api_token=demo&fmt=json
curl --location "https://eodhd.com/api/real-time/AAPL.US?api_token=demo&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/real-time/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/real-time/AAPL.US?api_token=demo&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/real-time/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")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

JSON response is:

Timestamp field explanation

We use Unix time for our timestamp field. Unix time represents a point in time by counting the number of seconds that have passed since 00:00:00 Coordinated Universal Time (UTC) on Thursday, January 1, 1970. You can easily check and convert all our timestamps using this tool.

For example, in the response above, the timestamp 1711670340 corresponds to Thursday, March 28, 2024, 23:59:00 GMT.

Multiple Tickers with One Request

Add the ‘s=’ parameter to your URL, and you will be able to retrieve data for multiple tickers in a single request. All tickers should be separated by a comma. For example, you can request data for AAPL.US, VTI, and EUR.FOREX with the following URL:

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/real-time/AAPL.US?s=VTI,EUR.FOREX&api_token=demo&fmt=json
curl --location "https://eodhd.com/api/real-time/AAPL.US?s=VTI,EUR.FOREX&api_token=demo&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/real-time/AAPL.US?s=VTI,EUR.FOREX&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/real-time/AAPL.US?s=VTI,EUR.FOREX&api_token=demo&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/real-time/AAPL.US?s=VTI,EUR.FOREX&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")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

Please note that ‘AAPL.US’ is used here at the beginning, and additional tickers are added with the ‘s=’ parameter.

We recommend limiting the number of tickers per request to 15-20 for optimal performance.

JSON and CSV formats

We support live (delayed) stock price data in both JSON and CSV formats. If you prefer CSV output, simply change ‘fmt=json’ to ‘fmt=csv’ or remove this parameter altogether.

Daily limits

Our API has a limit of 100,000 requests per day, with each symbol request counting as 1 API call. For instance, a request for multiple tickers with 10 symbols will consume 10 API calls.

Live data via Excel and Google Sheets

Access live data through our free Excel and Google Sheets add-ons. Learn more about them and download them here. With these add-ons, financial data for stocks, ETFs, mutual funds, and FOREX markets is now available on any device without coding. Additionally, we provide Excel support for Webservice.

Conclusion

EODHD provides one of the best solutions for integrating live finance data into decision-making projects, offering stock market data with real-time streaming and historical data API capabilities across global markets. Explore our pricing plans to explore all avalible features for your financial projects. We recommend checking out our Live (Delayed) Data API, which complements our offerings with free real-time and historical stock market data, empowering users with insights for their trading strategies.

Sign up & Get Data