Fetch Market Data

Market data is public — no credentials needed.

from typed_binance import Binance

async with Binance.new(public=True) as client:
  price = await client.spot.http.market.ticker_price(symbol='BTCUSDT')
  print(price)

Candles

from datetime import datetime, timezone
from typed_binance import Binance

async with Binance.new(public=True) as client:
  candles = await client.spot.http.market.klines(
    symbol='BTCUSDT',
    interval='1h',
    start_time=datetime(2026, 1, 1, tzinfo=timezone.utc),
    end_time=datetime(2026, 1, 2, tzinfo=timezone.utc),
  )
  for candle in candles:
    print(candle)

Order Book & Recent Trades

from typed_binance import Binance

async with Binance.new(public=True) as client:
  book = await client.spot.http.market.order_book(symbol='BTCUSDT', limit=20)
  trades = await client.spot.http.market.recent_trades(symbol='BTCUSDT', limit=20)

Tradeable Symbols

from typed_binance import Binance

async with Binance.new(public=True) as client:
  info = await client.spot.http.market.exchange_info(symbol='BTCUSDT')
  for symbol in info['symbols']:
    print(symbol['symbol'], symbol['status'])

client.spot.http.market also exposes agg_trades, ticker_24hr, avg_price, and the rest of Binance's public spot market data. USD-M futures, COIN-M futures, and options each expose the equivalent surface under client.usdm_futures.http.market, client.coinm_futures.http.market, and client.options.http.market.