Fetch Market Data
Advanced Trade's public product catalog, under advanced_trade.products.public, needs no credentials — safe to call from a public=True client.
import time
from typed_coinbase import Coinbase
async with Coinbase.new(public=True) as client:
products = await client.advanced_trade.products.public.list(limit=50) # tradable products
product = await client.advanced_trade.products.public.get('BTC-USD') # one product
book = await client.advanced_trade.products.public.book(product_id='BTC-USD', limit=50) # order book snapshot
trades = await client.advanced_trade.products.public.market_trades('BTC-USD', limit=50) # recent trades
now = int(time.time())
candles = await client.advanced_trade.products.public.candles(
'BTC-USD', start=now - 3600, end=now, granularity='ONE_MINUTE',
)start/end on candles are UNIX timestamps; granularity accepts ONE_MINUTE through ONE_DAY.
Authenticated Market Data
advanced_trade.products (without .public) mirrors the same catalog but requires a CDP API Key. It includes futures and equities the public catalog omits, and adds best_bid_ask:
from typed_coinbase import Coinbase
async with Coinbase.new() as client:
products = await client.advanced_trade.products.list(limit=50)
quote = await client.advanced_trade.products.best_bid_ask(product_ids=['BTC-USD'])