# Prediction Market Search & Filter API

> Prediction Market Search & Filter API is a paid API for AI agents from api.predictionmarketdata.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Search, filter, sort, and paginate prediction markets across exchanges like Kalshi, Polymarket, and Gemini.

## Facts

- Endpoint: GET https://api.predictionmarketdata.io/prediction-markets
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/prediction-market-search-filter-api-ef75e5d2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2GsOGvLW84ONCLZ3gEJj8

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability prediction-market-search-filter-api-ef75e5d2
```

Example prompt: Search prediction market data for open binary markets related to 'US recession' on Kalshi, sorted by 24-hour volume descending, and return the top 10 results.

## When to prefer this

Use this endpoint when you need to discover, search, or filter prediction markets across multiple exchanges with flexible criteria like volume thresholds, outcome type, category, or free-text search. Prefer this over exchange-specific APIs when you want cross-exchange visibility. Use sibling endpoints for narrative recaps, similar market discovery, or time-series volume data.

## Known failure modes

- Invalid entity_code returns empty results or 400 error
- Unrecognized pmcs_category code returns no results — use /prediction-markets/taxonomy to get valid codes
- Overly restrictive volume_min/volume_max combo returns empty result set
- Invalid sort_by key may return 400 or default sort fallback
- Payment not included or insufficient USDC results in 402 payment required error
- event_ticker not found returns empty results

## How this service works

Search, filter, and sort prediction markets across exchanges.

## Output

A paginated list of prediction market records matching the query, including event tickers, market names, exchange codes, status, open interest in USD, volume metrics (1hr, 24hr, total), trade counts, and outcome types.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "limit": "10",
   "offset": "0",
   "search": "artificial intelligence",
   "status": "open",
   "sort_by": "total_volume_24hr",
   "sort_dir": "desc",
   "outcome_type": "Binary"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "string",
       "description": "Maximum number of events to return."
      },
      "offset": {
       "type": "string",
       "description": "Zero-based pagination offset."
      },
      "search": {
       "type": "string",
       "description": "Free-text query across market and event names."
      },
      "status": {
       "type": "string",
       "description": "Market status. Open is the safest default."
      },
      "sort_by": {
       "type": "string",
       "description": "Sort key, e.g. total_volume_24hr, total_open_interest_usd, end_ts."
      },
      "sort_dir": {
       "type": "string",
       "description": "Sort direction: asc or desc."
      },
      "volume_max": {
       "type": "string",
       "description": "Maximum total volume filter."
      },
      "volume_min": {
       "type": "string",
       "description": "Minimum total volume filter."
      },
      "entity_code": {
       "type": "string",
       "description": "Exchange filter. Common: KALSHI, POLYMARK, GMNI."
      },
      "event_ticker": {
       "type": "string",
       "description": "Exact event identifier (from a prior /prediction-markets response)."
      },
      "outcome_type": {
       "type": "string",
       "description": "Outcome model. Common: Binary, Multi."
      },
      "searchString": {
       "type": "string",
       "description": "Legacy alias for search; prefer search."
      },
      "pmcs_category": {
       "type": "string",
       "description": "Top-level PMCS category code from /prediction-markets/taxonomy."
      },
      "queryCriteria": {
       "type": "string",
       "description": "Legacy advanced query field; prefer search."
      },
      "volume_1hr_max": {
       "type": "string",
       "description": "Maximum 1-hour volume filter."
      },
      "volume_1hr_min": {
       "type": "string",
       "description": "Minimum 1-hour volume filter."
      },
      "trade_count_max": {
       "type": "string",
       "description": "Maximum trade count."
      },
    
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "pagination": {
   "limit": 2,
   "total": 30834,
   "offset": 0,
   "hasMore": true,
   "nextOffset": 2
  },
  "predictionMarkets": [
   {
    "end_ts": "2026-06-23T00:30:00Z",
    "is_series": true,
    "event_name": "Game 3: San Antonio at New York",
    "entity_code": "KALSHI",
    "event_ticker": "KXNBAGAME-26JUN08SASNYK.KALSHI",
    "event_outcomes": [
     {
      "status": "Open",
      "volume": 7872349.97,
      "market_id": "KXNBAGAME-26JUN08SASNYK-NYK_yes.KALSHI",
      "percentage": 0.54,
      "outcome_name": "New York"
     }
    ],
    "pmcs_categories": [
     "SPT",
     "BSKTBL",
     "NBA"
    ],
    "event_outcome_type": "Multi",
    "entity_event_category": "Sports"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/prediction-market-search-filter-api-ef75e5d2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.predictionmarketdata.io](https://www.zero.xyz/host/api.predictionmarketdata.io/llms.txt)
