# Polymarket 事件列表 API (polymarket.events)

- Canonical page: https://everyinfra.com/polymarket-api/events
- Endpoint: POST /api/v1/social with {"platform": "polymarket", "action": "events", "params": {...}}
- Price: $0.006806 per call ($6.81 per 1,000 requests); failed and empty results are not charged
- Returns: list, default 20, max 100 per call
- Mode: sync; add "mode": "async" for slow tasks

Polymarket 事件列表按分类、关键词、状态和排序列出事件。一个事件下可以挂多个市场，每行给出标题、结算依据来源 `resolution_source`、市场个数 `market_count`、累计和 24 小时成交额、流动性、未平仓额 `open_interest_usd`、累计成交笔数 `trade_count`，并附带最多 10 个市场的摘要 `markets`。适合监测热点事件。

`category` 取 Crypto、Sports、Politics 这类分类；`keyword` 至少 3 个字，在标题里搜，不传就按排序列全站；`status` 取 `open` 或 `closed`，不传两种都有。不需要必填参数，默认 20 条，单次最多 100 条。

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=polymarket&action=events

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| category | not declared | no | not declared | 事件分类，例如 Crypto、Sports、Politics（events）。 |
| keyword | not declared | no | not declared | 在市场或事件标题里搜的词，至少 3 个字，例如 bitcoin、election；不传按排序列全站。 |
| sort | enum: created / end_date / open_interest / start_date / trades_1d / volume_1d / volume_7d / volume_all_time | no | not declared | created（默认，新建的在前）、start_date、end_date、volume_1d、volume_7d、volume_all_time、open_interest、trades_1d。 |
| status | enum: closed / open | no | not declared | open（还在交易）或 closed（已结束）；不传两种都有。 |
| limit | integer (1–100) | no | 20 | 这次调用最多返回的条数，整数，1–100；不传按默认值，实际返回可能少于这个数。超过上限会在扣费前返回 422。 |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| id | 市场或事件的 Polymarket ID（字符串）。 |
| slug | 市场或事件在 Polymarket 链接里的短名；市场 slug 可作为 trades 的 market。 |
| url | 该记录在原平台上的可访问链接。 |
| title | 标题。平台无标题概念时（如纯文本帖）为 null。 |
| description | 简介或描述，通常比 text 短。 |
| tags | 标签列表；没有时没有这个字段。 |
| status | open（还在交易）或 closed（已结束）。 |
| market_count | 事件下的市场个数（events）。 |
| volume_usd | 累计成交额，美元。 |
| liquidity_usd | 当前挂单流动性，美元。 |
| open_interest_usd | 当前未平仓金额，美元（events）。 |
| volume_24h_usd | 近 24 小时成交额，美元。 |
| trade_count | 累计成交笔数（events）。 |
| resolution_source | 事件写明的结算依据来源（events）。 |
| image_url | 图片链接。多图能力可能返回 image_urls 数组。 |
| start_at | 开始时间，ISO 8601 UTC。 |
| end_at | 计划结束时间，ISO 8601 UTC。 |
| closed_at | 实际关闭时间，ISO 8601 UTC；没关闭时没有。 |
| created_at | 创建时间，格式同 posted_at。 |
| markets | 事件下的市场（events，最多 10 个），每项 id、condition_id、slug、title、status、outcomes、volume_usd。 |
| platform | 数据来源平台标识，与请求里的 platform 一致（如 xiaohongshu、tiktok）。 |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "polymarket",
  "action": "events",
  "params": {}
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "polymarket",
        "action": "events",
        "params": {},
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

No real sample for these example parameters yet: structure only, every value is a placeholder (…).

```text
{
  "id": "req_…",
  "platform": "polymarket",
  "action": "events",
  "results": [
    {
      "id": …,
      "slug": …,
      "url": …,
      "title": …,
      "description": …,
      "tags": …,
      "status": …,
      "market_count": …,
      "volume_usd": …,
      "liquidity_usd": …,
      "open_interest_usd": …,
      "volume_24h_usd": …,
      "trade_count": …,
      "resolution_source": …,
      "image_url": …,
      "start_at": …,
      "end_at": …,
      "closed_at": …,
      "created_at": …,
      "markets": …,
      "platform": …
    }
  ],
  "count": …,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### 事件列表和市场列表怎么选？

按话题看整体热度、结算依据，用事件列表，它有 `category` 参数，也有 `market_count` 和未平仓额。要看具体每个可买的结果和概率，用市场列表，那一页带每个结果的 0 到 1 的数、赢的一边和所属事件，但没有分类参数。

### `sort` 怎么选？

追新事件用默认的 `created`；看谁快开始或快结束，用 `start_date` 或 `end_date`；比资金规模，用 `volume_all_time` 或 `open_interest`；看近期热度，用 `volume_1d`、`volume_7d` 或 `trades_1d`。

### `markets` 里为什么只有最多 10 个？

每个事件的 `markets` 最多返回 10 个。`market_count` 是事件下的市场总个数，两个数对一下，就知道摘要有没有被截断。要读完整的市场，用市场列表按关键词去搜。`closed_at` 只在事件已关闭时才有。

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=polymarket
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
