FAQ
Data
Market data delivery
Real-time data
dxFeed provides various delivery contracts tailored to different needs:
Ticker (Quote, Trade, Summary, Profile): Offers the most recent known data with minimal delay, ideal for real-time updates.
Stream (TimeAndSale): Transmits all events losslessly without conflation, suitable for receiving real-time updates without data loss.
History (Candle, Order): Provides historical event transmission with subsequent updates, suitable for retrieving past data and order book information.
Read more about delivery contracts on the QDS Tool page.
In several ways: through dxLink, which transfers JSON data via a WebSocket, or via dxFeed proprietary binary protocol, QD (Quote Distribution Protocol), which transmits binary data over TCP.
Our core technology processes a typical event stream at 60 microseconds on average. Delays may result from various factors like the connection quality, the client's code, or the distance between the endpoint and the client.
Java, C#, and FIX API provide the lowest latency. REST and Python API provide slightly higher latency.
To measure latency use this QDS command: qds compare <endpoint1> Quote <symbol> -A <endpoint2> -c stream -s 10. The -s parameter returns statistics for the last n seconds.
Read more about QDS Tool.
Yes. Some data feeds require several endpoints due to technical reasons (e.g., Nasdaq basic and CTA/UTP feeds), and not all data feeds can be merged.
In most cases, having several endpoints will increase the service cost.
No, a single unsubscribe request is enough.
Each subscription request creates a topic identified by the combination of the event type and event symbol. If you send multiple add requests for the same topic, they are treated as updates, not as separate subscriptions. A single remove request for this topic is enough to unsubscribe completely.
There is no strict limit. However, it is recommended to use a single channel until there is a clear need for another one.
Note
Avoid opening channels with only a few subscriptions, as this increases resource usage. Multiple channels can be opened within a single connection if different configurations or workloads are required.
Read more about Feed service on the dxLink page.
Open a new connection only if the current one reaches its throughput limit or requires different channel settings.A single dxLink connection can handle up to ~500,000 events per second, depending on available bandwidth.
Read more about Feed service on the dxLink page.
Typical B2C trading apps don't exceed 50,000 subscriptions per user.
The average range is 5,000–15,000 events.
If event types share the same channel configuration (for example, Quotes, Summaries), they can use a single channel.
Read more about Feed service on the dxLink page.
To subscribe to a large number of events and symbols, split your subscription requests into smaller chunks: each message shouldn’t exceed 64 KB in size.
For example, to subscribe to 1,000 topics (event + symbol), send five separate subscription messages with 200 topics in each.
dxFeed returns data by batching results across multiple subscriptions and chunks messages to fit within the message size limit, ensuring efficient data delivery and handling.
Read more about Feed service on the dxLink page.
dxFeed provides endpoints in major data centers, including Chicago, New York, Frankfurt, Zurich, London, and Istanbul, as well as via global cloud infrastructure.
For more details, see the Connectivity section on our website.
For historical data, dxFeed has developed an algorithm that uses a compression factor technique to parse, index, and store data in the proprietary Compressed Data Format (CDF) with no data loss.
dxFeed provides two models for working with events:
API event model – used when you work directly with dxFeed APIs. See the Market events page for the full list of supported event types.
QD event model – used in QD-based systems. This model has a different structure and applies only in specific integration scenarios. See the QD Model of Market Events page for details, real-world mapping, and the list of supported events.
Event delivery is defined by delivery contracts (Ticker, Stream, History). Read more about delivery contracts on the Model of event publishing page.
Conflation is the intentional omission of intermediate updates, delivering only the most recent known value for a record. This helps reduce bandwidth and data volume during high market activity while keeping latency low. For example, if quotes t1 and t2 are received but a newer quote t3 arrives before t2 is sent, t2 is skipped and only t3 is delivered. Conflation is applied in Ticker and History contracts, while Stream delivers all events without conflation.
Read more about delivery contracts on the Model of event publishing page.
Yes, customization is possible. dxFeed market data service supports automatic intelligent conflation, rate throttling, and rate limiting to handle data spikes. These parameters can be configured to match the client’s system performance and bandwidth requirements, ensuring optimal load handling.
Aggregated data
You can get OHLC data for these time intervals: 1 tick, 1 second, 1 minute, 1 hour, and 1 day. Custom intervals are also supported. For instructions on how to request specific intervals, check the How to request candles guide. All intervals you can request are detailed in the CandleSymbol API documentation.
Candles are sent as snapshots followed by updates, ensuring sequential application of changes.
Candle events represent price data over a period, showing open, high, low, close, and volume values. Read more
Some candles may temporarily contain NaN values when there’s not enough market data to calculate all fields. It usually resolves as more data arrives. If the interval ends before that, NaNs may remain. This is expected behavior for trade-based candles.
Quote-based candles (Bid, Ask, Midpoint) are built using available quotes and usually do not contain NaN values.
Weekly candles start on Monday, and monthly candles start on the 1st, aligning to the trading period.
It’s NaN if no new bids were made during that candle’s period.
Yes, dxFeed supports candle data for futures through WebSocket. All data available via dxFeed's Java APIs, including candles, can also be accessed via dxLink. dxFeed supports candles for any instrument with available raw data. Read more about Candle Types.
dxFeed supports multiple price types for candle data, including:
Last (default) – Built using actual trade prices, representing the last trade price within the interval.
Bid or Ask-based – Built using quote prices (the highest bid or lowest ask in the interval).
Midpoint (Mark) – Built using quote prices (the midpoint of bid-ask quotes).
Learn more about candles in the Aggregated services section.
If no trades occur during a specified candle interval, no candles are generated—this applies to all price types, including Last, Bid, Ask, and Mark. dxFeed does not create empty candles when there is no available data.
Learn more about candles in the Aggregated services section.
Although both represent a full-day period, they are built differently:
=1d(daily candle) follows the exchange official trading session and matches its official price and volume statistics.=24hcandle is treated as an intra-day candle. It covers a fixed 24-hour UTC window and is built from individual events (e.g., Quotes, TimeAndSales).
As a result, =1d and =24h candles may differ in price levels, volume, and event count — even for the same instrument and date.
Learn more about candles in the Aggregated services section.
Invalid ticks are not included in candle price statistics, but for certain feeds they may still contribute to volume-related metrics.
For NYSE & NYSE American (CTS) and Nasdaq (UTDF), additional sale condition checks apply. If those conditions meet certain criteria, the size of the invalid tick is still counted in volume and VWAP attributes.
Learn more about TimeAndSale Sale Conditions
The availability of quote-based candlestick data for sub-minute intervals depends on the data feed used to construct the candles. Some data feeds may only support quote-based aggregation for intervals of one minute or longer. To check the specific aggregation options available for your data feed, please use Contact Sales form on the website for further assistance.
Learn more about candles in the Aggregated services section.
Candles are always sent in descending order by timestamp and cannot be reordered.
Yes, we provide API access for multiple types of data, including:
Real-time data: Our APIs deliver real-time market data across various asset classes, ensuring the most up-to-date information.
Historical data is generally available for various assets, such as index options. Most options data goes back to 2009, but the exact timeframe can vary depending on the underlying asset.
Aggregated data, such as candle data with mark prices, is available starting with 1-minute intervals. We also support custom aggregations, k-line, or candle format, using price types like the midpoint of bid-ask quotes upon request.
Yes, this can happen due to network issues or re-subscriptions, but events are queued and processed correctly afterward.
It marks the start of the session or period, like the first day of a month for monthly candles.
The timestamp will still be the first day of the month, even if no trading occurred.
Learn more about candles in the Aggregated services section.
Yes, dxFeed delivers various candle types, including volume-based and tick-based candles, along with many others. See the full list of types here: Candle types.
Historical data
dxFeed provides historical data for options with the highest granularity, including TimeAndSales, Trades, Quotes, Summaries, Theoretical Prices, and more — for every option under a specified underlying. The data follows the QD model of market events and is available through various services, such as charting tools and the Historical Data Lake Service.
Historical data is available starting from 1991 for many instruments. Tick-level historical data is generally available from 2009.
The exact availability may vary depending on the asset class and instrument. Please contact your dxFeed sales manager for details specific to your subscription or trial access.
The availability of quote-based candlestick data for sub-minute intervals depends on the data feed used to construct the candles. Some data feeds may only support quote-based aggregation for intervals of one minute or longer. To check the specific aggregation options available for your data feed, please use Contact Sales form on the website for further assistance.
Learn more about candles in the Aggregated services section.
Yes, we provide API access for multiple types of data, including:
Real-time data: Our APIs deliver real-time market data across various asset classes, ensuring the most up-to-date information.
Historical data is generally available for various assets, such as index options. Most options data goes back to 2009, but the exact timeframe can vary depending on the underlying asset.
Aggregated data, such as candle data with mark prices, is available starting with 1-minute intervals. We also support custom aggregations, k-line, or candle format, using price types like the midpoint of bid-ask quotes upon request.
Historical Greeks are not provided via API downloads. For historical data extractions, please contact your sales manager.
It depends on the type of data:
Historical tick data: You can request tick-level data in small batches through our APIs. See Historical Data Access
Candles: You can request historical candles in small batches, mainly for deep charting needs. See Candlewebservice
For large-scale data access, please reach out to support.
Historical market data can be delivered through multiple options:
Java / JavaScript APIs for streaming, historical access, or market replay
REST services for on-demand tick, audit, instrument profile, and other data
Candlewebservice for Candle and TimeAndSale data over time periods, sorted appropriately
dxFeed Historical Data Lake (HDL) for cloud-based access without massive downloads, with integration via Amazon Data Exchange
Bulk delivery of petabyte-scale datasets through AWS Snowball
Data warehouse integrations with Apache Spark, Athena, RedShift, Snowflake, Databricks, and DuckDB for large-scale analytics
Reference data
Instrument Profile Format (IPF) is a service that retrieves a list of securities and related information.
Go to IPF web service.
Use the provided credentials to check your subscription.
Use https://tools.dxfeed.com/ipf?help for help.
This can happen because of one or more of the following:
The symbol is out of your scope
The symbol name has changed
The symbol is no longer traded
Not all instruments are traded in real-time (e.g., CME block trades)
Please submit a ticket to the Help Desk if you encounter any problems.
The 'CFI' field in IPF files returns 'X' for CME futures contracts due to CME's deviation from the ISO 10962 standard for Classification of Financial Instruments. dxFeed passes through the CFI values directly from CME without calculation. CME has confirmed they do not strictly follow ISO standards for these codes.
For more details on possible CME CFI code values, see CME CFI Codes.
Use demo/demo credentials to check IPF examples.
Symbol format depends on data type. Please refer to dxFeed Symbology Guide for a detailed explanation. Some tips:
Options: Use the OPRA format for U.S. options.
Futures and Equities: Follow specific exchange formats.
API Calls: Properly handle padding and extra characters.
Calculations and corporate actions
Black-Scholes and Bjerksund-Stensland models are used to calculate Greeks.
Yes, dividends and splits apply to stocks and options.
The system applies splits, dividends, earnings adjustments, and symbol change events to historical data through a smooth transition for unchanged symbols. For symbols with changes, the corresponding events are processed to ensure accurate charting.
Estimated prices are received via text messages from NYSE and Nasdaq during IPOs. New symbols and IPOs are added to the system upon the occurrence of events and the receipt of information from NYSE or Nasdaq. Updates to historical data follow a semi-automatic procedure that occurs between 03:00 and 07:00 ET, depending on the timing of corporate actions published by the source.
The system first seeks the official open price. If this is unavailable, the open price can be obtained from the first valid trade of the day, from the consolidated event, or from the summary record.
Daily high and low statistics are sourced from the exchange, while the 52-week high and low are derived from daily data. Average volume information is not explicitly provided; however, the VWAP (Volume Weighted Average Price) value can offer additional insights. Refer to the relevant record for details on where this data is contained.
Learn more about QD Model of Market Events.
For Nasdaq IPOs, dxFeed may receive free format messages prior to the start of trading hours. This is our log format. Example:
I 201117 075025.790 [Receiver-bin-ny-utdf-06-B] SIACLine-bin-ny-utdf-06-B - Administrative message: IPO PRICE AT 09:50 DGNS 1000....NASD
It says here that the DGNS IPO should start trading (or probably just start accepting bids) at 09:50 and the IPO price is set at $10. We then post this IPO price to Summary.PrevDayClosePrice. When the quotes start going out, you can read the net change relative to the IPO price. In the morning of the IPO, the exchange accepts applications for DGNS. At the end of this process, all received orders are matched with each other and published as one mega-deal. After that, normal trading begins. Here is an example for LAM stocks:
#=TimeAndSale EventSymbol EventTime Time Sequence ExchangeCode Price Size BidPrice AskPrice SaleConditions Flags TimeAndSale DGNS 20201117-102657.311-0500 20201117-102657-0500 311:1 Q 11.23 1032536 NaN NaN "@O X" 22532
Read more about the Nasdaq IPO process. dxFeed starts getting data from the exchange on step 4. The exchange determines the exact execution time.
All US exchanges begin publishing market data on the day of IPO. That means, new symbols appear in our data feed only after they have started trading. On the day of the IPO, the new symbol first appears in IPF. A little later, once public trading begins, the quotes begin ticking. The date and time are not provided in the data feed beforehand.
Info
New instruments begin trading on all US exchanges simultaneously.
That said, we suggest following the exchange’s and/or company’s Twitter accounts since information is usually published there.
Info
To start receiving market data for the requested symbol on time, be sure you subscribe to it beforehand. For this, you’ll need to wait for dxFeed IPF to update, or use the symbol published on the exchange website.
The dxFeed API behavior regarding how IPO information is published at the feed level for CTA/UTP, Nasdaq, Cboe, Borsa Istanbul, and OTCBB exchanges is as follows:
An indicative Summary event (DayId=0) where only the PrevDayClosePrice field is filled with the IPO price.
An indicative Trade event for DayId=0, which will include:
Price: containing the IPO price.
Size: set to NaN as an indicative value.
Learn about the NYSE IPO process here. dxFeed starts getting data from the exchange on step 9. The exchange determines the exact execution time.
Historical Greeks are not provided via API downloads. For historical data extractions, please contact your sales manager.
Access and support
Trial and access
We adjust the limit based on your usage profile over time.
The limit on real-time data: the HTTP request header should not exceed 128k for the REST API.
The limit on historical data is historical data market depth. Historical data is available from 2009 for some markets. Some events can be requested only 1000 ticks back.
You can access basic instrument information via the Symbol Lookup page. Read more in the Symbology Guide for more details on how symbols are generated and distributed.To see how reference data for instruments is distributed, use the IPF Web Service (credentials: demo/demo). This tool supports filtering and search options.
Go to IPF web service.
Use the provided credentials to check your subscription.
Use https://tools.dxfeed.com/ipf?help for help.
To use Morningstar , Mergent , and Borsa Istanbul you need to purchase a license. Please use Contact Sales form on the website for details.
We can add a new trial to your existing production connection. You have no restrictions during the trial period, apart from the duration.
Your sales manager will contact you for your feedback when your trial is over. You have up to five business days to decide if you want to switch to production. You will need to sign our data services Customer Agreement contract to complete the switching process.
The trial period is two weeks.
You need to purchase an exchange license if you represent a company.
Technical support and account
You can find your account information in your welcome letter, or by contacting your account manager.
Go to the Help Desk.
Fill out the form.
Wait for the support team to reply to your ticket.
Yes, but only from whitelisted IP addresses.
Please contact your sales manager or use Contact Sales form on the website.