Skip to content

Data delays & limits

Every data source has limits. Trading on a delayed quote or making an OSINT call from sparse data can be expensive — this page documents what's known about each provider.

Quote latency by source

ProviderTierTypical latency
FinnhubFree~15 minute delayed for some exchanges; near-real-time for US
FinnhubPaidSub-second for supported exchanges during market hours
EODHDFreeEOD only — no intraday
EODHDPaidIntraday with 5-15 min delay; EOD published ~1 trading session after close

The Atlas Market panel shows a realtime / delayed badge from detail.realtime / detail.delayed — trust the badge, not the gut feel.

Coverage gaps

AIS (vessels)

  • Coastal waters: dense, frequent updates.
  • Mid-ocean: position updates can lag tens of minutes to hours, depending on satellite reception.
  • Vessels can voluntarily disable AIS — absence of pin ≠ absence of vessel.
  • Pleasure craft and small fishing vessels typically don't broadcast AIS.

ADS-B (aircraft)

  • Europe, North America, parts of Asia: dense.
  • Oceans, polar regions, remote interiors: sparse to nonexistent.
  • Some military, government, and certain GA aircraft transmit limited or no ADS-B.
  • OpenSky free-tier polling interval: ~10 seconds. Paid tier: faster.

News

  • Source coverage varies by language and region.
  • Geolocation precision is tag-level — a story tagged "Hormuz" pins to a region centroid, not the actual vessel/event.

Equities

  • Finnhub indexes most major exchanges but not every emerging-market venue.
  • EODHD fundamentals lag the actual filing — we surface what the provider has parsed.

Rate limits

Atlas applies upstream rate limits via asyncio.Semaphore (see backend/services/market_data.py). Concurrent requests are throttled to stay below provider limits. If you see backend logs about 429s, the limit was breached upstream — the proxy doesn't paper over it.

AI Chat token caps

The AI chat has a cap on the prompt context window (varies by configured model — see Changelog for the active model). Practical implications:

  • A news screen with hundreds of headlines is summarized in chunks; very large screens may produce a "summary of summary" rather than a single ground-truth pass.
  • Long transcripts may be truncated at the boundary — focus the section you care about before asking.

What this means in practice

  • For trading decisions, check the Market panel's realtime/delayed badge before each trade. The free Finnhub tier is fine for educational use, not for execution.
  • For OSINT investigations, treat absent pins as ambiguous — verify with a second source (a major maritime tracker, an alternative ADS-B feed) before drawing conclusions.
  • For fundamental analysis, EODHD typically lags actual filings by hours to days — for breaking 8-K commentary, read the filing directly rather than waiting for it to appear in Disclosures.

Released under the project license. Public sources only — no proprietary or restricted data.