info.version is 2026-09-15 throughout.
Added
GET /v1/markets/{venue}/{id}/book: the order book to a chosen depth, live or rebuilt at a moment (at), with mid, microprice, spread, 1-, 2- and 5-cent depth and imbalance.GET /v1/markets/{venue}/{id}/book/history: top of book per step.GET /v1/books/health: each venue’s feed status and latency.bookstopic on the stream: abookevent when a market’s top of book changes, at most once a second per market.book_spread_usd,book_yes_depth_5c_usd,book_no_depth_5c_usd,book_imbalanceandbook_aton every object that names a market whose book is recorded.GET /v1/markets/{venue}/{id}/rules: rule text, every contract version with a diff, the rulebooks in force with settlement sources and terms documents, and the ledger of changes.GET /v1/rulebooks/{venue}/{kind}/{id}: every version of a Kalshi series or event rulebook or a Polymarket market’s resolution metadata.rulestopic on the stream: arule_changeevent when a market’s terms, a rulebook above it or the venue’s terms document changes.- Liquidity on every object that names a market:
volume_24h_usd,volume_source,total_volume_usd,open_interest_usd,spread_usd,yes_spread_usd,no_spread_usd,trades_24hand aliquiditygrade (deep,tradeable,thin). The latest quote now carriesyes_bid_usdandno_bid_usd. min_volume_usd,max_spread_usdandinclude_thinon every list of suggestions (/v1/opportunities,/v1/insightsand its desks). Thin markets are left out of those lists by default.- MCP server at
POST https://api.routeur.app/mcp, with one tool per endpoint, five composed tools (find_opportunities,compare_venues,explain_relation,market_snapshot,search_markets), concept resources and three prompts. Server card at/.well-known/mcp.json. The same key, limits and metering as REST. GET /v1/stream: Server-Sent Events forquotes,trades,relationsandleads, resumable fromLast-Event-IDorcursorfor an hour. Streams count one request to open and one per minute open; concurrent streams per key depend on tier.GET /v1/relations/{left_venue}/{left_id}/{right_venue}/{right_id}: the proof trail behind a relation, as ordered steps with both contract versions and the runs that found and confirmed it.- Cross-venue relations for economics and crypto markets (CPI, the Fed’s upper bound, crypto prices), in addition to sports.
GET /v1/events/{venue}/{id}/relatedandGET /v1/markets/{venue}/{id}/related: events related by meaning.
- Cross-venue leads on economic releases are informational:
depth.limited_byisinformationaland they are never offered as executable, because the venues settle a delayed or cancelled release differently. - Topic slugs may carry letters in any script.
- A search with few matches is widened by meaning around its best match.
Added
GET /v1/search, which never comes back empty: exact matches, then similar, related and trending results, withmatchon each row, plain-language filters returned infiltersand the cleanedquery, andnext_offsetfor paging up to 300 results.- Filters on search:
venue,category,cross_venue,closing,price_min,price_max,min_volume,moved, also understood from plain language inq. GET /v1/topicsandGET /v1/topics/{slug}: the people, teams, places and subjects markets are labeled with, and the events about each.GET /v1/insights/moves,/tape,/flowsand/closing: what is moving, the largest fills, one-sided money, and what closes next.GET /v1/insights/calibrationby venue, category and horizon (1, 7 or 30 days), from Kalshi’s settled archive and settled Polymarket markets from imported history.GET /v1/insights/strategiesandGET /v1/insights/strategies/{id}: price-band rules measured against settled history, with a return range and the listed markets that fit now.GET /v1/insights/ticker: a short mixed list of moves, large fills, venue gaps and strategy matches.- Every parameter described in the OpenAPI document, with examples for the playground.
GET /v1/markets/{venue}/{id}/quotescontinues into archived closing prices (price_usd,source) where recording began later than the requested window.- The tape reaches back 30 days and flows accept 1, 6, 24, 168 and 720-hour windows; rows from imported history are marked
archived. - Moves leave out markets under way, priced outside 0.10 to 0.90, or that moved more than 0.40 in a day, and are weighed by the money behind them.
- Strategies leave out the extreme price bands.
Added
GET /v1/status,GET /v1/categories,GET /v1/markets,GET /v1/markets/{venue}/{id}andGET /v1/markets/{venue}/{id}/relations: the contract graph as read-only JSON, withgraph_runon every graph-derived response.GET /v1/eventsandGET /v1/events/{venue}/{id}: markets grouped into events across both venues, each outcome priced per venue, withtwinfor the same event on the other venue and across_venuefilter.GET /v1/cross-venue: every proven cross-venue pair.GET /v1/opportunities: mispricing leads withdepthsized against live order books on each graph run.GET /v1/markets/{venue}/{id}/quotes: recorded top-of-book history.GET /v1/markets/{venue}/{id}/trades: public fills recorded every minute, paged by cursor.GET /v1/flow: unusual flow signals (burst,large_fill,one_sided) scored every five minutes.GET /v1/insights: what stands out now, with 24-hour price change on markets. Response caching on insight endpoints.GET /v1/openapi.json: the OpenAPI 3.1 description.- Signed webhooks:
lead.executablewhen a lead can be filled at a profit, andpingfor test deliveries, withRouteur-SignatureandRouteur-Deliveryheaders. - API keys (
rk_live_...) required on every request, with per-minute limits and daily quotas by tier and theX-RateLimit-*andX-Daily-Quota-*headers.
The platform behind the API: crawls of Kalshi and global Polymarket with structured strikes and event exclusivity, recording of contract versions and change-only quotes, cross-venue matching of the same game line, and the hourly graph build that derives provable relations and covering prices.