Bybit Public Market Data API
Free Bybit public market API with no key: spot and derivatives tickers, order books, klines, funding rates and open interest. Tested curl example.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the Bybit Public Market Data API?
The Bybit public market data API is free and key-free, providing spot and derivatives market data — ticker prices, order book depth, candlesticks, funding rates and open interest — across the exchange's trading pairs.
Bybit's public market endpoints need no authentication, and its derivatives coverage is the distinguishing feature: funding rates and open interest for perpetual contracts are data points most free crypto APIs do not expose at all.
The `category` parameter is mandatory and selects the market type — `spot`, `linear` for USDT perpetuals, `inverse` for coin-margined contracts. Omitting it or choosing the wrong one is the most common cause of an empty result.
Quick facts
- Base URL
https://api.bybit.com/v5- Authentication
- Public market data needs no key. Trading and account endpoints require an API key with signing.
- Rate limit
- Roughly 120 requests per second per IP for public endpoints.
- Pricing
- Free for public market data.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the Bybit Public Market Data API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Fetch a spot market ticker
GET https://api.bybit.com/v5/market/tickers?category=spot&symbol=BTCUSDT
curl 'https://api.bybit.com/v5/market/tickers?category=spot&symbol=BTCUSDT'const res = await fetch("https://api.bybit.com/v5/market/tickers?category=spot&symbol=BTCUSDT");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.bybit.com/v5/market/tickers?category=spot&symbol=BTCUSDT", timeout=20)
res.raise_for_status()
print(res.json()){
"retCode": 0,
"retMsg": "OK",
"result": {
"category": "spot",
"list": [
{
"symbol": "BTCUSDT",
"bid1Price": "69762.8",
"bid1Size": "0.273172",
"ask1Price": "69762.9",
"ask1Size": "0.584646",
"lastPrice": "69765",
"prevPrice24h": "64587.8",
"price24hPcnt": "0.0802",
"highPrice24h": "70059.3",
"lowPrice24h": "64164",
"turnover24h": "861981016.01553737",
"volume24h": "12885.551545",
"usdIndexPrice": "69742.702231"
}
]
},
"retExtInfo": {},
"time": 1787176678853
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
market/tickers | path | Required | Ticker endpoint. market/tickers |
category | string | Required | spot, linear, inverse or option. Mandatory. spot |
symbol | string | Optional | Trading pair. Omit for all pairs in the category. BTCUSDT |
market/kline | path | Optional | Candlestick data. market/kline |
interval | string | Optional | Kline interval such as 1, 60, D. 60 |
Response fields
retCodeinteger- 0 means success — check this, not just the HTTP status.
retMsgstring- OK, or an error description.
result.categorystring- Which market type the results cover.
result.list[].symbolstring- Trading pair.
result.list[].lastPricestring- Last traded price, as a string.
result.list[].bid1Price / ask1Pricestring- Best bid and ask.
result.list[].volume24h / turnover24hstring- 24-hour volume and turnover.
What you can build with the Bybit Public Market Data API
- Display live crypto prices from a major exchange
- Track funding rates and open interest on perpetual futures
- Build a trading dashboard or price alert service
- Compare spot and derivatives pricing
Common errors and how to fix them
Empty result.list
Wrong or missing category.
Fix: category is mandatory — spot for spot markets, linear for USDT perpetuals.
retCode non-zero with HTTP 200
Errors are signalled in the body.
Fix: Always check retCode === 0 rather than relying on the HTTP status.
Prices as strings
All numeric fields are strings.
Fix: Parse explicitly and use decimal arithmetic for money.
Bybit Public Market Data API — frequently asked questions
Does the Bybit API need a key?
Not for public market data — tickers, order books, klines, funding rates and open interest are all anonymous. Trading and account access require a signed API key.
What does the category parameter do?
It selects the market type: spot, linear for USDT perpetuals, inverse for coin-margined contracts, or option. It is mandatory, and getting it wrong returns an empty list.
Can I get derivatives data?
Yes, and that is its main advantage over most free crypto APIs — funding rates and open interest for perpetual contracts are available without a key.
Why is retCode 0 important?
Bybit signals errors in the response body while still returning HTTP 200. Always check retCode rather than the status code.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Percentage Calculator
Calculate what X% of a number is, what percent one number is of another, and percentage increase or decrease between two values — instantly and free.
Bybit Public Market Data is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.