Short answer: A stock market data API delivers exchange prices, order book depth, history, fundamentals and corporate actions to software, usually over REST for snapshots and history and over WebSocket for live updates. What you may build with it depends less on the API than on the exchange license behind it. Real-time display, non-display use by algorithms and redistribution are licensed and priced separately, which is why free APIs are usually delayed by at least 15 minutes or limited to personal use.
Choosing a market data API looks like a comparison of endpoints and rate limits. In practice the deciding questions are about licensing: who will see the data, whether a machine will act on it, whether you pass it on, and which exchanges it comes from.
This guide covers data types, the license terms that exchanges such as Nasdaq and Borsa Istanbul publish, consolidated and direct feeds, adjustments and timestamps, and a selection checklist. Policies are described as published in October 2026; no provider is ranked or recommended. Related guides are collected under fintech software.
Market data types: what a stock data API delivers
Market data APIs differ first in what they deliver, from top-of-book quotes to reference data.
| Type | Content | Typical use |
|---|---|---|
| Level 1, real-time | Last sale, best bid and offer, volume | Quote screens, alerts |
| Level 2 or depth | Several price levels, sometimes individual orders | Trading screens, execution logic |
| Delayed | Level 1 data released after a fixed delay | Public websites, research |
| End-of-day | Daily open, high, low, close and volume | Valuation, screening |
| Historical intraday | Past trades, quotes or bars | Backtesting, analytics |
| Fundamentals | Financial statements and ratios | Screeners, valuation |
| Corporate actions | Splits, dividends, rights issues, symbol changes | Adjusted prices, positions |
| Reference data | Identifiers, tick sizes, calendars, index constituents | Order validation, mapping |
Exchanges define the delay precisely. Nasdaq's US data policies set the delay interval per product, for example 15 minutes, 24 hours or midnight local time, while Borsa Istanbul's Data Distribution Agreement treats data as delayed once 15 minutes or more have passed since its own time stamp. A provider may bundle several types, but each usually carries its own license.
Why free stock market data APIs are usually delayed
Free tiers are delayed, end-of-day or personal-use only because real-time exchange data is licensed per user or per device, and someone has to pay those fees.
Exchange policies show the mechanics. Nasdaq's US equities policy (version 2.6) says delayed data may carry no charge depending on the product, but every display must carry a delay message such as 'Data Delayed 15 minutes'. Nasdaq's European policy (September 2026) makes delayed Nordic and Baltic data generally free, yet treats selling it to third parties, directly or through a general access fee, as fee-liable and requires a Global Data Agreement for commercial or value-added redistribution. Borsa Istanbul's fee schedule (TR local rates, valid from 1 January 2026, VAT excluded) charges a distributor TRY 10,800 a month for delayed Level 1+ data and indices, against TRY 18,000 a month plus TRY 235 per user a month for real-time Equity Level 1+.
Two consequences follow. 'Free' usually describes the price of access, not the right to build a commercial product, so read the provider's terms on commercial use, caching and redistribution. And a free personal tier is rarely a sound base for a product you plan to sell.
Free tiers of common stock data APIs
Free tiers of common stock data APIs limit who may see the data as well as how often you may call them; the table shows each provider's own pricing page on 5 November 2026.
| Provider | Free tier as listed | Use the free tier allows |
|---|---|---|
| Alpaca | US stocks from IEX only: real-time over WebSocket for up to 30 symbols, a 15-minute delay via the REST API, 200 API calls a minute, 7+ years of history | Developers and researchers; all US exchanges need the paid plan |
| Alpha Vantage | 25 API requests a day; real-time and 15-minute delayed US data are premium-only | Premium-only status attributed to exchange, FINRA and SEC rules |
| Finnhub | 60 API calls a minute | Personal use, terms apply |
| Massive, formerly Polygon.io | Stocks Basic: 5 API calls a minute, 2 years of history, end-of-day data | Individual use |
| Tiingo | Starter: 50 requests an hour, 1,000 a day, 500 unique symbols a month, 1 GB a month | Internal use only |
| Twelve Data | Basic: 8 API requests a minute, 800 a day, WebSocket on a trial basis | Internal non-display use: testing, evaluation or development only, not shown to users or used in production |
None of these free tiers is a license to show live prices to paying users, which is the licensing point above. Pricing pages change without notice, so check them again before you build. For cryptocurrency prices, see crypto price APIs.
Market data API for commercial use: display, non-display and redistribution
Commercial use is licensed along three axes: who sees the data, whether machines use it, and whether it leaves your organization.
- Display vs non-display. Nasdaq defines non-display usage as any access other than display usage, meaning automated use by a machine without a person viewing a display; servers that run computations or create derived data can be fee-liable. Borsa Istanbul lists surveillance, risk management, algorithmic trading, investment analysis and order routing as non-display uses and requires a direct agreement for them.
- Professional vs non-professional. Under Nasdaq's US policy, a non-professional subscriber is a natural person who is not registered or qualified with the SEC, the CFTC or another securities or commodities body, not acting as an investment adviser and not doing such work for an exempt bank. Everyone else is professional, and subscribers count as professional unless they qualify otherwise, so apps must classify users and keep the evidence.
- Internal use vs redistribution. Showing data to your staff, to customers in your app or to another company are separate license events with separate reporting.
Hypothetical example: a portfolio app streams real-time quotes to 5,000 users, 40 of whom are registered with a securities regulator or exchange. Under Nasdaq's definitions those 40 are professional subscribers, the others count as non-professional only if each is a natural person meeting the criteria, and the server that evaluates price alerts on the same feed is non-display use. One feed, three license lines.
Most exchange licenses also require an entitlement system that controls and logs which user sees which data, periodic usage reports and audit rights. These duties belong in the architecture from day one.
Consolidated vs direct feeds
A consolidated feed combines quotes and trades from every venue that trades a security, while a direct feed comes from one exchange with its own depth and timing.
In the US, the CTA Plan covers Tapes A and B and the UTP Plan covers Tape C. According to the CTA site, Network A carries NYSE-listed securities and Network B securities listed on NYSE Arca, NYSE American and other regional exchanges; trades flow through CTS, quotes through CQS, and the securities information processor calculates the national best bid and offer and the Limit Up-Limit Down bands. This is changing: the consolidated tape site states that a single CT Plan administered by DataCT is planned to replace both plans on 1 April 2027, with one fee schedule approved on 27 June 2026, and that subscribers and distributors must sign new agreements before 1 March 2027.
Direct proprietary feeds add depth or order-level detail at extra cost and complexity. Where one exchange dominates a market, as with Borsa Istanbul equities, the choice is between depth packages and feed protocols instead; see Borsa Istanbul API and market data.
Historical stock data API: adjustments and timestamps
Historical prices become comparable only when corporate actions and time zones are handled explicitly.
- Splits change the price scale: after a 2-for-1 split, a split-adjusted series divides earlier prices by 2 and multiplies earlier volumes by 2.
- Dividends and rights issues are adjusted with provider-specific methods, so read the methodology and keep both raw and adjusted series.
- Delisted securities must stay in the history, or backtests suffer survivorship bias.
- Timestamps belong in UTC, with the exchange time zone kept as metadata, because daylight saving time shifts the UTC time of the same local clock time.
This tested snippet split-adjusts a synthetic series and shows the daylight saving effect with Python's zoneinfo module:
from datetime import datetime
from zoneinfo import ZoneInfo
# Synthetic daily bars (date, close, volume); a 2-for-1 split goes ex on 2026-03-10
bars = [("2026-03-06", 200.0, 1000), ("2026-03-09", 204.0, 1200),
("2026-03-10", 103.0, 2500), ("2026-03-11", 104.5, 2300)]
splits = {"2026-03-10": 2.0}
def split_adjust(bars, splits):
factor, out = 1.0, []
for day, close, vol in reversed(bars): # newest first
out.append((day, round(close / factor, 2), int(vol * factor)))
factor *= splits.get(day, 1.0) # affects all earlier bars
return out[::-1]
for row in split_adjust(bars, splits):
print(row)
# The same local clock time maps to different UTC times
for tz, local in [("America/New_York", "2026-03-06 09:30"),
("America/New_York", "2026-03-09 09:30"),
("Europe/Istanbul", "2026-03-09 10:00")]:
t = datetime.fromisoformat(local).replace(tzinfo=ZoneInfo(tz))
print(f"{tz:17} {local} -> {t.astimezone(ZoneInfo('UTC')):%H:%M} UTC")Output:
('2026-03-06', 100.0, 2000)
('2026-03-09', 102.0, 2400)
('2026-03-10', 103.0, 2500)
('2026-03-11', 104.5, 2300)
America/New_York 2026-03-06 09:30 -> 14:30 UTC
America/New_York 2026-03-09 09:30 -> 13:30 UTC
Europe/Istanbul 2026-03-09 10:00 -> 07:00 UTCNew York moved to daylight saving time on 8 March 2026, so the same 09:30 local stamp falls an hour earlier in UTC from 9 March, while Istanbul stays at UTC+3. More traps in historical data are covered in backtesting pitfalls.
Real-time stock data API delivery: REST, WebSocket, limits and SLAs
REST suits snapshots and history, WebSocket or other streams suit live prices, and most production systems use both.
- REST snapshots are easy to cache but cost one request each, so rate limits shape the design.
- Streams push updates as they happen, but the client must handle reconnects, gaps and resubscription; when messages carry sequence numbers, a gap means fetching a fresh snapshot, as with WebSocket order books.
- Rate limits work as a budget: requests per minute, symbols per connection and message rates, with back-off on errors.
- SLAs should state uptime, data latency, support hours, incident notices and what happens during an exchange outage.
Normalize every provider's messages into one internal model with symbol mapping, decimal prices and UTC timestamps, so that switching provider touches only one adapter; the same discipline applies to crypto exchange API integration.
How to choose a stock market data API: checklist
Settle the license before the API: confirm what you may do with the data, then compare coverage, quality and delivery.
- Use case: display to whom, non-display by which systems, redistribution to whom.
- Coverage: venues, asset classes, depth levels, consolidated or direct data.
- Timeliness: real-time, delayed or end-of-day, and the delay label you must show.
- User classification: how professional and non-professional users are identified, counted and reported.
- History: depth, delisted symbols, corporate action methodology, raw and adjusted series.
- Delivery: REST, WebSocket or files, rate limits, snapshot and recovery behavior.
- Reference data: identifiers, calendars, tick sizes, symbol changes.
- Contract: exchange fees passed through, audit rights, SLA, termination and data deletion on exit.
A short proof of concept against your hardest case, such as a split, a halted symbol or a reconnect at the open, reveals more than a feature list. An independent review of data licensing and architecture is part of project and product analysis, and building the connection is covered by exchange API integration.
Frequently asked questions
Is there a free real-time stock market data API?
Free real-time access is usually limited to personal use, a subset of venues or a trial, and the terms commonly forbid commercial use and redistribution. For example, as of 5 November 2026 Alpaca's free plan lists real-time data over WebSocket from IEX only, with a 15-minute delay via its API, while Alpha Vantage treats real-time and 15-minute delayed US data as premium. Check the provider's license before building a product on it.
What does delayed market data mean?
Data released after an exchange-defined delay: Borsa Istanbul uses 15 minutes from its time stamp, while Nasdaq sets the interval per product, such as 15 minutes, 24 hours or midnight local time. Displays of delayed data must say that they are delayed.
What is non-display use of market data?
Use by machines without a person viewing the data, such as algorithmic trading, risk calculation or order routing. Exchanges license and price it separately from display use.
What is the difference between a professional and a non-professional subscriber?
Under Nasdaq's US policy, a non-professional is a natural person who is not registered with securities or commodities regulators and does not act as an investment adviser; everyone else is professional. The class changes the fees and must be documented.
Should I store split-adjusted or raw prices?
Both: adjusted series for returns and backtests, raw prices for reconstructing what actually traded. Keep the corporate actions so either series can be rebuilt.
Sources
- Nasdaq: US Equities and Options Data Policies, version 2.6 (opens in a new tab)
- Nasdaq: European Data Policies, version 2.0 (1 September 2026) (opens in a new tab)
- CTA Plan: Consolidated Tape Association overview (opens in a new tab)
- UTP Plan: home page and CT Plan transition notice (opens in a new tab)
- US Consolidated Tape: transition to the CT Plan (opens in a new tab)
- Borsa Istanbul: Data Distribution Agreement version 21.a (1 January 2026) with data list and fee schedule (VAT excluded), archive (opens in a new tab)
- Borsa Istanbul: FAQ on data distribution and index licensing, non-display use (Turkish) (opens in a new tab)
- Python documentation: zoneinfo, IANA time zone support (opens in a new tab)
- Alpaca: Market data plans and pricing (opens in a new tab)
- Alpha Vantage: Support, free usage limits and premium-only US data (opens in a new tab)
- Finnhub: Pricing (opens in a new tab)
- Massive (formerly Polygon.io): Pricing (opens in a new tab)
- Tiingo: Pricing (opens in a new tab)
- Twelve Data: Pricing (opens in a new tab)
This guide is general information about software and markets, not investment, legal or tax advice. Automated trading can lose money, past or backtested performance does not guarantee future results, and the rules that apply depend on your jurisdiction and your exchange's terms. Sources, checks and corrections: see the editorial policy.