Skip to main content
This page lists what changed in the API, by the day the change reached the platform’s main branch, newest first. It covers new endpoints, fields, stream topics and behaviour changes; internal work is left out. The OpenAPI document’s info.version is 2026-09-15 throughout.
Order books, rules, liquidity, MCP, the live stream and proof trails
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.
  • books topic on the stream: a book event 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_imbalance and book_at on 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.
  • rules topic on the stream: a rule_change event 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_24h and a liquidity grade (deep, tradeable, thin). The latest quote now carries yes_bid_usd and no_bid_usd.
  • min_volume_usd, max_spread_usd and include_thin on every list of suggestions (/v1/opportunities, /v1/insights and 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 for quotes, trades, relations and leads, resumable from Last-Event-ID or cursor for 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}/related and GET /v1/markets/{venue}/{id}/related: events related by meaning.
Changed
  • Cross-venue leads on economic releases are informational: depth.limited_by is informational and 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.
Search, topics, insights desks, calibration and strategies
Added
  • GET /v1/search, which never comes back empty: exact matches, then similar, related and trending results, with match on each row, plain-language filters returned in filters and the cleaned query, and next_offset for 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 in q.
  • GET /v1/topics and GET /v1/topics/{slug}: the people, teams, places and subjects markets are labeled with, and the events about each.
  • GET /v1/insights/moves, /tape, /flows and /closing: what is moving, the largest fills, one-sided money, and what closes next.
  • GET /v1/insights/calibration by venue, category and horizon (1, 7 or 30 days), from Kalshi’s settled archive and settled Polymarket markets from imported history.
  • GET /v1/insights/strategies and GET /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.
Changed
  • GET /v1/markets/{venue}/{id}/quotes continues 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.
First release of the API
Added
  • GET /v1/status, GET /v1/categories, GET /v1/markets, GET /v1/markets/{venue}/{id} and GET /v1/markets/{venue}/{id}/relations: the contract graph as read-only JSON, with graph_run on every graph-derived response.
  • GET /v1/events and GET /v1/events/{venue}/{id}: markets grouped into events across both venues, each outcome priced per venue, with twin for the same event on the other venue and a cross_venue filter.
  • GET /v1/cross-venue: every proven cross-venue pair.
  • GET /v1/opportunities: mispricing leads with depth sized 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.executable when a lead can be filled at a profit, and ping for test deliveries, with Routeur-Signature and Routeur-Delivery headers.
  • API keys (rk_live_...) required on every request, with per-minute limits and daily quotas by tier and the X-RateLimit-* and X-Daily-Quota-* headers.
Before the API
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.