{ "opencollection": "1.0.0", "info": { "name": "River balance markets API", "version": "1.0.0" }, "request": { "auth": { "type": "apikey", "key": "X-River-Key-Id", "value": "{{X-River-Key-Id}}", "placement": "header" } }, "items": [ { "info": { "name": "markets", "type": "folder" }, "items": [ { "info": { "name": "Search Markets", "type": "http" }, "http": { "method": "GET", "url": "https://api.rivermarkets.com/v1/markets/search", "params": [ { "name": "q", "value": "", "type": "query", "description": "Search query" }, { "name": "exchange_name", "value": "", "type": "query", "description": "Filter by exchange name (KALSHI, POLYMARKET)" }, { "name": "category", "value": "", "type": "query", "description": "Filter by canonical category. Repeat the param to filter to multiple categories (Sports, Crypto, Politics, Finance, Entertainment, Science & Tech, Weather, World Affairs, Health, Social, Other)." }, { "name": "subcategory", "value": "", "type": "query", "description": "Filter by subcategory (e.g. Basketball, Football)" }, { "name": "status", "value": "", "type": "query", "description": "Filter by instrument status" }, { "name": "expiration_date_start", "value": "", "type": "query", "description": "Start of expiration date range (inclusive, ISO 8601)" }, { "name": "expiration_date_end", "value": "", "type": "query", "description": "End of expiration date range (exclusive, ISO 8601)" }, { "name": "start_datetime_after", "value": "", "type": "query", "description": "Filter to markets with start_datetime >= this (ISO 8601)" }, { "name": "start_datetime_before", "value": "", "type": "query", "description": "Filter to markets with start_datetime < this (ISO 8601)" }, { "name": "event_ticker", "value": "", "type": "query", "description": "Filter by event_ticker (exact match)" }, { "name": "last_price_min", "value": "", "type": "query", "description": "Filter to markets with last_price >= this value (0.0–1.0 YES probability)." }, { "name": "last_price_max", "value": "", "type": "query", "description": "Filter to markets with last_price <= this value (0.0–1.0 YES probability)." }, { "name": "volume_min", "value": "", "type": "query", "description": "Filter to events whose total summed volume >= this value." }, { "name": "sort_by", "value": "", "type": "query", "description": "Sort mode for event-based pagination: trending, volume, newest, ending-soon, start-time, price" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of results" }, { "name": "offset", "value": "", "type": "query", "description": "Offset for pagination" }, { "name": "event_limit", "value": "", "type": "query", "description": "Paginate by events instead of markets. Up to 200 by default; values above that require start_datetime_after or start_datetime_before." }, { "name": "event_offset", "value": "", "type": "query", "description": "Event offset for event-based pagination" } ] }, "docs": "Search and browse markets across all exchanges.\n\nSupports:\n- Exact match on ticker, condition_id, slug, river_id\n- Full-text search on name, description, tags\n- Browse by filters (no query required)\n- Results ranked by relevance\n\nWe default to active markets in the view so things are faster" }, { "info": { "name": "Lookup Markets", "type": "http" }, "http": { "method": "GET", "url": "https://api.rivermarkets.com/v1/markets/lookup", "params": [ { "name": "river_ids", "value": "", "type": "query", "description": "Comma-separated list of river IDs" } ] }, "docs": "Batch lookup markets by river_ids." }, { "info": { "name": "Match Market", "type": "http" }, "http": { "method": "GET", "url": "https://api.rivermarkets.com/v1/markets/match", "params": [ { "name": "ticker", "value": "", "type": "query", "description": "Exact Kalshi ticker (e.g. KXNBA-26-DET)" }, { "name": "slug", "value": "", "type": "query", "description": "Exact Polymarket slug (e.g. will-the-denver-nuggets-win-the-2026-nba-finals)" } ] }, "docs": "Exact match a single market by Kalshi ticker or Polymarket slug. Supply exactly one." }, { "info": { "name": "Match Markets Batch", "type": "http" }, "http": { "method": "POST", "url": "https://api.rivermarkets.com/v1/markets/match/batch", "body": { "type": "json", "data": "{}" } }, "docs": "Batch-resolve many markets by exact Kalshi ticker and/or Polymarket slug in one request.\n\nThe single-market ``/match`` endpoint costs one round-trip per identifier, so resolving\nthousands of mappings serially is slow. This endpoint takes lists of tickers and/or slugs\n(send them together in one call) and returns a full market row — including ``river_id``,\n``ticker``, ``slug`` and ``exchange_name`` — for every identifier that matched. Identifiers\nwith no match come back in ``unmatched_tickers`` / " } ] } ], "bundled": true }