Skip to content
Eden Engine

Search Prediction Markets (Polymarket & Kalshi)

omnial/search-prediction-market

Given a search keyword and optional filters (platform, category, status, sort order, smart money direction), returns matching prediction markets from Polymarket and Kalshi with their current price, trading volume, open interest, and days to resolution.

activeper callv1
Provider
Web & Business Data Network
Category
prediction-markets
Provider price
$0.03276 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "q"
      ]
    },
    {
      "required": [
        "condition_id"
      ]
    },
    {
      "required": [
        "market_ticker"
      ]
    },
    {
      "required": [
        "platform"
      ]
    },
    {
      "required": [
        "category"
      ]
    },
    {
      "required": [
        "status"
      ]
    }
  ],
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 100,
      "minLength": 2,
      "description": "Search markets by keyword in question text or ticker. Results include slug and event fields when available, but machine slugs are not searched."
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Results per page. Defaults to 20."
    },
    "order": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "default": "desc",
      "description": "Sort direction. Defaults to \"desc\"."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Pagination offset. Defaults to 0."
    },
    "status": {
      "enum": [
        "active",
        "closed",
        "finalized"
      ],
      "type": "string",
      "default": "active",
      "description": "Market status filter. Defaults to \"active\"."
    },
    "sort_by": {
      "enum": [
        "volume_1d",
        "volume_7d",
        "volume_30d",
        "open_interest",
        "trade_count_7d",
        "days_to_resolution"
      ],
      "type": "string",
      "default": "volume_7d",
      "description": "Sort field. Defaults to \"volume_7d\"."
    },
    "category": {
      "enum": [
        "crypto",
        "culture",
        "economics",
        "financials",
        "politics",
        "stem",
        "sports"
      ],
      "type": "string",
      "description": "Filter by curated category."
    },
    "platform": {
      "enum": [
        "polymarket",
        "kalshi"
      ],
      "type": "string",
      "description": "Filter by platform (omit for both)."
    },
    "smart_money": {
      "enum": [
        "bullish",
        "bearish"
      ],
      "type": "string",
      "description": "Filter by smart money direction (Polymarket only)."
    },
    "condition_id": {
      "type": "string",
      "minLength": 1,
      "description": "Polymarket condition ID for single-market lookup."
    },
    "market_ticker": {
      "type": "string",
      "minLength": 1,
      "description": "Kalshi market ticker for single-market lookup."
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "e.g. 'active', echoing the status filter."
          },
          "category": {
            "type": "string"
          },
          "platform": {
            "type": "string",
            "description": "'polymarket' or 'kalshi'."
          },
          "question": {
            "type": "string"
          },
          "token_id": {
            "type": "string",
            "description": "Polymarket's CLOB token ID for the outcome. Only observed on Polymarket entries."
          },
          "volume_1d": {
            "type": "number"
          },
          "volume_7d": {
            "type": "number"
          },
          "event_slug": {
            "type": "string",
            "description": "Polymarket's event slug. Only observed on Polymarket entries."
          },
          "volume_30d": {
            "type": "number"
          },
          "event_title": {
            "type": "string"
          },
          "market_slug": {
            "type": "string",
            "description": "Polymarket's market slug. Only observed on Polymarket entries."
          },
          "subcategory": {
            "type": "string"
          },
          "condition_id": {
            "type": "string",
            "description": "Polymarket's on-chain condition ID. Only observed on Polymarket entries."
          },
          "event_ticker": {
            "type": "string",
            "description": "Kalshi's event ticker. Only observed on Kalshi entries."
          },
          "latest_price": {
            "type": "number",
            "description": "The outcome's current price, observed in the 0-1 range (implied probability)."
          },
          "market_ticker": {
            "type": "string",
            "description": "Kalshi's market ticker. Only observed on Kalshi entries."
          },
          "outcome_label": {
            "type": "string",
            "description": "e.g. 'Yes'. Only observed on Polymarket entries."
          },
          "trade_count_7d": {
            "type": "number"
          },
          "event_group_slug": {
            "type": "string",
            "description": "Polymarket's event group slug. Only observed on Polymarket entries."
          },
          "open_interest_usd": {
            "type": "number"
          },
          "days_to_resolution": {
            "type": "number"
          },
          "smart_money_direction": {
            "type": "string",
            "description": "Only observed present (as 'BULLISH') on some Polymarket entries -- never seen on Kalshi entries, and a 'BEARISH' value was never observed in either fixture though the input filter documents it as a valid direction."
          }
        },
        "additionalProperties": true
      },
      "description": "One entry per matching market, up to `limit` per page. Fields present differ by platform: Polymarket entries carry condition_id/token_id/market_slug/event_slug/event_group_slug/smart_money_direction; Kalshi entries carry market_ticker/event_ticker instead, and never observed smart_money_direction."
    },
    "meta": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "number"
        },
        "cached": {
          "type": "boolean"
        },
        "offset": {
          "type": "number"
        }
      },
      "additionalProperties": true
    }
  },
  "description": "A page of prediction markets matching the search/filter parameters. `data` is an empty array on a query with no matches (see examples/empty-result.json) -- no top-level field is required.",
  "additionalProperties": true
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.03276
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Sep 15, 2026