Skip to main content
GET
Trades
Read source-independent executions as flat rows. Filter by exact source, normalized routing market, or venue-native instrument when needed.

Request

Query parameters

Access and behavior

With no bounds, the API queries the latest hour anonymously. Explicit bounds inside the rolling last hour are also public; older history requires a Polaris API key. start and end are inclusive collector timestamps in Unix milliseconds. With only start, the query runs through now; with only end, it covers the preceding hour, clamped to the anonymous cutoff. Anonymous reads are capped at 1 GiB per request and two concurrent queries per API replica. Rows that age out of the public hour are skipped during anonymous pagination.

Response

items[] fields

price and quantity are numbers. SDK trade methods may return standardized event envelopes instead of these flat REST rows; see trade event fields.

Pagination

Pass next_cursor as cursor with the same filters. Stop when has_more is false, or when next_cursor is null for endpoints without has_more. A cursor is opaque; do not edit or reuse it with different filters.

Errors

The OpenAPI contract lists 400, 401, 422, 429, 503. Error responses use error.code, error.message, and error.resolution. Narrow an expensive query after 422. Follow Retry-After after 429. For the machine-readable contract, see the OpenAPI document.