A futures market data API gives your code trades, top-of-book quotes, historical bars and contract details from exchanges such as CME Group, over REST, WebSocket or a raw socket. The right one depends on four things: how fast you need data, how much history you need, which exchanges you trade, and what exchange fees you will owe on top of the vendor’s price. This guide walks through each, with the specifics vendors publish.
A note on scope: we build PingOdds, a sports betting odds API. If you landed here looking for financial futures feeds, the sections below are for you. If you meant futures bets on sportsbooks, jump to the sportsbook section.
TL;DR
- Futures data usually means trades, top-of-book quotes, market depth and daily statistics (volume, open interest, settlement price).
- Real-time access comes through WebSocket (JSON), raw TCP sockets or REST snapshots. Pick by latency need and language support.
- Exchange fees are separate from vendor fees and are often the larger cost. Budget for both.
- Check contract details before coding: expiration codes, trading hours, time zones and per-request history limits.
- For sportsbook odds from 14 US and Ontario books in one JSON API, see PingOdds pricing: Free, Starter at $19 per month, Pro at $99 per month.
Table of Contents
- What futures market data includes
- How developers get real-time futures data
- Historical futures data: limits and contract details
- Contract codes, exchanges and trading hours
- What futures market data costs
- Matching the feed to your project
- Our perspective
- When the futures you want are sportsbook odds
- Start with the free plan
- A short checklist before you commit
- FAQ
- Sources
What futures market data includes
Futures data comes in layers, and vendors sell them separately.
Trades and quotes. The basics are executed trades and the best bid and offer (top of book). CME Group’s real-time API, for example, delivers top-of-book prices, trade information and daily statistics such as cleared volume, open interest and settlement price, in JSON over a cloud-hosted WebSocket. Its top-of-book messages are conflated at 500 ms to save bandwidth, which matters if you assumed every tick arrives.
Market depth. Level 2 shows resting orders beyond the best price. Some providers go further: Databento lists schemas from trades and top-of-book to full order book (mbo), 10-level depth (mbp-10), OHLCV bars, definitions, imbalance and statistics, with nanosecond timestamps, across CME, ICE, EEX and Eurex.
Reference data. Contract specifications, expirations, tick sizes and schedules. Developers often skip this and regret it when a roll date breaks a backtest.
Historical depth. Some vendors focus on bars and curves rather than ticks. AxionQuant’s futures API, for instance, advertises daily and hourly prices back to 1987, continuous contracts, roll dates and full term structure across expiries. That suits curve modeling better than microsecond execution research.
Before you compare vendors, write down which layer you need. A dashboard that refreshes every few seconds needs very different data from a market-making model.
How developers get real-time futures data
Three access patterns cover almost every provider.
WebSocket with JSON
The most approachable option. You open one connection, subscribe, and messages are pushed to you. CME Group’s service lets you connect to all or just one product. Massive offers WebSocket feeds for US futures with per-minute and per-second aggregates, trades and quotes from CME, CBOT, COMEX and NYMEX.
Watch the connection limits. iTick’s futures WebSocket documentation states that a single connection may subscribe to at most 500 symbols, and that certain subscriptions are restricted to premium tiers. Read the limits page before you design a symbol universe.
Raw socket protocols
When latency and throughput matter, some vendors use a plain TCP stream. Databento’s live API is a socket-based, subscription-style protocol: the host is derived from the dataset ID, the port is always 13000, and one API key supports several simultaneous connections. A useful design point there: the live API uses the same schemas and symbology as the historical API, so code written against history carries over to live.
REST for snapshots and lookups
REST is the right tool for contract lists, schedules, snapshots and bars on demand. Massive’s futures REST API covers contracts, products, schedules, aggregate bars, snapshots, trades, quotes, market status and exchanges. Most production systems mix both: REST at startup to learn what exists, WebSocket to stay current.
Authentication
Expect API keys or bearer tokens. Fastmarkets, for one, requires an access token with a specific scope sent in the Authorization header with the Bearer prefix. Keep tokens out of client-side code and rotate them like any credential.
Trading hours and data availability
Outside session hours, feeds go quiet. Deutsche Börse notes that its Cloud Stream is available around the clock, but data updates only when the relevant venue is open. A silent stream on Saturday is not a bug. Build a heartbeat and a market-status check so your monitoring can tell the difference.
Historical futures data: limits and contract details
Historical requests are where the fine print bites.
Request size caps. DTN’s ProphetX daily history operation defaults to 260 data points, about a year of daily bars, with a maximum of 3,660 points for one symbol per request, and a cap of 1,020,000 data points across many symbols. Long histories mean pagination.
Resolution. Massive’s REST API returns OHLC and volume bars from seconds up to session, week, month, quarter or year, so you can choose the grain that matches your model rather than resampling yourself.
Bulk files. For large backtests, flat files beat paging through endpoints. Massive says it generates daily downloadable files for CME, CBOT, COMEX and NYMEX every trading day, available by roughly 11:00 AM ET the next morning.
Expiration handling. A futures contract dies. Your history needs either individual contracts with exact dates or a continuous series with a stated roll rule. Ask which you are getting. Massive’s Contracts endpoint returns full lists of expirations (such as ESU6 and ESZ6) with first and last trade dates, settlement dates, tick sizes, order quantity limits, days to maturity and point-in-time active status. That last field is what lets you avoid look-ahead bias in a backtest.

