Add real-time-style quote snapshots for US stocks to your product with a single request. This API returns a delayed (exchange-compliant) quote for each requested symbol, including last trade, bid/ask with sizes and timestamps, intraday change, rolling averages, 52-week extremes, market cap, and other reference fields.

API Endpoint

GET https://eodhd.com/api/us-quote-delayed

Description

The API returns delayed quote data for one or more US stock symbols. Batch requests are supported via a comma-separated list of tickers. Pagination is available for large lists. Responses are delivered in JSON by default, with CSV supported as well. The top-level JSON contains meta, data (a per-symbol object), and links for pagination. Field names and types are listed in the tables below.

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.

Request Example

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/us-quote-delayed?s=AAPL.US&api_token=YOUR_API_TOKEN&fmt=json
curl --location "https://eodhd.com/api/us-quote-delayed?s=AAPL.US&api_token=YOUR_API_TOKEN&fmt=json"
$curl = curl_init();

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

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

url <- 'https://eodhd.com/api/us-quote-delayed?s=AAPL.US&api_token=YOUR_API_TOKEN&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)

Parameters

ParameterRequiredTypeDescription
api_tokenYesstringYour API access token
sYesstringOne or more symbols separated by commas
page[limit]NointegerNumber of symbols per page (defaults apply; max 100)
page[offset]NointegerOffset for pagination

Output Format

FieldTypeDescription
meta.countintegerNumber of returned symbols
dataobjectA per-symbol object keyed by requested symbols
links.nextstring or nullURL to the next page of results, if available

Output fields per symbol (data[symbol]):

FieldTypeDescription
symbolstringInstrument code, for example AAPL.US
exchangestringExchange MIC code, for example XNAS
isoExchangestringISO-style exchange identifier
bzExchangestringHuman-readable exchange name
otcMarketstring or nullOTC market name if applicable
otcTierstring or nullOTC market tier if applicable
typeintegerInstrument type code
namestringCompany name
companyStandardNamestringStandardized issuer name
descriptionstringShort description of the instrument
sectorstringGICS or internal sector mapping
industrystringGICS or internal industry mapping
openfloatSession open
highfloatSession high
lowfloatSession low
bidPricefloatBest bid price
bidSizeintegerBest bid size
bidTimeinteger (ms)Timestamp of last bid update (Unix ms)
askPricefloatBest ask price
askSizeintegerBest ask size
askTimeinteger (ms)Timestamp of last ask update (Unix ms)
sizeintegerLast trade size (if provided)
lastTradePricefloatLast trade price
lastTradeTimeinteger (ms)Timestamp of last trade (Unix ms)
volumefloatCumulative session volume
changefloatAbsolute day change vs previous close
changePercentfloatPercent day change vs previous close
previousClosePricefloatPrevious close price
previousCloseDatestring (YYYY-MM-DD HH:MM:SS)Previous close date and time (UTC)
fiftyDayAveragePricefloat50-day moving average price
hundredDayAveragePricefloat100-day moving average price
twoHundredDayAveragePricefloat200-day moving average price
averageVolumeintegerAverage daily volume
fiftyTwoWeekHighfloat52-week high price
fiftyTwoWeekLowfloat52-week low price
marketCapintegerMarket capitalization
sharesOutstandingintegerShares outstanding
sharesFloatintegerFree float shares
pefloatTrailing price-to-earnings
forwardPEfloatForward price-to-earnings
dividendYieldfloatDividend yield, percent
dividendfloatDividend per share (ttm or latest)
payoutRatiofloatDividend payout ratio, percent
ethPricefloatExtended hours last price (if available)
ethVolumeintegerExtended hours volume
ethTimeinteger (ms)Extended hours last trade time (Unix ms)
currencystringTrading currency (ISO alpha-3)
issuerNamestringIssuer name
primarybooleanWhether this is the primary listing
shortDescriptionstringShort instrument description
issuerShortNamestringShort issuer name
timestampinteger (s)Snapshot timestamp (Unix seconds)

Sign up & Get Data

Output Response Example

{
  "meta": { "count": 2 },
  "data": {
    "AAPL.US": {
      "symbol": "AAPL.US",
      "exchange": "XNAS",
      "name": "Apple Inc",
      "open": 204.505,
      "high": 207.88,
      "low": 201.675,
      "lastTradePrice": 203.32,
      "lastTradeTime": 1754339340000,
      "bidPrice": 203.28,
      "bidSize": 4,
      "bidTime": 1754339351000,
      "askPrice": 203.32,
      "askSize": 1,
      "askTime": 1754339341000,
      "volume": 73006032,
      "change": 0.94,
      "changePercent": 0.46,
      "previousClosePrice": 202.38,
      "fiftyDayAveragePrice": 205.28,
      "hundredDayAveragePrice": 206.37,
      "twoHundredDayAveragePrice": 221.53,
      "fiftyTwoWeekHigh": 260.1,
      "fiftyTwoWeekLow": 169.2101,
      "marketCap": 3054287882360,
      "pe": 30.710167,
      "forwardPE": 25.974,
      "dividendYield": 0.51,
      "currency": "USD",
      "timestamp": 1754339340
    },
    "TSLA.US": {
      "symbol": "TSLA.US",
      "exchange": "XNAS",
      "name": "Tesla Inc",
      "lastTradePrice": 245.11,
      "lastTradeTime": 1754339340000,
      "bidPrice": 245.09,
      "askPrice": 245.12,
      "volume": 51234567,
      "change": -1.22,
      "changePercent": -0.49,
      "currency": "USD",
      "timestamp": 1754339340
    }
  },
  "links": { "next": null }
}

Live v2 vs Live v1

Live v2 for US Stocks gives you an extended quote snapshot per symbol: last trade (with event time), full bid/ask with sizes and their event times, plus richer context like rolling averages, 52-week high/low, market cap, P/E, dividends, and issuer fields. It’s focused on US equities and is ideal for quote tiles, watchlists, and any UI that needs bid/ask and timing detail.

Live v1 (“Live OHLCV Stock Prices API”) gives you the latest 1-minute OHLCV bar (open/high/low/close/volume) refreshed each minute. It doesn’t include bid/ask or trade event timestamps. It’s multi-asset (US and global stocks, Forex, crypto) and best when you only need the “last bar” for simple intraday charts or cross-asset tickers.

In short: choose Live v2 when you need quote-level details (bid/ask, last trade times, richer fundamentals) for US stocks; choose Live v1 when you need minute bars across multiple asset classes and don’t need quote microstructure.