Skip to content

spot.market

Public methods exposed through client.spot.market.

agg_trades

Return aggregate public trades for a spot symbol.

Parameters:

Name Type Description Default
symbol str

Spot symbol.

required
limit int | None

Maximum number of aggregate trades.

None
start_time Timestamp | None

Start timestamp in milliseconds.

None
end_time Timestamp | None

End timestamp in milliseconds.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
list[AggTradesItem]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/agg_trades.py
async def agg_trades(
  self,
  *,
  symbol: str,
  limit: int | None = None,
  start_time: Timestamp | None = None,
  end_time: Timestamp | None = None,
  validate: bool | None = None
) -> list[AggTradesItem]:
  """Return aggregate public trades for a spot symbol.

  Args:
    symbol: Spot symbol.
    limit: Maximum number of aggregate trades.
    start_time: Start timestamp in milliseconds.
    end_time: End timestamp in milliseconds.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#compressed-aggregate-trades-list)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  if limit is not None:
    params['limit'] = limit
  if start_time is not None:
    params['startTime'] = ts.dump_ms(start_time)
  if end_time is not None:
    params['endTime'] = ts.dump_ms(end_time)
  r = await self.request('GET', '/api/v3/aggTrades', params=params)
  return self.output(r.text, adapter, validate)

avg_price

Return current average price for a spot symbol.

Parameters:

Name Type Description Default
symbol str

Spot symbol.

required
validate bool | None

Validation override for this request.

None

Returns:

Type Description
AvgPriceResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/avg_price.py
async def avg_price(self, *, symbol: str, validate: bool | None = None) -> AvgPriceResponse:
  """Return current average price for a spot symbol.

  Args:
    symbol: Spot symbol.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#current-average-price)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  r = await self.request('GET', '/api/v3/avgPrice', params=params)
  return self.output(r.text, adapter, validate)

book_ticker

Return best bid and ask for one spot symbol or all symbols.

Parameters:

Name Type Description Default
symbol str | None

Spot symbol. If omitted, returns all symbols.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
BookTickerResponse | list[BookTickerListItem]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/book_ticker.py
async def book_ticker(
  self,
  *,
  symbol: str | None = None,
  validate: bool | None = None
) -> BookTickerResponse | list[BookTickerListItem]:
  """Return best bid and ask for one spot symbol or all symbols.

  Args:
    symbol: Spot symbol. If omitted, returns all symbols.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#symbol-order-book-ticker)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  r = await self.request('GET', '/api/v3/ticker/bookTicker', params=params)
  return self.output(r.text, adapter, validate)

candles

Return spot kline/candlestick rows for a symbol.

Parameters:

Name Type Description Default
symbol str

Spot symbol.

required
interval Literal['1m', '5m', '15m', '30m', '60m', '4h', '1d', '1W', '1M']

Kline interval.

required
start_time Timestamp | None

Start timestamp in milliseconds.

None
end_time Timestamp | None

End timestamp in milliseconds.

None
limit int | None

Maximum number of candles.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
list[SpotCandle]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/candles.py
async def candles(
  self,
  *,
  symbol: str,
  interval: Literal['1m', '5m', '15m', '30m', '60m', '4h', '1d', '1W', '1M'],
  start_time: Timestamp | None = None,
  end_time: Timestamp | None = None,
  limit: int | None = None,
  validate: bool | None = None
) -> list[SpotCandle]:
  """Return spot kline/candlestick rows for a symbol.

  Args:
    symbol: Spot symbol.
    interval: Kline interval.
    start_time: Start timestamp in milliseconds.
    end_time: End timestamp in milliseconds.
    limit: Maximum number of candles.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#kline-candlestick-data)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  if interval is not None:
    params['interval'] = interval
  if start_time is not None:
    params['startTime'] = ts.dump_ms(start_time)
  if end_time is not None:
    params['endTime'] = ts.dump_ms(end_time)
  if limit is not None:
    params['limit'] = limit
  r = await self.request('GET', '/api/v3/klines', params=params)
  return self.output(r.text, adapter, validate)