Contract codes, exchanges and trading hours
Futures tickers combine a product root, a month letter and a year digit. ES is the E-mini S&P 500 root, and the suffix names the delivery month and year, which is why a single product has many live tickers at once. Your code should treat the product and the expiration as separate fields.
Exchange coverage varies. A US-focused feed may cover CME, CBOT, COMEX and NYMEX only, while others extend to ICE, EEX and Eurex. Session hours differ too: per Massive’s documentation, CME and CBOT products trade Sunday 5:00 p.m. to Friday 5:45 p.m. CT, while COMEX and NYMEX products trade Sunday 5:00 p.m. to Friday 4:00 p.m. CT, and its schedules endpoint returns product-specific hours in UTC.
That last detail deserves a rule: store everything in UTC and convert only at display. Daylight saving changes in the US and Europe happen on different dates, and a few mismatched weeks can corrupt an intraday dataset.
What futures market data costs
Two bills arrive: the vendor’s and the exchange’s.
Vendor and exchange fees. CME Group’s API uses usage-based pricing, with tiers starting at $0.50 per GB plus applicable ILA fees, and gigabyte usage varies by product and data type. A broker’s schedule shows what non-professional retail users pay: Optimus Futures lists a CME bundle at $9 per month for Level 1 and $41 per month for Level 2 for non-professionals.
Professional feeds. NexusFi puts CQG data at $150 to $250 per month before exchange fees, noting that exchange fees are often the larger cost, and estimates total cost of ownership for a retail trader running ES, NQ and CL with depth at about $250 to $280 per month. CQG itself describes connections to more than 85 market data sources, which is why institutional desks use it.
Aggregated data platforms. If you wonder whether Nasdaq Data Link is free: it has a free tier for select datasets, but most comprehensive data requires paid subscriptions shaped by volume, refresh rate and licensing. One review puts premium datasets anywhere from $50 to over $5,000 per month depending on the publisher.

