What Real-Time Market Data Actually Costs
What does real-time market data cost? The three layers of a live data bill, the exchange fees behind it, and why delayed and historical feeds stay cheap.
Real-time market data costs anywhere from a few dollars a month to five figures a month per exchange, and that spread exists before any vendor adds a margin. The bill arrives in three separate layers, and only one of them belongs to the company sending you the packets. Working out which layer charged you is what turns a paywall from arbitrary into predictable.
What real-time market data costs, layer by layer
The invoice for a live feed is a stack, and the vendor who collects it did not set most of it.
Layer one, the exchange license. Every US exchange owns the quotes and trades that print on its own venue and licenses that data to anyone consuming or redistributing it live. The fee is set by the exchange, published in a public schedule, and vendor-agnostic: the same venue charges the same monthly license whether the bytes reach you through one provider or another. Switching vendors never moves this line.
Layer two, the vendor's own fee. Access charges, per-connection or per-port charges, usage metering, history storage, support. This is the layer vendors compete on, and the only one a different provider can actually make cheaper.
Layer three, per-user reporting. Exchanges price live data per person entitled to see it, and the vendor is contractually obliged to count those people and report them every month. A signup form that asks about your job before it asks for a card is filling in that report.
Databento is unusually direct about the split, which makes its public pages a useful reference point. Its published exchange fee schedule runs from roughly $32 a month for the cheapest venue to over $20,000 a month at the top end, per exchange, and its own subscription tiers ran from $199 to $4,500 a month as of August 2026.
"In addition to pass-through license fees, live data is billed for usage per message."
Databento pricing page, read August 2026.
Two numbers on one invoice, set by two different parties. The exchange fee is a floor no vendor can undercut. Everything above it is the vendor's.
Why the number of venues changes the price
"The exchange" is not one place. A single US stock trades across many lit venues plus off-exchange reporting facilities, and each operator licenses its own feed. Here is where one household name's shares actually printed on a single past session.
The exact SQL behind every number
SELECT
venue,
round(100 * toFloat64(shares) / sum(toFloat64(shares)) OVER (), 2) AS share_of_volume_pct
FROM
(
SELECT
coalesce(nullIf(e.venue_name, ''), concat('Venue ', toString(t.exchange))) AS venue,
sum(t.size) AS shares
FROM global_markets.stocks_trades AS t
LEFT JOIN
(
SELECT
toString(id) AS exchange_id,
any(name) AS venue_name
FROM global_markets.stocks_exchanges
WHERE asset_class = 'stocks'
GROUP BY exchange_id
) AS e ON e.exchange_id = toString(t.exchange)
WHERE t.ticker = 'AAPL'
AND t.sip_timestamp >= toDateTime('2026-06-16 08:00:00', 'UTC')
AND t.sip_timestamp < toDateTime('2026-06-17 01:00:00', 'UTC')
GROUP BY venue
)
ORDER BY share_of_volume_pct DESC
LIMIT 12On that session the busiest single venue, Nasdaq, carried 47.76% of the shares, while the smallest of the 12 venues in view carried 0.22%. Entries naming a TRF are trade reporting facilities: prints arranged away from an exchange (dark pools, wholesalers, internalizers) surface through them rather than on a venue's own book. Seeing the whole picture live means either licensing each operator's direct feed or taking the consolidated tape, one bundled product carrying every venue under a single schedule. Direct feeds cost more per venue and arrive sooner. That choice, far more than the quantity of data, separates the two ends of the range above.
What the vendor's processing fee pays for
Layer two tracks work rather than ownership, and the work is message volume. A quote is not a price: it is a single update to the best bid or offer, and a liquid stock republishes that many times a second. Below is a full trading day of quote traffic for one symbol, split by clock hour and sorted busiest first.
The exact SQL behind every number
SELECT
formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:00') AS et_hour,
count() AS quote_messages,
formatReadableQuantity(count()) AS quote_messages_pretty
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-16 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-17 01:00:00', 'UTC')
GROUP BY et_hour
ORDER BY quote_messages DESCThe busiest hour, 10:00 ET, carried 213.96 thousand quote updates for that one symbol. The quietest hour on the tape, 17:00, carried 129.00, and the day spanned 16 clock hours in all, reaching well past the 9:30 a.m. to 4:00 p.m. regular session. Delivering that stream to you within milliseconds is real infrastructure with a real cost. Delivering yesterday's version of it is a file.
One license, every symbol on the venue
A common assumption is that the bill scales with how many tickers you watch. It does not. An exchange license covers the venue's entire book.
The exact SQL behind every number
SELECT
toString(toStartOfMonth(date)) AS month,
concat(monthName(date), ' ', toString(toYear(date))) AS month_label,
countDistinct(ticker) AS symbols_traded
FROM global_markets.stocks_daily_aggs
WHERE date >= toStartOfMonth(today() - 365)
AND date < toStartOfMonth(today())
AND volume > 0
GROUP BY month, month_label
ORDER BY monthIn July 2026, 13160 distinct US symbols printed at least one trade, against 11766 in August 2025. A single entitlement covers every one of them. The meters that move are people and usage, never the length of a watchlist.
Three thresholds that decide your bill
Professional or non-professional status
Same feed, same packets, two published rate cards, and the non-professional card is cheaper by a wide margin. The criteria have little to do with skill or account size, and they are laid out in full in professional versus non-professional market data. The budgeting point is narrower: one honest checkbox is the largest single swing in a small user's bill, and a misfiled status becomes the vendor's compliance problem as much as yours.
Display versus non-display use
This is the threshold most first-time builders never see coming. Display use means a human reads the number off a screen. Non-display use means a machine consumes it and no person ever sees that quote: automated order routing, a risk check, a pricing model, an alerting rule. Exchanges license non-display separately, usually as a flat per-firm fee rather than per user, and it is often the largest line on a systematic desk's data bill. Two traps sit here. A live chart on a public website is display use and redistribution at once, which carries its own license. A bot that reads a quote and emits only a signal is still consuming the data, and never showing it to anyone is not an exemption.
The 24-hour boundary between real time and history
Licensing categories are defined by age. A live quote is real-time data. The same quote held back 15 minutes falls into a much cheaper delayed category, which is the commercial mechanism behind why stock quotes are delayed 15 minutes. Push past roughly 24 hours and most agreements reclassify the same bytes again, as historical data, which generally sits outside real-time display entitlements altogether. The structure is straightforward. A quote's value to a trading firm decays in milliseconds. A price from yesterday cannot be sold at yesterday's urgency.
What this means for a hobby project
Everything above carries good news for a personal project: the expensive product is speed, and a learning project rarely needs it. Delayed quotes and deep history are cheap for a structural reason, not a stingy one.
The exact SQL behind every number
SELECT
toString(toYear(date)) AS year,
count() AS sessions,
round(avg(toFloat64(volume)) / 1e6, 1) AS avg_daily_volume_millions
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= toDate('2011-01-01')
AND date < toStartOfYear(today())
GROUP BY year
ORDER BY yearThat is 15 complete calendar years of one fund's daily record, 2011 through 2025, with 252 sessions in the first year and 250 in the last. Average daily volume measured 218.3 million shares in 2011 alongside 72.4 million in 2025. None of it carries a real-time entitlement. A backtest, a dividend study, a volatility curve, and a screener all run perfectly well on data that is a day old.
A sensible order of operations is to start delayed. The roundup of free stock market data APIs covers what is available without an entitlement, and querying market data with SQL covers what to do with it once you have it. Move to live only when the thing you are building genuinely stops working without it, and price all three layers before you do.
FAQ
How much does real-time market data cost per month?
Exchange license fees alone run from roughly $32 to over $20,000 per exchange per month, per Databento's published schedule as of August 2026, and the vendor's own charge sits on top. One non-professional user watching a handful of venues sits near the bottom of that range. A firm consuming every US venue for non-display use sits near the top.
Why is delayed market data free when real-time data is not?
Delayed data is a separate and far cheaper licensing category. A quote's commercial value to a trading firm lives in the moment it prints, so vendors can hand out a 15-minute-old copy at little or no cost without competing with the live product.
Do I need an exchange license for a personal project?
If your project displays or consumes live quotes, an entitlement exists whether or not you ever see the fee: the vendor pays it and reports you as a user. Projects built on delayed or historical data generally fall outside real-time entitlements. Your vendor's terms of service are the authority for any specific case.
What is non-display use of market data?
Any consumption where no human reads the number: automated trading, order routing, risk engines, algorithmic pricing. Exchanges license it separately from display use, typically per firm rather than per user, and it frequently costs more than the display license for the identical feed.
Does historical market data cost the same as real-time?
No. Once data crosses a vendor's real-time boundary, commonly 24 hours, it is generally reclassified as historical and priced as a product rather than a per-user entitlement. That gap is why decades of daily bars can cost less than a single day of live quotes.
Every panel on this page ships with the SQL that produced it. Open one, swap the ticker or the date, and ask the same question yourself on the Strasmore terminal.