---
title: "Get Recent Trades"
method: GET
path: "/v1/info/trades"
---

# Get Recent Trades

`GET /v1/info/trades`

Get public trades for an instrument.
Maximum of 100 entries returned per request.

## Query parameters

- `instrument_id` integer, required — Instrument ID
- `start_timestamp` integer — Start timestamp in milliseconds
- `end_timestamp` integer — End timestamp in milliseconds

## Response `200`

Trades response.

- Trades
  - `data` TradeData[], required — Public trades for the instrument
    - `trade_id` integer, required — Trade ID
    - `instrument_id` integer, required — Instrument ID
    - `side` 'long' | 'short', required — Side
    - `price` string, required — Price
    - `quantity` string, required — Quantity in no. of contracts
    - `timestamp` integer, required — Request timestamp. Unix milliseconds for most operations; Unix seconds for withdrawals (must match the on-chain EIP-712 struct verified against block.timestamp).
    - `hash` string, required — On-chain transaction hash, "0x" if not yet mined
  - `more` boolean, required — More data available

## Other responses

- `400` — Bad request — the request was malformed or failed validation (bad query parameters, unparseable body, invalid signature, or a domain pre-check). The `error` field is a human-readable validation detail.
- `429` — Too Many Requests. `error` distinguishes the limit that was hit: `ip_rate_limited` (per-IP token bucket), `action_rate_limited` (per-account action rate), or `open_orders_limit` (resting open-order cap).
- `500` — Internal server error. `error` is `internal_error`.

---

[API](https://skmtc.net/polymarket/apis/polymarket-perps-http-api.md) · [All operations](https://skmtc.net/polymarket/apis/polymarket-perps-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polymarket/polymarket-perps-http-api/versions/e17c4709273e/schema)