default_symbols

Return MEXC spot default symbols.

Parameters:

Name Type Description Default
validate bool | None

Validation override for this request.

None

Returns:

Type Description
DefaultSymbolsResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/default_symbols.py
async def default_symbols(
  self,
  *,
  validate: bool | None = None
) -> DefaultSymbolsResponse:
  """Return MEXC spot default symbols.

  Args:
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#api-default-symbol)
  """
  params = {}
  r = await self.request('GET', '/api/v3/defaultSymbols')
  return self.output(r.text, adapter, validate)

depth

Return a spot order book snapshot for a symbol.

Parameters:

Name Type Description Default
symbol str

Spot symbol.

required
limit int | None

Number of bids and asks to return.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
OrderBook

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/depth.py
async def depth(
  self,
  *,
  symbol: str,
  limit: int | None = None,
  validate: bool | None = None
) -> OrderBook:
  """Return a spot order book snapshot for a symbol.

  Args:
    symbol: Spot symbol.
    limit: Number of bids and asks to return.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#order-book)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  if limit is not None:
    params['limit'] = limit
  r = await self.request('GET', '/api/v3/depth', params=params)
  return self.output(r.text, adapter, validate)

etf_info

Return spot ETF information such as net value, leverage, and fund fee.

Parameters:

Name Type Description Default
symbol str | None

ETF symbol.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
EtfInfoResponse | list[EtfInfoListItem]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/etf_info.py
async def etf_info(
  self,
  *,
  symbol: str | None = None,
  validate: bool | None = None
) -> EtfInfoResponse | list[EtfInfoListItem]:
  """Return spot ETF information such as net value, leverage, and fund fee.

  Args:
    symbol: ETF symbol.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#etf-endpoints)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  r = await self.request('GET', '/api/v3/etf/info', params=params)
  return self.output(r.text, adapter, validate)

exchange_info

Return spot exchange metadata and symbol trading rules.

Parameters:

Name Type Description Default
symbol str | None

Single spot symbol to query.

None
symbols str | None

Comma-separated spot symbols to query.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
ExchangeInfoResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/exchange_info.py
async def exchange_info(
  self,
  *,
  symbol: str | None = None,
  symbols: str | None = None,
  validate: bool | None = None
) -> ExchangeInfoResponse:
  """Return spot exchange metadata and symbol trading rules.

  Args:
    symbol: Single spot symbol to query.
    symbols: Comma-separated spot symbols to query.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#exchange-information)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  if symbols is not None:
    params['symbols'] = symbols
  r = await self.request('GET', '/api/v3/exchangeInfo', params=params)
  return self.output(r.text, adapter, validate)

historical_trades

Return older public spot trades for a symbol.

Parameters:

Name Type Description Default
symbol str

Spot symbol.

required
limit int | None

Maximum number of trades to return.

None
from_id str | None

Trade id to fetch from.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
list[HistoricalTradesItem]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/historical_trades.py
async def historical_trades(
  self,
  *,
  symbol: str,
  limit: int | None = None,
  from_id: str | None = None,
  validate: bool | None = None
) -> list[HistoricalTradesItem]:
  """Return older public spot trades for a symbol.

  Args:
    symbol: Spot symbol.
    limit: Maximum number of trades to return.
    from_id: Trade id to fetch from.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#old-trade-lookup)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  if limit is not None:
    params['limit'] = limit
  if from_id is not None:
    params['fromId'] = from_id
  r = await self.request('GET', '/api/v3/historicalTrades', params=params)
  return self.output(r.text, adapter, validate)

historical_trades_paged

Yield historical trade pages by advancing the fromId cursor.

