# 取得 Kalshi 交易

**API:** Data API

**Endpoint:** `GET /v1/beta/kalshi/trades`

**Tags:** Kalshi

取得 Kalshi 市場的已成交交易紀錄——是實際成交，而非報價。需要某段期間的已實現價格與成交量時使用，例如觀察事件發展過程中市場信心的變化；以 `ticker` 與 `min_ts` / `max_ts` 的 Unix 秒範圍縮小範圍，並設定 `is_block_trade` 以篩選大額協議交易。傳回 `trades[]`，包含 `trade_id`、`ticker`、`count_fp`（合約數）、`yes_price_dollars` / `no_price_dollars`、`taker_side` 與 `created_time`，另有供分頁使用的 `cursor`。若需要目前報價、結算規則與市場中繼資料而非成交紀錄，請使用 `get_kalshi_markets`。

### 定價參考

- 計量方式：以成功請求為固定成本基礎。
- 參考請求預估：USD 0.02。

僅供參考的中繼資料，並非帳戶報價、保證價格或消費上限。資源額度並非 Felo 額度。最終費用依 Felo 計費記錄為準。

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `cursor` | query | no | string | 分頁游標。使用上一次回應傳回的游標值取得下一頁結果。第一頁請留空。 |
| `is_block_trade` | query | no | boolean | 依是否為大宗交易篩選成交。省略則傳回所有成交。設為 `true` 僅傳回大宗交易，設為 `false` 僅傳回非大宗交易。 |
| `limit` | query | no | integer, (int64), default: 100 | 每頁結果數。預設為 100，最大值為 1000。 |
| `max_ts` | query | no | integer, (int64) | 篩選在此 Unix 時間戳之前的項目 |
| `min_ts` | query | no | integer, (int64) | 篩選在此 Unix 時間戳之後的項目 |
| `ticker` | query | no | string | 依市場 ticker 篩選 |

## Responses

### 200 — 交易取得成功

Headers:
- `X-Request-Id` (string) — 聯絡 Felo 支援時需提供的請求識別碼。

**application/json**

Schema: `Response24B585A0A861_GetTradesResponse` (`#/components/schemas/Response24B585A0A861_GetTradesResponse`)

### 400 — 無法處理該要求。請檢查請求參數。

### 401 — 需要有效的 Felo API 金鑰。

### 402 — 由於未符合計費要求，要求無法繼續。

### 403 — 該帳戶無權執行此操作。

### 429 — 已達到要求或支出上限。

### 502 — 服務無法完成該要求。

### 503 — API 或計費服務暫時無法使用。

### 504 — 服務在處理要求時逾時。

### default — 錯誤回應；上游透傳回應可能採用供應商格式

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response24B585A0A861_BookSide

`#/components/schemas/Response24B585A0A861_BookSide`

```json
{
  "type": "string",
  "enum": [
    "bid",
    "ask"
  ],
  "description": "訂單或成交在訂單簿中的方向。對於事件市場，這僅指 YES 一側：`bid` 表示買入 YES，`ask` 表示賣出 YES。（賣出 YES 在經濟上等同於以 `1 - price` 買入 NO，但此端點一律從 YES 一側報價。）"
}
```

### Response24B585A0A861_FixedPointCount

`#/components/schemas/Response24B585A0A861_FixedPointCount`

```json
{
  "type": "string",
  "description": "定點合約數量字串（2 位小數，例如 \"10.00\"；在欄位名稱中稱為 \"fp\"）。請求接受 0–2 位小數（例如 \"10\"、\"10.0\"、\"10.00\"）；回應一律輸出 2 位小數。支援小數合約值（例如 \"2.50\"）；最小粒度為 0.01 份合約。",
  "example": "10.00"
}
```

### Response24B585A0A861_FixedPointDollars

`#/components/schemas/Response24B585A0A861_FixedPointDollars`

```json
{
  "type": "string",
  "description": "定點美元字串。多數請求欄位接受 2–4 位小數（例如 \"0.56\"、\"0.5600\"）；回應最多輸出 6 位小數。特定市場的有效報價間隔受該市場的價格級距結構限制。",
  "example": "0.5600"
}
```

### Response24B585A0A861_GetTradesResponse

`#/components/schemas/Response24B585A0A861_GetTradesResponse`

```json
{
  "type": "object",
  "required": [
    "trades",
    "cursor"
  ],
  "properties": {
    "trades": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Response24B585A0A861_Trade"
      }
    },
    "cursor": {
      "type": "string"
    }
  }
}
```

### Response24B585A0A861_Trade

`#/components/schemas/Response24B585A0A861_Trade`

```json
{
  "type": "object",
  "required": [
    "trade_id",
    "ticker",
    "count_fp",
    "yes_price_dollars",
    "no_price_dollars",
    "taker_outcome_side",
    "taker_book_side",
    "created_time",
    "is_block_trade"
  ],
  "properties": {
    "trade_id": {
      "type": "string",
      "description": "該筆成交的唯一識別碼"
    },
    "ticker": {
      "type": "string",
      "description": "市場的唯一識別碼"
    },
    "count_fp": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointCount"
    },
    "yes_price_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "no_price_dollars": {
      "$ref": "#/components/schemas/Response24B585A0A861_FixedPointDollars"
    },
    "taker_side": {
      "type": "string",
      "enum": [
        "yes",
        "no"
      ],
      "x-enum-varnames": [
        "TradeTakerSideYes",
        "TradeTakerSideNo"
      ],
      "deprecated": true,
      "x-go-type-skip-optional-pointer": true,
      "description": "已棄用。請改用 `taker_outcome_side`（或 `taker_book_side`）。參見[訂單方向](/getting_started/order_direction)。此欄位在 2026 年 5 月 14 日之前不會移除。\n"
    },
    "taker_outcome_side": {
      "type": "string",
      "enum": [
        "yes",
        "no"
      ],
      "x-enum-varnames": [
        "TradeTakerOutcomeSideYes",
        "TradeTakerOutcomeSideNo"
      ],
      "description": "taker 所持的結果方向。buy-yes 與 sell-no 會產生 'yes'；buy-no 與 sell-yes 會產生 'no'。\n\n`taker_outcome_side` 僅描述方向性曝險，不會改變成交價格。價格為 `p`、`taker_outcome_side=no` 的成交，會與方向相反、價格同為 `p` 的 maker 撮合——雙方以相同價格成交。\n\n`taker_outcome_side` 與 `taker_book_side` 將成為判定成交方向的標準方式。舊版 `taker_side` 欄位將在未來版本中棄用——請遷移至這些新欄位。\n"
    },
    "taker_book_side": {
      "$ref": "#/components/schemas/Response24B585A0A861_BookSide"
    },
    "created_time": {
      "type": "string",
      "format": "date-time",
      "description": "該筆成交的執行時間戳記"
    },
    "is_block_trade": {
      "type": "boolean",
      "description": "若該筆成交作為大額協議交易在訂單簿之外撮合（例如透過 RFQ / 協商大額協議提案）則為 true；在標準訂單簿上成交的為 false。"
    }
  }
}
```
