Quotes, Movers, and Market Status
Fetch single or batch quotes, movers, exchange status, settlement calendars, and holidays for African markets.
Quotes
Use GET /market/quotes?symbols=SCOM.KE,MTN.ZA for up to 50 symbols per request. Unresolved symbols appear in not_found without failing the whole batch. Use GET /stocks/{symbol} for a detailed single-instrument response.
Data freshness — read this before you price a trade
MyStocks quotes are delayed, not real-time. There is no tick-by-tick feed. Prices are polled from our upstream providers every 15 minutes, between 08:00 and 16:00 UTC, Monday–Friday, with an end-of-day pass at 16:30 UTC. A quote can therefore be up to ~15 minutes old (plus whatever lag the upstream provider carries) while a market is open, and is a closing price outside that window.
Every quote carries its own freshness, so you never have to guess:
| Field | Type | Required | Description |
|---|---|---|---|
| asOf | string | null | No | When the price was actually captured upstream — NOT when the API answered. This is the only timestamp you should price a trade against. |
| stale | boolean | No | true when the price is older than two refresh intervals (30 min). The feed for that symbol is genuinely behind; do not trust the price for pricing. |
| dataFreshnessSeconds | number | null | No | Age of the price in seconds — the same thing as now − asOf. |
| dataQuality | object | No | The full contract: delayMode (DELAYED | END_OF_DAY), delayMinutes, refreshIntervalSeconds, provider, and a plain-English disclaimer. |
GET /market/exchanges returns the same contract per exchange (marketData), plus a top-level
marketDataPolicy block stating realtime: false and whether the intraday window is currently open.
Because quotes are delayed, a market order is quote-gated: you must fetch a single-use quoteId
from GET /quote/{symbol} and submit it with the order, so the price you were shown is the price the
order is bound to. If you need to control the execution price yourself, place a LIMIT order
instead — see Advanced order types.
Market state
GET /market/statusreports whether an exchange is open and its next open time.GET /market/holidaysprovides forward-looking closures.GET /market/moversranks instruments by movement.GET /market/settlementdescribes market settlement cycles and execution targets.
Use market status and holidays before submitting orders. A quote can be valid while an exchange is closed; order acceptance and execution remain subject to market hours, halts, auctions, and dealing rules.
All responses are read-only and data-key safe. See Rate Limits for batch and polling strategy.
Was this page useful?
Your signal helps us tighten partner onboarding docs.
Last updated on