Stock data API

The stock data API turns a list of ticker symbols into structured quote rows — for each symbol you get the current price, currency, exchange, instrument type, previous close, the session high and low, the 52-week high and low, regular-market volume and the quote timestamp.

It reads Yahoo Finance's public chart endpoint, so there is no API key to provision and no per-request quota to nurse. It handles more than equities: ETFs, indices like ^GSPC and FX pairs like EURUSD=X resolve the same way, and setting include_history attaches an OHLCV series to each row for the range and interval you choose.

$0.001 per delivered quote, up to 50 quotes per run. Nothing delivered means nothing charged.

How the stock data API works

You post a symbols array — up to 50 tickers, in Yahoo's notation (AAPL, ^GSPC, EURUSD=X). Each symbol is fetched over the TLS tier through a residential exit and parsed into one flat quote row.

Two switches control the shape of the output:

Pairing prices with company fundamentals? The SEC EDGAR collector is the companion for filings-based financials on the same tickers.

Inputs

The only required input is symbols, an array of up to 50 tickers. include_history toggles the OHLCV series; range (1d through max) and interval (1m through 1mo) shape that series when it is on. max_results caps how many symbols the run actually resolves, defaulting to 10.

What one quote looks like

Each symbol is one flat row. price, previous_close, day_high, day_low and the fifty_two_week_high/fifty_two_week_low pair are all numeric, so range and change calculations need no parsing. market_time is an ISO 8601 timestamp with a timezone field beside it, and history holds the OHLCV points as { date, open, high, low, close, volume } objects, empty unless you asked for them.

What the Stock data API costs

$0.001 per delivered quote (

per 1,000). Nothing delivered means nothing charged, and the $2 monthly free credit covers roughly 2,000 quotes here. Volume tiers take up to 30% off.

$0.001 per delivered quote,

per 1,000. Polling 500 tickers every minute through a trading session is a few dollars a day at list price, and volume tiers bring it down. Turning on include_history does not change the per-row price — a quote with its OHLCV series still bills as one delivered row.

Symbols that do not resolve are not billed, and the free monthly allowance of $2 covers about 2,000 quotes. GET /v1/scraper/collectors returns the exact per-row price your key is charged.

Stock data API vs an official market-data feed

Yahoo Finance no longer offers a supported public API — the official one was discontinued years ago, which is why the community libraries you have seen all quietly hit the same undocumented endpoints and break whenever Yahoo shifts them. The licensed alternative is a direct exchange or vendor market-data feed, which is authoritative and real-time but comes with per-seat licensing, exchange fees and entitlement paperwork that only makes sense for a trading desk.

This collector sits in the middle: it reads Yahoo's public chart endpoint the way a browser does, keeps up with the handshake and rotation that keep those requests flowing, and returns typed rows for a flat per-quote price. It is built for research, dashboards and monitoring rather than for low-latency execution, and it does not carry the redistribution rights a licensed feed does.

Versus calling the chart endpoint yourself

Fetching one Yahoo quote is a single request. Keeping thousands flowing is the part people underestimate:

  • The endpoint expects a handshake. Yahoo gates the chart endpoint behind a cookie-and-crumb exchange that expires, and a script that skips it starts getting 401s once volume rises.
  • Rate limits arrive without warning. Poll hard from one IP and you are throttled mid-session; without rotating exits your watchlist goes stale exactly when the market is moving.
  • The JSON shape has edge cases. Pre-market rows, halted tickers and FX pairs each format differently, and a parser that assumes the common case writes nulls or wrong numbers.

Handing it over gives you typed rows and per-quote billing. If you would rather keep your own poller and just want clean exits under it, the residential proxies are the network this collector runs on.

What people build with it

Portfolio and watchlist dashboards

Poll a basket of tickers on an interval and read price, previous_close and the 52-week range to drive a live dashboard without licensing a full market feed.

Backtesting from OHLCV history

Turn on include_history with a longer range and coarser interval to pull the OHLCV series a strategy backtest needs, one symbol per row.

Cross-asset monitoring

Mix equities, ETFs, indices like ^GSPC and FX pairs like EURUSD=X in one run and sort on instrument_type to watch a whole book from a single call.

Limits, latency and the legal bit

One run resolves up to 50 symbols, and the attached history is capped at the most recent 120 points per symbol; longer or denser series mean more runs. Runs are independent and parallelise up to your plan's rate limit — 60 requests a minute on pay-as-you-go, up to 1,200 on the top tier. Prices track Yahoo's public quote, which can be delayed for some exchanges, so this is a research and monitoring source rather than an execution feed.

Legally: quote data is displayed publicly on Yahoo Finance, and reading public data is generally lawful in most places, but Yahoo's terms restrict automated access and market data often carries redistribution limits set by the exchanges. This is not legal advice — get advice before you redistribute.

FAQ

Is there a free stock data API?

Free tiers exist but are usually tightly capped, and Yahoo's own public API was discontinued. This collector reads Yahoo's public chart endpoint with no API key, and includes a $2 monthly allowance, about 2,000 quotes at $0.001 each, before you pay anything.

Do I need a Yahoo Finance or market-data API key?

No. There is no Yahoo key or registration, because the data is read from the public chart endpoint rather than a licensed feed. Your QuantumProxies key is the only credential the request uses.

What instruments does it cover?

Equities, ETFs, indices and FX pairs. Use Yahoo's notation — a plain ticker for stocks and ETFs, a caret prefix for indices like ^GSPC, and the =X suffix for currency pairs like EURUSD=X — and instrument_type labels each row.

Can I get historical OHLCV data?

Yes. Set include_history to true and choose a range and interval, and each row carries up to the last 120 OHLCV points as date, open, high, low, close and volume objects. It stays one delivered quote for billing.

Related scrapers