5 Best Stock APIs for Real-Time and Historical Prices

The right api stock provider is the one whose free limits survive your real workload. If you need global coverage and WebSocket streaming, start with iTick. For a quick US prototype with built-in indicators, Alpha Vantage works. Finnhub suits you if you want a generous call rate, and Twelve Data fits multi-asset projects. For a throwaway script, the unofficial yfinance library gets you prices in minutes.
Most developers hit the same wall. A free stock price API looks fine in a tutorial, then you add 50 tickers and the rate limit stops you. Or the data only covers US markets, and your project needs Hong Kong or China A-shares. Switching providers later means rewriting your parsing code, so the first choice matters.
This list compares five options on what counts when you pull prices into your own app: markets covered, real-time versus end-of-day data, free tier limits, and who each one suits. iTick is our own product, and it comes first because its free plan and coverage fit this search well. Limits change often, so check each provider's pricing page before you build around a number.
1. iTick Stock API
iTick's Stock API is the strongest all-round pick if you need real-time and historical prices beyond US tickers. It runs on REST and WebSocket, so one account covers both polling and streaming.
What you get
The coverage is the main draw. You query US, Hong Kong, China A-share, Japanese and Singapore stocks through one interface, with millisecond-level latency across 50+ exchanges. Most Western providers treat Hong Kong and A-shares as an afterthought.
- Markets: 10,000+ US stocks, 2,500+ Hong Kong, 5,000+ A-shares, 3,800+ Japanese and 700+ Singapore
- Depth: tick-level data, Level-2 order book depth and 10+ years of history
- Formats: JSON or CSV
- Client libraries: Python, JavaScript, Go and Java
One key gives you real-time and historical stock prices across five markets.
Free tier and pricing
The free plan costs $0, needs no credit card and includes real-time quotes and historical K-line (OHLCV) data. It is for personal use and evaluation only. Paid plans add rate limits and streaming capacity.
| Plan | Price per month | REST calls per minute | WebSocket connections | WebSocket subscriptions |
|---|---|---|---|---|
| Free | $0 | 5 | 1 | 3 |
| Base | $79 (regular $99) | 120 | 3 | 200 |
| Professional | $159 (regular $199) | 600 | 6 | 500 |
| Premium | $319 (regular $399) | 1200 | 12 | 2000 |
Here is a worked example. Say you track 150 tickers. Polling each one by REST once a minute takes 150 calls per minute, which is above Base at 120 but well inside Professional at 600. Streaming the same 150 tickers over WebSocket fits within Base's 200 subscriptions. Streaming is usually the cheaper route for a watchlist. Professional and Premium also cover business use, which the free plan does not.
2. Alpha Vantage
Alpha Vantage is a good free stock API for learning and small US-focused prototypes. It is simple to call, and its tutorials are everywhere.
What you get
You get time series data (intraday, daily, weekly, monthly), plus forex, crypto, fundamentals and technical indicators, all returned as JSON or CSV. The indicators are handy because you do not have to calculate SMA or RSI yourself.
- Coverage centers on US equities, with some international symbols
- Technical indicators come as ready-made endpoints
- Real-time US data sits on paid plans
Alpha Vantage is easy to start with, but its free quota is built for testing, not for running an app.
Free tier and pricing
The free key allows about 25 requests per day, according to the provider's current documentation. That is enough to test a script and not enough to refresh a dashboard. Paid plans raise the per-minute limit and unlock real-time data.
It suits students, backtesting experiments and anyone building a proof of concept on US stocks. If your project needs streaming or Asian markets, you will outgrow it quickly.
3. Finnhub
Finnhub offers one of the more generous free tiers for real-time US quotes. It is a solid choice when call volume matters more than market breadth.
What you get
Beyond prices, Finnhub bundles company news, basic fundamentals, forex and crypto data. Its free plan includes WebSocket streaming for US stocks with a cap on symbols.
- Real-time US stock quotes through REST
- News, fundamentals and market data in one API
- Some historical endpoints are limited on the free plan
Finnhub's free call rate is high, but test the exact endpoint you need before you commit.
Free tier and pricing
The free plan allows around 60 API calls per minute, far more than most free options. Access to some datasets, including parts of historical candle data, has been restricted to paid plans, so confirm that your required endpoint is included.
It suits hobby trading tools, news-driven apps and small bots that mostly watch US stocks. International coverage is thinner than at providers built for global markets.
4. Twelve Data
Twelve Data is a tidy multi-asset API that handles stocks, forex, crypto and ETFs under one syntax. Choose it when your project spans several asset classes and you want clean, consistent responses.
What you get
The time series endpoint is simple, and technical indicators are built in. It covers many global exchanges, though some markets and features depend on your plan.
- One request format across stocks, forex and crypto
- Built-in technical indicators
- Official libraries and clear documentation
Twelve Data trades breadth of asset classes for tight free limits.
Free tier and pricing
The free plan allows 8 requests per minute and 800 per day. The per-minute cap is tighter than Finnhub's, so a large watchlist needs batching or a paid plan. Check which exchanges and streaming features are included before you rely on it.
It fits dashboards and side projects that mix assets. Heavy real-time use will push you to a paid tier.
5. yfinance (Yahoo Finance data)
yfinance is the fastest way to grab prices for a script, with no signup and no key. It is an open-source Python library, not an official API.
What you get
You can pull historical prices, dividends, splits and basic company info with a few lines of Python. It works well in notebooks.
- No API key or account needed
- Python only
- Data comes from Yahoo Finance's public pages and endpoints
yfinance is a prototyping shortcut, not a foundation for a product.
Free tier and pricing
It costs nothing, but Yahoo does not offer a supported public API, so there is no uptime promise, no stated rate limits and no support. Endpoints can change or throttle you without notice. Check Yahoo's terms before using the data commercially.
It suits students, research notebooks and one-off analysis. Once other people depend on your app, move to a provider with documented limits and support.
Which stock API to start with
If you only need a quick US price in a notebook, yfinance or Alpha Vantage will do. For steadier US quotes, Finnhub and Twelve Data give you more room on the free tier. If your project needs real-time streaming, Level-2 depth, or markets like Hong Kong and China A-shares, iTick covers them with one key and a free plan to test first.
Whatever you pick, test with your real watchlist and call rate before you build around the free tier. You can create a free iTick API key and run your own tickers through the REST and WebSocket endpoints today.