# Polymarket Market Screener

> Polymarket Market Screener is a paid API for AI agents from aiworker.duckdns.org, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-13).

Screens and ranks Polymarket prediction markets by volume, closing date, or 7-day price movement with filtering by category, status, and minimum volume

## Facts

- Endpoint: POST https://aiworker.duckdns.org/v1/polymarket/screener
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/polymarket-market-screener-d88020c6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HaCqYEjv1q4AHs0eU68gX

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 polymarket-market-screener-d88020c6 -d '<json body>'
```

Example prompt: Show me the top 20 open Polymarket politics markets closing within 30 days, sorted by closing date, with at least $10,000 in volume.

## When to prefer this

Use this endpoint when you need to discover, rank, or filter Polymarket prediction markets at scale — for example, building a market watchlist, identifying trending or soon-to-close markets, or scanning a specific category like politics or crypto. Prefer this over a raw Polymarket API when you want server-side filtering, ranking, and clean structured output without handling pagination or raw event data yourself.

## Known failure modes

- Invalid category string returns empty results or error if not present in categories table
- Requesting closing_within_days on resolved markets is ignored (open markets only)
- Movers filter with no 7-day close data available returns empty array
- Exceeding limit maximum of 50 returns validation error
- min_volume_usd above 10,000,000 returns validation error
- Data may be stale if called shortly after data cutoff timestamp

## How this service works

Deterministic-first data for agents, paid per call in USDC over x402 v2: DeFi yields, Base token and wallet cards, Polymarket odds and backtests, news, fact checks, cited briefs. 20 routes, $0.005-$1

## Output

Returns a JSON object containing an array of matching Polymarket markets, each with the market ID, slug, question text, end date, last close price, 7-day price change, volume in USD, days to end, category tags, and resolution status. Also includes metadata such as applied filters, total candidates found, whether the result was capped, data cutoff date, and generation timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "volume",
    "closing",
    "move"
   ],
   "type": "string",
   "default": "volume",
   "description": "rank by lifetime volume, by end date, or by 7-day close move (closing and move are open markets only)"
  },
  "limit": {
   "type": "integer",
   "default": 20,
   "maximum": 50,
   "minimum": 1,
   "description": "at most this many markets in the answer"
  },
  "movers": {
   "enum": [
    "up",
    "down"
   ],
   "type": "string",
   "description": "keep only markets with a 7-day close pair and rank by that move, up or down (open markets only, implies sort \"move\")"
  },
  "status": {
   "enum": [
    "open",
    "resolved",
    "all"
   ],
   "type": "string",
   "default": "open",
   "description": "which markets to list: still open, resolved yes/no, or all"
  },
  "category": {
   "type": "string",
   "default": "all",
   "maxLength": 64,
   "minLength": 1,
   "description": "\"all\" or a Polymarket event tag present in the store's categories table"
  },
  "min_volume_usd": {
   "type": "number",
   "default": 1000,
   "maximum": 10000000,
   "minimum": 0,
   "description": "markets below this lifetime volume are excluded"
  },
  "closing_within_days": {
   "type": "integer",
   "maximum": 365,
   "minimum": 1,
   "description": "only markets ending between the data cut-off and that many days later (open markets only)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "filters": {
   "sort": "closing",
   "limit": 20,
   "status": "open",
   "category": "politics",
   "min_volume_usd": 10000,
   "closing_within_days": 30
  },
  "markets": [
   {
    "id": "559651",
    "slug": "xi-jinping-out-before-2027",
    "end_date": "2027-01-01",
    "question": "Xi Jinping out before 2027?",
    "change_7d": -0.003,
    "last_close": 0.0385,
    "resolution": "open",
    "volume_usd": 13121236.14,
    "days_to_end": 479,
    "category_tags": [
     "politics",
     "world"
    ],
    "last_close_day": "2026-09-09"
   }
  ],
  "universe": {
   "capped": false,
   "candidates": 312
  },
  "disclaimer": "…",
  "generation": 1,
  "attribution": "…",
  "data_cutoff": "2026-09-09",
  "generated_at": "2026-09-10T12:00:00.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/polymarket-market-screener-d88020c6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from aiworker.duckdns.org](https://www.zero.xyz/host/aiworker.duckdns.org/llms.txt)
