Skip to main content

List Prediction Markets

GET
List prediction markets with optional filtering.

Query Parameters

venue
string
Filter by venue: polymarket, kalshi
category
string
Filter by AI-assigned category
sort
string
Sort order: volume, liquidity, ending_soon, new, activity, trending
volumeMin
number
Minimum volume threshold
endingWithin
string
Filter markets ending within a time window (e.g., 24h, 7d)
Filter by title text
limit
number
default:"50"
Results per page (max: 100)
offset
number
default:"0"
Pagination offset

Response

{
  "success": true,
  "markets": [
    {
      "id": "market-uuid",
      "externalId": "polymarket-condition-id",
      "title": "Will the Chiefs win Super Bowl LIX?",
      "venue": "polymarket",
      "category": "sports",
      "subcategory": "nfl",
      "active": true,
      "outcomes": [
        { "label": "Yes", "price": 0.35 },
        { "label": "No", "price": 0.65 }
      ],
      "volume": 1500000,
      "endDate": "2025-02-09T23:59:59Z"
    }
  ],
  "total": 500
}
curl "https://api.marketmotion.xyz/api/markets/predictions?venue=polymarket&category=sports&sort=volume&limit=20"

Search Markets

GET
Search markets by title.

Query Parameters

q
string
required
Search query
venue
string
Filter by venue
limit
number
default:"20"
Maximum results

Response

{
  "success": true,
  "data": [
    {
      "id": "market-uuid",
      "title": "Chiefs to win Super Bowl LIX",
      "venue": "polymarket",
      "price": 0.35,
      "volume": 1500000
    }
  ]
}
curl "https://api.marketmotion.xyz/api/markets/search?q=super%20bowl&venue=polymarket"

Get Market Detail

GET
Get detailed market data for a specific symbol.

Path Parameters

symbol
string
required
Market symbol (e.g., BTC, ETH)

Response

{
  "success": true,
  "market": {
    "id": "market-uuid",
    "symbol": "BTC",
    "price": 65000,
    "volume24h": 1200000000,
    "fundingRate": 0.0001,
    "productType": "perp"
  }
}
curl "https://api.marketmotion.xyz/api/markets/detail/BTC"

Get Candles

GET
Get OHLCV candle data for a symbol.

Path Parameters

symbol
string
required
Market symbol

Query Parameters

interval
string
Candle interval (e.g., 1m, 5m, 1h, 1d)
period
string
Time period to fetch (e.g., 24h, 7d, 30d)

Response

{
  "success": true,
  "symbol": "BTC",
  "candles": [
    {
      "timestamp": "2025-01-28T10:00:00Z",
      "open": 64500,
      "high": 65200,
      "low": 64100,
      "close": 65000,
      "volume": 50000000
    }
  ]
}
curl "https://api.marketmotion.xyz/api/markets/candles/BTC?interval=1h&period=24h"

Get Categories

GET
Get market categories and product types.

Response

{
  "success": true,
  "productTypes": {
    "all": 1200,
    "perps": 500,
    "spot": 400,
    "stocks": 300
  },
  "categories": [
    { "category": "politics", "count": 500 },
    { "category": "sports", "count": 300 },
    { "category": "crypto", "count": 150 }
  ]
}
curl "https://api.marketmotion.xyz/api/markets/categories"

Prediction Categories

GET
Get prediction market categories with counts.

Response

{
  "success": true,
  "categories": [
    { "name": "politics", "count": 500, "slug": "politics" },
    { "name": "sports", "count": 300, "slug": "sports" }
  ]
}

Cross-Venue Markets

GET
Get markets matched across multiple venues with spread data. Includes bid/ask pricing.

Query Parameters

limit
number
Maximum results

Response

{
  "success": true,
  "markets": [
    {
      "outcomeId": "outcome-uuid",
      "label": "Chiefs to win Super Bowl",
      "venues": [
        {
          "venue": "polymarket",
          "price": 0.35,
          "bestBid": 0.34,
          "bestAsk": 0.36,
          "volume": 1500000,
          "liquidity": 250000,
          "url": "https://polymarket.com/event/..."
        },
        {
          "venue": "kalshi",
          "price": 0.38,
          "yesBid": 0.37,
          "yesAsk": 0.39,
          "noBid": 0.61,
          "noAsk": 0.63,
          "volume": 500000,
          "url": "https://kalshi.com/markets/..."
        }
      ],
      "spread": 0.03
    }
  ]
}
curl "https://api.marketmotion.xyz/api/markets/cross-venue?limit=20"

Orderbook (Hyperliquid)

GET
Get L2 orderbook for a Hyperliquid perpetual.

Path Parameters

symbol
string
required
Market symbol (e.g., BTC, ETH)

Query Parameters

depth
number
default:"20"
Number of price levels per side (max: 100)

Response

{
  "success": true,
  "symbol": "BTC",
  "bids": [
    { "price": 64990, "size": 1.5 },
    { "price": 64985, "size": 3.2 }
  ],
  "asks": [
    { "price": 65010, "size": 0.8 },
    { "price": 65015, "size": 2.1 }
  ],
  "spread": 20,
  "midPrice": 65000,
  "depth": 20
}
curl "https://api.marketmotion.xyz/api/markets/BTC/orderbook?depth=10"

Orderbook (Polymarket)

GET
Get orderbook for a Polymarket outcome token.

Path Parameters

tokenId
string
required
Polymarket outcome token ID

Response

{
  "success": true,
  "tokenId": "12345...",
  "bids": [
    { "price": 0.54, "size": 500 },
    { "price": 0.53, "size": 1200 }
  ],
  "asks": [
    { "price": 0.56, "size": 300 },
    { "price": 0.57, "size": 800 }
  ],
  "spread": 0.02,
  "midPrice": 0.55
}
curl "https://api.marketmotion.xyz/api/markets/polymarket/12345.../orderbook"

Entity-Connected Markets

GET
Get cross-venue markets discovered through entity connections.

Query Parameters

limit
number
Maximum results
category
string
Filter by category
minSpread
number
Minimum spread threshold

Response

{
  "success": true,
  "crossVenueMarkets": [...],
  "stats": {
    "totalMatches": 150,
    "averageSpread": 0.025
  }
}
curl "https://api.marketmotion.xyz/api/markets/entity-connected?minSpread=0.03&limit=10"