# Nansen Polymarket Event Screener

> Nansen Polymarket Event Screener is a paid API for AI agents from Nansen at api.nansen.ai, paid per call via MPP, $0.01/call, status unknown (last checked 2026-10-12).

Browse, filter, and sort Polymarket prediction market events with aggregated volume, liquidity, and trader statistics across all child markets.

## Facts

- Endpoint: POST https://api.nansen.ai/api/v1/prediction-market/event-screener?utm_source=zero.xyz
- Price: $0.01/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Provider: Nansen
- Docs: https://docs.nansen.ai
- Website: https://nansen.ai
- Tags: blockchain, smart-money, wallet, tokens, defi, analytics, profiler, dex, pnl, onchain, prediction-market, data
- Canonical page: https://www.zero.xyz/c/nansen-event-screener-db3fb486
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_bDeGZhqYgyMZw-h0jEZ0N

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 nansen-event-screener-db3fb486 -d '<json body>'
```

Example prompt: Show me the top 10 most actively traded Polymarket events right now — filter to only active status, sort by 24-hour volume descending, and include crypto-tagged events. Give me the event titles, total volumes, and market counts.

## When to prefer this

Use this endpoint when you need to discover and rank Polymarket prediction market events — especially when you want cross-market aggregates (total event volume, total liquidity, combined trader counts) rather than individual market data. Prefer this over single-market endpoints when comparing events, identifying trending topics, or building leaderboards of prediction market activity. Ideal for broad discovery with filtering by tag, status, or volume thresholds.

## Known failure modes

- Invalid sort_by field value returns validation error
- Tags array exceeding 50 items returns 422 unprocessable entity
- Query string exceeding 200 characters is rejected
- Invalid status enum value returns validation error
- min_liquidity greater than max_liquidity returns empty or error
- Page number below 1 or per_page above 1000 returns validation error
- Unauthorized request (missing/invalid API key) returns 401
- No matching events for given filters returns empty data array

## How this service works

Browse and filter Polymarket events (groups of related markets). Includes aggregated
volume, liquidity, and trader counts across all markets in each event.

**What it helps to answer:**

1. **What are the most popular prediction market events?**
2. **How much total volume does an event have across all its markets?**
3. **Which events have the most active trading?**

## Output

A paginated list of Polymarket events, each with: event ID, title, tags, market count, total volume (USD), 24h volume, weekly/monthly volume, liquidity, open interest, unique trader counts, max age in hours, neg-risk flag, top market ID, and nested data for individual child markets including their questions, best bid/ask prices, last trade price, open interest, 24h volume, and 1-day price change.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "EventScreenerRequest",
 "properties": {
  "tags": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Tags",
   "examples": [
    [
     "Crypto",
     "Bitcoin"
    ]
   ],
   "maxItems": 50,
   "description": "Filter by tags"
  },
  "query": {
   "type": "string",
   "title": "Query",
   "default": "",
   "examples": [
    "bitcoin",
    "election"
   ],
   "maxLength": 200,
   "description": "Search query to filter results"
  },
  "status": {
   "enum": [
    "active",
    "closed",
    ""
   ],
   "type": "string",
   "title": "MarketStatus",
   "description": "Valid status filters for screener endpoints."
  },
  "sort_by": {
   "enum": [
    "volume_24hr",
    "volume",
    "volume_1wk",
    "volume_1mo",
    "liquidity",
    "open_interest",
    "unique_traders_24h",
    "age_hours"
   ],
   "type": "string",
   "title": "ScreenerSortField",
   "description": "Valid sort fields for screener endpoints."
  },
  "neg_risk": {
   "anyOf": [
    {
     "type": "boolean"
    }
   ],
   "title": "Neg Risk",
   "description": "Filter by neg-risk framework (null = no filter)"
  },
  "order_by": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "object",
      "title": "ScreenerSortOrder",
      "required": [
       "field",
       "direction"
      ],
      "properties": {
       "field": {
        "enum": [
         "volume_24hr",
         "volume",
         "volume_1wk",
         "volume_1mo",
         "liquidity",
         "open_interest",
         "unique_traders_24h",
         "age_hours"
        ],
        "type": "string",
        "title": "ScreenerSortField",
        "description": "Valid sort fields for screener endpoints."
       },
       "direction": {
        "enum": [
         "ASC",
         "DESC"
        ],
        "type": "string",
        "title": "SortDirection",
        "description": "Enum for sort directions."
       }
      }
     }
    }
   ],
   "title": "Order By",
   "examples": [
    [
     {
      "field": "volume_24hr",
      "direction": "DESC"
     }
    ]
   ],
   "description": "Sort order"
  },
  "pagination": {
   "type": "object",
   "title": "PaginationRequest",
   "properties": {
    "page": {
     "type": "integer",
     "title": "Page",
     "default": 1,
     "minimum": 1,
     "description": "Page number (1-based)"
    },
    "per_page": {
     "type": "integer",
     "title": "Per Page",
     "default": 10,
     "maximum": 1000,
     "m
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "EventScreenerResponse",
 "required": [
  "data"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "EventScreenerItem",
    "required": [
     "event_id"
    ],
    "properties": {
     "tags": {
      "anyOf": [
       {
        "type": "array",
        "items": {
         "type": "string"
        }
       }
      ],
      "title": "Tags",
      "description": "Event tags"
     },
     "markets": {
      "anyOf": [
       {
        "type": "array",
        "items": {
         "type": "object",
         "title": "EventScreenerMarket",
         "required": [
          "market_id",
          "question"
         ],
         "properties": {
          "best_ask": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Best Ask"
          },
          "best_bid": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Best Bid"
          },
          "end_date": {
           "anyOf": [
            {
             "type": "string",
             "format": "date-time"
            }
           ],
           "title": "End Date"
          },
          "question": {
           "type": "string",
           "title": "Question"
          },
          "market_id": {
           "type": "string",
           "title": "Market Id"
          },
          "volume_24hr": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Volume 24Hr"
          },
          "open_interest": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Open Interest"
          },
          "last_trade_price": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Last Trade Price"
          },
          "volume_change_pct": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Volume Change Pct"
          },
          "unique_traders_24h": {
           "anyOf": [
            {
             "type": "integer"
            }
           ],
           "title": "Unique Traders 24H"
          },
          "one_day_price_change": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "One Day Price Change"

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nansen-event-screener-db3fb486/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.nansen.ai](https://www.zero.xyz/host/api.nansen.ai/llms.txt)
