Batch download trades with filters
Trades Data
Batch Download Trades
Batch download trades with filters by token, chain, and timeframe. Supports cursor-based pagination for downloading large datasets.
GET
Batch download trades with filters
Query Details
This endpoint allows batch downloading of trades across the entire platform with filtering capabilities. Ideal for:- Downloading all trades for a specific chain
- Downloading all trades involving a specific token
- Building historical trade datasets
- Analytics and backtesting
Response Overview
The response uses the same trade format as/api/2/token/trades for consistency.
Pagination object:
- count: Number of trades returned in this response
- nextCursor: Cursor to use for fetching the next page (null if no more results)
- hasMore: Boolean indicating if more results are available
- from/to: Timestamps of the queried timeframe
- id: Unique swap identifier
- operation: Operation type (regular, deposit, withdrawal)
- type: Trade direction (buy, sell, deposit, withdrawal)
- baseTokenAmount/quoteTokenAmount: Token amounts (formatted)
- baseTokenAmountRaw/quoteTokenAmountRaw: Token amounts in smallest units
- baseTokenAmountUSD/quoteTokenAmountUSD: Trade value in USD
- baseTokenPriceUSD/quoteTokenPriceUSD: Token prices at execution time
- date: Trade timestamp in milliseconds
- blockchain: Human-readable blockchain name
- transactionHash: Transaction hash
- marketAddress: Pool/market address
- swapSenderAddress: Address that executed the swap
- transactionSenderAddress: Transaction originator (tx.from)
- swapRecipient: Actual beneficiary of the swap
- baseToken: Base token metadata (address, name, symbol, logo, decimals)
- quoteToken: Quote token metadata (address, name, symbol, logo, decimals)
- labels: Array of labels (sniper, bundler, insider, etc.)
- platform: Trading platform metadata (if available)
- totalFeesUSD/gasFeesUSD/platformFeesUSD/mevFeesUSD: Fee breakdown
Usage Examples
Download all Solana trades in a 1-hour window:Sample Response
Base/Quote Token Logic: When filtering by
tokenAddress, that token becomes the base token. Without a token filter, token0 is used as base. The type field (buy/sell) is relative to the base token.