Practical advice: confirm whether you will be classed as a professional or non-professional user, because exchange fees differ, and ask whether redistribution inside your own product requires a separate license. Building an app for other people changes the licensing conversation.
Matching the feed to your project
| Project | What you need | Access pattern | Watch for |
|---|---|---|---|
| Dashboard or alerts | Top of book, settlement, open interest | WebSocket JSON | Conflation (CME top-of-book is conflated at 500 ms) |
| Backtesting | Bars or ticks with contract specs | REST plus flat files | Roll rules, point-in-time active status |
| Execution research | Full depth, nanosecond timestamps | Socket or mbo schemas | Data volume and cost |
| Curve modeling | Term structure across expiries | REST history | Continuous contract methodology |
| AI agent workflows | Structured JSON, simple auth | REST or hosted agent server | Rate limits and token scope |
One more filter that saves time: SDK support. Some providers ship first-class libraries; tickstream, for example, lists SDKs in Python, Node, browser JS, Rust and Go and a hosted MCP server so agents can read the same feed. If your team lives in one language, that can decide the choice.
Our perspective
We build odds infrastructure, and the lesson we keep relearning is the same one that applies to futures data: the feed is only as useful as its timestamps and its history.
Whether a price is a Treasury future or a sportsbook line, you need to know when it was observed, how it moved, and what the fair price was. That is why we publish timestamped data, keep price and line movement history, and compute no-vig probabilities, so developers do not have to rebuild that layer themselves.
We also believe in boring pricing. Our plans are flat monthly rates, and our position is that data quality should be the same on every tier. Paid plans raise request limits and unlock streaming, webhooks and signals, but the underlying data does not get worse on the free plan.
If you are choosing any market data API, ask the same three questions: how fresh, how deep, and how predictable is the bill?
Cameron
When the futures you want are sportsbook odds
Searchers sometimes use “futures” for championship, MVP and win-total markets at sportsbooks. That is a different data problem from exchange-traded contracts, and it is the one we solve. PingOdds aggregates odds from 14 sportsbooks across the US and Ontario into a single JSON API, with current odds, historical price changes and no-vig probabilities, delivered over REST, WebSocket and webhooks.
If you are building a betting tool, the same discipline from the futures world applies. Track how prices move over time, and measure your bets against the closing price, which our guide to closing line value explains. If you want to turn odds into a decision rule, see how to build your own +EV tool. Analysts who prefer spreadsheets can follow our walkthrough on a betting model in Excel with live odds.
Start with the free plan
PingOdds has a Free plan at $0 per month, Starter at $19 per month and Pro at $99 per month. Paid plans unlock higher request limits, live streaming, advanced betting signals, webhooks and AI agent integrations. You can read the details on the pricing page, or see the PingOdds homepage for how a single request returns every sportsbook’s line.

Steam, arbitrage and +EV signals are available as part of the paid tiers, so you can move from raw odds to actionable alerts without writing the detection logic yourself.
A short checklist before you commit
- List the exchanges and products you need, and confirm the vendor covers them.
- Decide between WebSocket, socket and REST based on latency and your language.
- Read the symbol, connection and request-size limits.
- Confirm how contracts, rolls and expirations are represented.
- Store timestamps in UTC and test across a daylight saving change.
- Add up vendor and exchange fees, and check professional versus non-professional status.
- Run a week of live data in staging before you wire it to anything that moves money.
FAQ
Is the Nasdaq Data Link API free?
It has a free tier with limited access to select datasets. Most comprehensive financial and alternative data requires a paid subscription, and pricing depends on data volume, refresh rate and licensing. Check each dataset’s page for its specific cost.
What is a CQG data feed?
CQG is a market data and trading technology provider. It describes access to more than 85 market data sources and 45 tradable exchanges. Traders typically reach it through a broker or platform, and exchange fees are billed separately.
Can I get real-time futures data in JSON?
Yes. CME Group offers real-time futures and options data in JSON over WebSocket, and other providers offer JSON streams and REST endpoints too. Confirm the update rate, since some feeds conflate messages.
Does PingOdds provide financial futures data?
No. PingOdds is a sports betting odds API covering 14 US and Ontario sportsbooks, with odds history, no-vig probabilities and signals. For exchange-traded futures, use an exchange-licensed feed such as those above.
Sources
- CME Group Real-Time Futures and Options Data API
- Databento futures market data
- Databento Live API documentation
- AxionQuant Futures Data API
- Massive futures WebSocket overview
- Massive futures REST overview
- Massive: Futures Data Has Arrived
- iTick WebSocket API for futures
- Fastmarkets Market Data API
- Deutsche Börse Cloud Stream User Manual
- DTN ProphetX GetDailyHistory
- Optimus Futures trading fees
- NexusFi: Data feeds and market data for futures trading
- CQG market data
- APISpine: Nasdaq Data Link pricing
- AlgoPlatforms: Nasdaq Data Link review
- tickstream docs
