Search Prediction Markets

GET/gateway/v1/search/prediction-market

Browse and search prediction markets across all supported platforms.

Filter by platform, category, status, keyword search, and smart money direction. Each result includes volume, open interest, trade counts, and smart money signals.

Supports single-market lookup via `condition_id` or `market_ticker`.

Data refresh: ~5 minutes.

Query Parameters

condition_idstring

Polymarket condition ID for single-market lookup

market_tickerstring

Kalshi market ticker for single-market lookup

platformenum<string>

Filter by platform (omit for both)

Available options:polymarketkalshi
categoryenum<string>

Filter by Surf-curated category

Available options:cryptocultureeconomicsfinancialspoliticsstemsports
statusenum<string>

Market status filter

Available options:activeclosedfinalized
sort_byenum<string>

Sort field

Available options:volume_1dvolume_7dvolume_30dopen_interesttrade_count_7ddays_to_resolution
orderenum<string>

Sort direction

Available options:ascdesc
smart_moneyenum<string>

Filter by smart money direction (Polymarket only)

Available options:bullishbearish
qstring

Search markets by keyword in question text or ticker. Results include slug and event fields when available, but machine slugs are not searched.

limitinteger

Results per page

offsetinteger

Pagination offset

Search Prediction Markets
const options = {method: 'GET'};

fetch('https://api.asksurf.ai/gateway/v1/search/prediction-market', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
OK
{
  "$schema": "https://example.com/schemas/DataResponseDiscoverMarketItem.json",
  "data": [
    {
      "category": "<string>",
      "condition_id": "<string>",
      "days_to_resolution": 123,
      "event_group_slug": "<string>",
      "event_slug": "<string>",
      "event_ticker": "<string>",
      "event_title": "<string>",
      "latest_price": 123,
      "market_link": "<string>",
      "market_slug": "<string>",
      "market_ticker": "<string>",
      "matched_counterpart": "<string>",
      "open_interest_usd": 123,
      "outcome_label": "<string>",
      "platform": "<string>",
      "question": "<string>",
      "smart_money_direction": "<string>",
      "status": "<string>",
      "subcategory": "<string>",
      "token_id": "<string>",
      "trade_count_7d": 123,
      "volume_1d": 123,
      "volume_30d": 123,
      "volume_7d": 123
    }
  ],
  "meta": {
    "cached": true,
    "credits_used": 123,
    "empty_reason": "<string>",
    "has_more": true,
    "limit": 123,
    "offset": 123,
    "total": 123,
    "watermark": 123
  }
}