GeminiGemini
SandboxGet API key
  • Crypto Trading
  • Prediction Markets
Changelog
Gemini Crypto Exchange LogoGemini Crypto Exchange Logo

© 2026 Gemini Space Station, Inc.

REST APIs
    Orders
    Market Data
      List SymbolsGet Symbol DetailsGet TickerList CandlesList Derivative CandlesList Fee PromosGet Current Order BookList TradesList PricesFX RateGet Assets for NetworkGet Network
    Derivatives
    Margin Trading
    Staking
    Clearing
    Instant Orders
WebSocket
    AuthenticationMessage Format
    Streams
      Book TickerL2 Partial DepthL2 Differential DepthTrade StreamOrder EventsBalance Updates
    Playground
      Overviewconninfopingtimesubscribeunsubscribelist_subscriptionsdepthorder.placeorder.cancelorder.cancel_allorder.cancel_session
Agentic
FIX

List Trades

TradingMarket DataList Trades

List Trades

GEThttps://api.gemini.com/v1/trades/{symbol}

This will return the trades that have executed since the specified timestamp. Timestamps are either seconds or milliseconds since the epoch (1970-01-01). Each request will show at most 500 records.

Note

This public API endpoint is limited to retrieving seven calendar days of data.

Please contact us for information about Gemini market data.

GETv1/trades/BTCUSD
curl --request GET \
  --url https://api.gemini.com/v1/trades/BTCUSD

Path Parameters

symbolstring·required
Trading pair symbol BTCUSD, etc. See symbols and minimums.

Query Parameters

timestamp
Only return trades after this timestamp. See Timestamps for more information. If not present, will show the most recent trades. For backwards compatibility, you may also use the alias since. With timestamp, there is a 90-day hard limit.
since_tidnumber
Only retuns trades that executed after this tid. since_tid trumps timestamp parameter which has no effect if provided too. You may set since_tid to zero to get the earliest available trade history data.
limit_tradesnumber
The maximum number of trades to return. The default is 50.Default: 50
include_breaksboolean
Whether to display broken trades. False by default. Can be 1 or true to activateDefault: false

Responses

The response will be an array of JSON objects, sorted by timestamp, with the newest trade shown first.

timestampstring | integer
Gemini strongly recommends using milliseconds instead of seconds for timestamps.
Timestamp format
Example
Supported request type
string (seconds)
1495127793
POST only
string (milliseconds)
1495127793000
POST only
whole number (seconds)
1495127793
GET, POST
whole number (milliseconds)
1495127793000
GET, POST
Example: 1495127793000
timestampmsstring | integer
Gemini strongly recommends using milliseconds instead of seconds for timestamps.
Timestamp format
Example
Supported request type
string (seconds)
1495127793
POST only
string (milliseconds)
1495127793000
POST only
whole number (seconds)
1495127793
GET, POST
whole number (milliseconds)
1495127793000
GET, POST
Example: 1495127793000
tidinteger
The trade ID numberExample: 5335307668
pricestring (decimal)
The price the trade was executed atExample: 3610.85
amountstring (decimal)
The amount that was tradedExample: 0.27413495
exchangestring
Will always be "gemini"Example: gemini
typestring·enum
- `buy` means that an ask was removed from the book by an incoming buy order. - `sell` means that a bid was removed from the book by an incoming sell order.Enum values: buysellExample: buy
brokenboolean
Whether the trade was broken or not. Broken trades will not be displayed by default; use the `include_breaks` to display them.Example: false
Example Responses
{
  "timestamp": 1547146811,
  "timestampms": 1547146811357,
  "tid": 5335307668,
  "price": "3610.85",
  "amount": "0.27413495",
  "exchange": "gemini",
  "type": "buy",
  "broken": true
}
PreviousGet Current Order BookNextList Prices
Last modified on April 29, 2026