Get live midpoints for multiple markets
Returns live orderbook midpoints for the requested venue market IDs.
Returns live orderbook midpoints for the requested venue market IDs. venueMarketIds accepts either a comma-separated string (?venueMarketIds=a,b,c) or repeated params (?venueMarketIds=a&venueMarketIds=b). Midpoint represents the Yes-side price (0-1). Direct GET callers should keep batches small enough to stay under CDN URL limits; AGG SDK/UI clients default to 75 IDs per request and merge multiple batches automatically. Pass bestPrice=true to also receive top-of-book bestBid/bestAsk on every entry, per-outcome row, and matched sibling, plus arbReturn — the live, quality-gated cross-venue arbitrage return for the market's cluster, computed fresh by the engine on this request. Prefer it over the arbReturn embedded in venue-event listings, which is synced by a background job and can be stale. Every entry carries marketStatus; resolved markets never serve a price — they return null prices plus a structured error (code: "market_resolved"), and unknown ids return code: "market_not_found", mirroring GET /orderbooks. Returns 503 if the orderbook engine is unavailable.
Authorizations
API key passed in the header.
Query Parameters
Response
200
dataarray<object>requireddata.venueMarketIdstringrequireddata.venuestringrequireddata.midpointnumberrequireddata.spreadnumberrequireddata.timestampnumberrequireddata.outcomesarray<object>requireddata.matchedarray<object>requireddata.markSource"local" | "local_merged" | "local_one_sided" | "sibling" | "local_boundary" | "none""local" | "local_merged" | "local_one_sided" | "sibling" | "local_boundary" | "none"data.siblingVenueMarketIdstringdata.bestBidnumberdata.bestAsknumberdata.arbReturnnumberdata.marketStatus"open" | "closed" | "resolved" | "unopened" | "paused""open" | "closed" | "resolved" | "unopened" | "paused"data.errorobject