Near real-time, low-latency finance API for the stock market, cryptocurrencies and currency exchange.

YH-compatible quotes, charts, options and 30+ fundamentals modules behind one key. A stale symbol refreshes from the source the moment you request it — any stock, crypto pair or currency cross, with daily history back to 1970. Create a free key and make your first call in minutes.

quote age in market hours
≤ 1 min
daily bars, back to 1970
13M+
endpoints on every plan
12
GET /V6/FINANCE/QUOTE
$ curl -H "x-api-key: sk_live_••••••••" -G \
    https://api.stockdataapi.com/v6/finance/quote \
    -d symbols=AAPL,BTC-USD,EURUSD=X

HTTP/1.1 200 · x-ratelimit-remaining: 99982
{
  "quoteResponse": { "result": [
    { "symbol": "AAPL",
      "quoteType": "EQUITY",
      "regularMarketPrice": 316.83,
      "regularMarketChangePercent": 2.19,
      … 84 more fields },
    { "symbol": "BTC-USD",
      "quoteType": "CRYPTOCURRENCY",
      "regularMarketPrice": 69464.0,
      "regularMarketChangePercent": 8.04,
      … 64 more fields },
    { "symbol": "EURUSD=X",
      "quoteType": "CURRENCY",
      "regularMarketPrice": 1.1679515,
      "regularMarketChangePercent": -0.02,
      … 55 more fields }
  ], "error": null }
}

$ 

Every market, one symbol format

Symbols follow the YH conventions your code already uses, so a stock, an index, a coin and a currency pair all go through the same endpoints with the same key.

  • Stocks & ETFsAAPLMSFTSPYQuotes, history, options chains and fundamentals
  • Indices^GSPC^DJI^VIXQuotes and history
  • CryptoBTC-USDETH-USDQuotes and history
  • CurrenciesEURUSD=XUSDJPY=XQuotes and history
  • FuturesES=FNQ=FQuotes and history, delayed about 10 minutes at the source

From signup to first call in minutes

Create your free key
  1. Create a free key

    Sign up and confirm your email with a 6-digit code. Add a card on Stripe's page — nothing is charged unless you upgrade — then create your key from the dashboard.

  2. Send it in a header

    Every request carries the key in x-api-key. Batch up to 50 symbols in one quote call, depending on your plan.

  3. Watch where you stand

    Each response reports your remaining allowance in X-RateLimit headers, and the dashboard shows the same counters live with 14 days of history.

curl -H "x-api-key: $KEY" \
  "https://api.stockdataapi.com/v6/finance/quote?symbols=AAPL,BTC-USD,EURUSD=X"

One request, three asset classes. Unknown symbols are left out of the result rather than failing the call.

Pricing

Start free — a card on file is required, and you are only charged if you upgrade. Paid plans raise the monthly ceiling; the per-minute limit is the same on every tier.

Payments are handled by Stripe. A new tier applies to the key you already hold; cancelling keeps paid access until the period ends.

Questions

Anything not answered here is covered in the documentation.

Do I need a card for the free plan?

Yes. A card on file is required before your first key is issued. Saving it costs nothing and you are only charged if you upgrade. The card is entered on Stripe's own page and never reaches this site.

How fresh is the data?

Quotes and charts refresh from the source at the moment you request them, so in market hours a quote is at most about a minute old. Futures arrive delayed about ten minutes at the source. Settled history never changes once it is stored.

Will my existing code work?

Responses keep YH envelope shapes — quoteResponse, chart, optionChain and the rest — so existing parsers, SDKs and spreadsheets keep working. Point them at the API's base URL and send your key in an x-api-key header.

What happens when I reach my limit?

The API answers with a 429 and a Retry-After header saying how long to wait. Every response carries X-RateLimit headers, and your dashboard shows the same counters live.

Does a second key add to my allowance?

No. Every key on an account spends one shared allowance. Extra keys exist so you can rotate without downtime and keep staging apart from production.

Can I change or cancel my plan?

Yes, from your dashboard. A new tier applies immediately to the key you already have — nothing to re-issue or redeploy. Cancelling keeps paid access until the end of the period, then the account returns to the free plan.

Your first call is a few minutes away.

A free key, every endpoint, full history.