---
title: "Search trades"
method: POST
path: "/v1/report/trades/search"
tags: ["Report"]
---

# Search trades

`POST /v1/report/trades/search`

Searches for exchange trades using the given details to filter

## Request body

- SearchTradesRequest
  - `pageSize` integer
  - `pageToken` string
  - `orderId` string
  - `tradeId` string
  - `execId` string
  - `startTime` string, date-time
  - `endTime` string, date-time
  - `symbol` string
  - `accounts` string[]
  - `states` TradeState[]
  - `tradeLinkId` string

## Response `200`

A successful response.

- SearchTradesResponse
  - `trade` Trade[]
    - `id` string
    - `aggressor` Execution — Execution denotes a state change for an order in the exchange. Wire-compatible with Connamara EP3 Execution.
      - `id` string
      - `order` Order
        - `id` string
        - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT' — OrderType indicates the type of an order.
        - `side` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
        - `orderQty` string, int64
        - `symbol` string
        - `clordId` string
        - `timeInForce` 'TIME_IN_FORCE_DAY' | 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_GOOD_TILL_TIME' | 'TIME_IN_FORCE_FILL_OR_KILL' — TimeInForce specifies how long the order remains in effect.
        - `account` string
        - `cumQty` string, int64
        - `avgPx` string, int64
        - `leavesQty` string, int64
        - `state` 'ORDER_STATE_PARTIALLY_FILLED' | 'ORDER_STATE_FILLED' | 'ORDER_STATE_CANCELED' | 'ORDER_STATE_REPLACED' | 'ORDER_STATE_REJECTED' | 'ORDER_STATE_EXPIRED' | 'ORDER_STATE_PENDING_NEW' | 'ORDER_STATE_PENDING_REPLACE' | 'ORDER_STATE_PENDING_CANCEL' | 'ORDER_STATE_PENDING_RISK' — OrderState denotes the current order state.
        - `participant` string
        - `price` string, int64
        - `insertTime` string, date-time
        - `stopPrice` string, int64
        - `minQty` string, int64
        - `createTime` string, date-time
        - `allOrNone` boolean
        - `crossId` string
        - `hostCrossId` string
        - `submittingParticipant` string
        - `clientAccountId` string
        - `clientParticipantId` string
        - `parentOrderId` string
        - `commissionsBasisPoints` string
        - `participateDontInitiate` boolean
        - `cashOrderQty` string, int64
        - `strictLimit` boolean
        - `goodTillTime` string, date-time
        - `bestLimit` boolean
        - `immediatelyExecutableLimit` boolean
        - `lastTradeId` string
        - `commissionNotionalTotalCollected` string, int64
        - `selfMatchPreventionInstruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — SelfMatchPreventionInstruction is the methodology used to handle self match prevention.
        - `orderCapacity` 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — OrderCapacity designates the capacity of the party placing an order.
        - `ignorePriceValidityChecks` boolean
        - `lastTransactTime` string, date-time
        - `makerCommissionsBasisPoints` string
        - `manualOrderIndicator` 'MANUAL_ORDER_INDICATOR_MANUAL' | 'MANUAL_ORDER_INDICATOR_AUTOMATED' — ManualOrderIndicator designates the manual or automated nature of an order.
        - `fractionalQuantityScale` string, int64
        - `priceToQuantityFilled` object
      - `lastShares` string, int64
      - `lastPx` string, int64
      - `type` 'EXECUTION_TYPE_PARTIAL_FILL' | 'EXECUTION_TYPE_FILL' | 'EXECUTION_TYPE_CANCELED' | 'EXECUTION_TYPE_REPLACE' | 'EXECUTION_TYPE_REJECTED' | 'EXECUTION_TYPE_EXPIRED' | 'EXECUTION_TYPE_DONE_FOR_DAY' — ExecutionType denotes the execution type.
      - `text` string
      - `orderRejectReason` 'ORD_REJECT_REASON_UNKNOWN_SYMBOL' | 'ORD_REJECT_REASON_EXCHANGE_CLOSED' | 'ORD_REJECT_REASON_INCORRECT_QUANTITY' | 'ORD_REJECT_REASON_INVALID_PRICE_INCREMENT' | 'ORD_REJECT_REASON_INCORRECT_ORDER_TYPE' | 'ORD_REJECT_REASON_PRICE_OUT_OF_BOUNDS' | 'ORD_REJECT_REASON_NO_LIQUIDITY' — OrdRejectReason is the code to identify reason for order rejection.
      - `transactTime` string, date-time
      - `legPrices` LegPrice[]
        - `symbol` string
        - `anchor` boolean
        - `px` string, int64
        - `qty` string, int64
        - `side` string
        - `referencePx` string, int64
      - `tradeId` string
      - `aggressor` boolean
      - `commissionNotionalCollected` string, int64
      - `unsolicitedCancelReason` 'UNSOLICITED_CXL_REASON_CONNECTION_LOSS' | 'UNSOLICITED_CXL_REASON_LOGOUT' | 'UNSOLICITED_CXL_REASON_EXCHANGE_OPTION' | 'UNSOLICITED_CXL_REASON_OTHER' — UnsolicitedCxlReason is a code to identify the reason for an unsolicited cancellation.
      - `traceId` string
      - `commissionSpreadPx` string, int64
      - `transactTradeDate` Date — Date represents a calendar date.
        - `year` integer
        - `month` integer
        - `day` integer
    - `passive` Execution — Execution denotes a state change for an order in the exchange. Wire-compatible with Connamara EP3 Execution.
      - `id` string
      - `order` Order
        - `id` string
        - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT' — OrderType indicates the type of an order.
        - `side` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
        - `orderQty` string, int64
        - `symbol` string
        - `clordId` string
        - `timeInForce` 'TIME_IN_FORCE_DAY' | 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_GOOD_TILL_TIME' | 'TIME_IN_FORCE_FILL_OR_KILL' — TimeInForce specifies how long the order remains in effect.
        - `account` string
        - `cumQty` string, int64
        - `avgPx` string, int64
        - `leavesQty` string, int64
        - `state` 'ORDER_STATE_PARTIALLY_FILLED' | 'ORDER_STATE_FILLED' | 'ORDER_STATE_CANCELED' | 'ORDER_STATE_REPLACED' | 'ORDER_STATE_REJECTED' | 'ORDER_STATE_EXPIRED' | 'ORDER_STATE_PENDING_NEW' | 'ORDER_STATE_PENDING_REPLACE' | 'ORDER_STATE_PENDING_CANCEL' | 'ORDER_STATE_PENDING_RISK' — OrderState denotes the current order state.
        - `participant` string
        - `price` string, int64
        - `insertTime` string, date-time
        - `stopPrice` string, int64
        - `minQty` string, int64
        - `createTime` string, date-time
        - `allOrNone` boolean
        - `crossId` string
        - `hostCrossId` string
        - `submittingParticipant` string
        - `clientAccountId` string
        - `clientParticipantId` string
        - `parentOrderId` string
        - `commissionsBasisPoints` string
        - `participateDontInitiate` boolean
        - `cashOrderQty` string, int64
        - `strictLimit` boolean
        - `goodTillTime` string, date-time
        - `bestLimit` boolean
        - `immediatelyExecutableLimit` boolean
        - `lastTradeId` string
        - `commissionNotionalTotalCollected` string, int64
        - `selfMatchPreventionInstruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — SelfMatchPreventionInstruction is the methodology used to handle self match prevention.
        - `orderCapacity` 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — OrderCapacity designates the capacity of the party placing an order.
        - `ignorePriceValidityChecks` boolean
        - `lastTransactTime` string, date-time
        - `makerCommissionsBasisPoints` string
        - `manualOrderIndicator` 'MANUAL_ORDER_INDICATOR_MANUAL' | 'MANUAL_ORDER_INDICATOR_AUTOMATED' — ManualOrderIndicator designates the manual or automated nature of an order.
        - `fractionalQuantityScale` string, int64
        - `priceToQuantityFilled` object
      - `lastShares` string, int64
      - `lastPx` string, int64
      - `type` 'EXECUTION_TYPE_PARTIAL_FILL' | 'EXECUTION_TYPE_FILL' | 'EXECUTION_TYPE_CANCELED' | 'EXECUTION_TYPE_REPLACE' | 'EXECUTION_TYPE_REJECTED' | 'EXECUTION_TYPE_EXPIRED' | 'EXECUTION_TYPE_DONE_FOR_DAY' — ExecutionType denotes the execution type.
      - `text` string
      - `orderRejectReason` 'ORD_REJECT_REASON_UNKNOWN_SYMBOL' | 'ORD_REJECT_REASON_EXCHANGE_CLOSED' | 'ORD_REJECT_REASON_INCORRECT_QUANTITY' | 'ORD_REJECT_REASON_INVALID_PRICE_INCREMENT' | 'ORD_REJECT_REASON_INCORRECT_ORDER_TYPE' | 'ORD_REJECT_REASON_PRICE_OUT_OF_BOUNDS' | 'ORD_REJECT_REASON_NO_LIQUIDITY' — OrdRejectReason is the code to identify reason for order rejection.
      - `transactTime` string, date-time
      - `legPrices` LegPrice[]
        - `symbol` string
        - `anchor` boolean
        - `px` string, int64
        - `qty` string, int64
        - `side` string
        - `referencePx` string, int64
      - `tradeId` string
      - `aggressor` boolean
      - `commissionNotionalCollected` string, int64
      - `unsolicitedCancelReason` 'UNSOLICITED_CXL_REASON_CONNECTION_LOSS' | 'UNSOLICITED_CXL_REASON_LOGOUT' | 'UNSOLICITED_CXL_REASON_EXCHANGE_OPTION' | 'UNSOLICITED_CXL_REASON_OTHER' — UnsolicitedCxlReason is a code to identify the reason for an unsolicited cancellation.
      - `traceId` string
      - `commissionSpreadPx` string, int64
      - `transactTradeDate` Date — Date represents a calendar date.
        - `year` integer
        - `month` integer
        - `day` integer
    - `tradeType` 'TRADE_TYPE_REGULAR' | 'TRADE_TYPE_REQUEST_FOR_QUOTE' | 'TRADE_TYPE_BLOCK' | 'TRADE_TYPE_CROSS' — TradeType describes the execution type of the trade.
    - `state` 'TRADE_STATE_NEW' | 'TRADE_STATE_CLEARED' | 'TRADE_STATE_BUSTED' | 'TRADE_STATE_INFLIGHT' | 'TRADE_STATE_PENDING_RISK' | 'TRADE_STATE_PENDING_CLEARED' | 'TRADE_STATE_REJECTED' | 'TRADE_STATE_CLEARING_ACKNOWLEDGED' | 'TRADE_STATE_RETRY_REQUEST' — TradeState indicates the state of a trade.
    - `reportingCounterparty` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
    - `text` string — Additional detail regarding the status of the trade. May be empty.
    - `tradeLinkId` string — Exchange assigned ID for a group of trades that all executed within the same underlying transactional event.
    - `metadata` object — Metadata attached to this trade.
  - `nextPageToken` string

---

[API](https://skmtc.dev/polymarket/apis/portfolio-api.md) · [All operations](https://skmtc.dev/polymarket/apis/portfolio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/polymarket/portfolio-api/revisions/150874842db1/schema)