Source code in pkg/src/mexc/spot/market/historical_trades.py
async def historical_trades_paged(
  self, *,
  symbol: str,
  limit: int | None = None,
  from_id: str | None = None,
  max_pages: int | None = None,
  validate: bool | None = None,
) -> AsyncIterator[list[HistoricalTradesItem]]:
  """Yield historical trade pages by advancing the `fromId` cursor."""
  page = 0
  cursor = from_id
  while True:
    response = await self.historical_trades(symbol=symbol, limit=limit, from_id=cursor, validate=validate)
    yield response
    page += 1
    if max_pages is not None and page >= max_pages:
      break
    if not response or (limit is not None and len(response) < limit):
      break
    ids = [trade.get('id') for trade in response if trade.get('id') is not None]
    if not ids:
      break
    next_cursor = str(ids[-1])
    if next_cursor == cursor:
      break
    cursor = next_cursor

ping

Test connectivity to the MEXC spot REST API.

Parameters:

Name Type Description Default
validate bool | None

Validation override for this request.

None

Returns:

Type Description
PingResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/ping.py
async def ping(self, *, validate: bool | None = None) -> PingResponse:
  """Test connectivity to the MEXC spot REST API.

  Args:
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#test-connectivity)
  """
  params = {}
  r = await self.request('GET', '/api/v3/ping')
  return self.output(r.text, adapter, validate)

ticker_24hr

Return 24-hour ticker statistics for one spot symbol or all symbols.

Parameters:

Name Type Description Default
symbol str | None

Spot symbol. If omitted, returns all symbols.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
Ticker24hrStats | list[Ticker24hrStatsListItem]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/ticker_24hr.py
async def ticker_24hr(
  self,
  *,
  symbol: str | None = None,
  validate: bool | None = None
) -> Ticker24hrStats | list[Ticker24hrStatsListItem]:
  """Return 24-hour ticker statistics for one spot symbol or all symbols.

  Args:
    symbol: Spot symbol. If omitted, returns all symbols.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#24hr-ticker-price-change-statistics)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  r = await self.request('GET', '/api/v3/ticker/24hr', params=params)
  return self.output(r.text, adapter, validate)

ticker_price

Return latest price for one spot symbol or all symbols.

Parameters:

Name Type Description Default
symbol str | None

Spot symbol. If omitted, returns all symbols.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
TickerPriceResponse | list[TickerPriceListItem]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/ticker_price.py
async def ticker_price(
  self,
  *,
  symbol: str | None = None,
  validate: bool | None = None
) -> TickerPriceResponse | list[TickerPriceListItem]:
  """Return latest price for one spot symbol or all symbols.

  Args:
    symbol: Spot symbol. If omitted, returns all symbols.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#symbol-price-ticker)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  r = await self.request('GET', '/api/v3/ticker/price', params=params)
  return self.output(r.text, adapter, validate)

time

Return the current MEXC spot server time.

Parameters:

Name Type Description Default
validate bool | None

Validation override for this request.

None

Returns:

Type Description
TimeResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/time.py
async def time(self, *, validate: bool | None = None) -> TimeResponse:
  """Return the current MEXC spot server time.

  Args:
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#check-server-time)
  """
  params = {}
  r = await self.request('GET', '/api/v3/time')
  return self.output(r.text, adapter, validate)

trades

Return recent public trades for a spot symbol.

Parameters:

Name Type Description Default
symbol str

Spot symbol.

required
limit int | None

Maximum number of trades to return.

None
validate bool | None

Validation override for this request.

None

Returns:

Type Description
list[TradesItem]

The validated endpoint response.

References
Source code in pkg/src/mexc/spot/market/trades.py
async def trades(
  self,
  *,
  symbol: str,
  limit: int | None = None,
  validate: bool | None = None
) -> list[TradesItem]:
  """Return recent public trades for a spot symbol.

  Args:
    symbol: Spot symbol.
    limit: Maximum number of trades to return.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/spot_v3_en/#recent-trades-list)
  """
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  if limit is not None:
    params['limit'] = limit
  r = await self.request('GET', '/api/v3/trades', params=params)
  return self.output(r.text, adapter, validate)