Skip to main content
Data WebSocket
curl --request GET \
  --url https://synthesis.trade/api/v1/data/ws \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "<string>",
  "data_type": "<string>",
  "params": {},
  "limit": 123,
  "offset": 123
}
'
{
  "success": true,
  "response": {
    "data_type": "news",
    "news": [
      {
        "news_id": "c4d5e6f7-a8b9-0123-cdef-1234567890ab",
        "title": "Bitcoin surges after ETF inflows accelerate",
        "description": "ETF demand pushed spot BTC higher.",
        "url": "https://example.com/news/bitcoin-etf",
        "source": "Bloomberg",
        "matches": [
          {
            "market_id": "KXBTC-25-T100000",
            "venue": "kalshi",
            "score": 0.88,
            "event": {
              "series_id": "KXBTC",
              "event_id": "KXBTC-25",
              "title": "Bitcoin $100k",
              "slug": "bitcoin-100k",
              "image": "",
              "category": "Crypto",
              "status": "active",
              "active": true,
              "yes_price": "0.65",
              "no_price": "0.35",
              "volume": "500000",
              "volume24hr": "25000",
              "created_at": "2026-01-01T00:00:00",
              "ends_at": "2026-12-31T23:59:59"
            }
          }
        ],
        "created_at": "2026-01-01T09:31:00",
        "published_at": "2026-01-01T09:30:00"
      }
    ]
  }
}

Body

application/json
type
string
required

WebSocket message type. Supported values: subscribe or unsubscribe.

data_type
string
required

Feed selector. Supported values: news, prices, prices_chainlink, kalshi_prices, holders, holder_counts, sports, espn_match, espn_game_stats, signals, movers, fdv, elon_tweets.

params
object

Feed-specific params.

news

  • no params fields are read
  • use top-level limit and offset

prices

  • asset_id or symbol
  • optional interval
  • optional open_price
  • optional ends_at

prices_chainlink

  • asset_id or symbol
  • optional interval
  • optional open_price
  • optional ends_at

kalshi_prices

  • symbol only
  • supported values: btc, eth, doge
  • optional interval
  • optional open_price
  • optional ends_at

holders

  • token_id for token-holder page mode
  • or condition_id for market-holder mode
  • optional limit
  • optional offset
  • optional min_shares
  • optional sort with supported values shares, avg_price, pnl
  • optional order with supported values ASC, DESC

holder_counts

  • condition_ids array
  • maximum 2000 IDs

sports

  • event_id

espn_match

  • slug or title

espn_game_stats

  • game_id
  • optional sport
  • optional league

signals

  • no params fields are read
  • use top-level limit and offset

movers

  • optional venue with effective values all, polymarket, kalshi
  • optional direction with effective values all, up, down
  • optional timeframe with effective values 1h, 6h, 24h or 1d, 1w or 7d
  • optional min_volume
  • optional min_delta
  • optional limit

fdv

  • optional all boolean
  • optional tokens boolean
  • optional token_id
  • optional symbol
  • optional query
  • if no token_id, symbol, or query is supplied, the tokens list is returned
  • if a token is resolved, token, chart, and trades payloads are also returned for that token

elon_tweets

  • event_id
limit
integer

Top-level limit used by feeds that read it directly.

Currently read by:

  • news
  • holders
  • signals
offset
integer

Top-level offset used by feeds that read it directly.

Currently read by:

  • news
  • holders
  • signals

Response

101 - application/json

WebSocket connection established