Skip to content

Data Issues?

Work down this list before reporting a problem — most "missing data" reports resolve at one of these steps.

Empty response on a snapshot endpoint

Snapshot caches reset at midnight ET and fill as messages arrive. On weekends and holidays there may be nothing to serve — use the matching history endpoint with the last trading day instead. calendar/open_today tells you whether the session is live.

Empty response on an option request

Check the contract actually existed and traded: list expirations and strikes for the underlying, then confirm with dates that data exists for your request type on your date. A NoDataFoundError for a quiet contract on a quiet day is a normal outcome.

Wrong or surprising symbol

Index option roots split by settlement (SPX vs SPXW) — see Symbology. For stocks, confirm the ticker existed on your dates (ticker changes, delistings, splits).

Permission errors

A SubscriptionError means the endpoint requires a higher tier on that asset class — check the badge on the endpoint's reference page against Subscriptions.

Quotes and trades look misaligned

Trade and quote feeds are separate streams. For trade-with-prevailing-quote analysis, use the trade_quote endpoints, which pair each trade with the NBBO at or before the trade timestamp (exclusive controls the boundary).

A value disagrees with another vendor

Check the condition / exchange codes on the rows in question against the Conditions and Exchanges tables — many discrepancies are condition-filtering differences (odd lots, late reports, derivative prints).

Still stuck? Report the exact request (endpoint, parameters, date) on the issue tracker. For upstream data-content questions, use ThetaData's support channels listed on their documentation site.

Released under the Apache-2.0 License.