BYTETOOLS

Binance Public API

Binance public market data API needs no API key: live ticker prices, order books, klines and 24h stats for every trading pair. Tested curl example and response.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-19

What is the Binance Public API?

The Binance public market data API provides live cryptocurrency ticker prices, order book depth, candlestick data and 24-hour statistics for every pair on the exchange, with no API key required for public endpoints.

Binance splits its API cleanly in two: account and trading endpoints require a signed API key, but all market data endpoints are entirely public. That means live exchange prices straight from the largest crypto exchange with no signup at all.

This is real exchange data rather than an aggregated index, which makes it the right source when you need the actual tradeable price on a specific pair. Symbols are concatenated with no separator and uppercase — `BTCUSDT`, not `BTC-USDT` or `btc/usdt`.

Quick facts

Base URL
https://api.binance.com/api/v3
Authentication
Public market data endpoints need no key. Trading and account endpoints require an API key with HMAC signing.
Rate limit
Weight-based: 1,200 request weight per minute per IP. A simple ticker call costs weight 1-2.
Pricing
Free for public market data.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Binance Public API

Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.

1. Live BTC/USDT ticker price

GET https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT

curl
curl 'https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT'
JavaScript (fetch)
const res = await fetch("https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "symbol": "BTCUSDT",
  "price": "64823.16000000"
}

Parameters

ParameterTypeRequiredDescription
symbolstringOptionalTrading pair, uppercase and unseparated. Omit to get every pair. BTCUSDT
symbolsstringOptionalJSON array of symbols to fetch several at once. ["BTCUSDT","ETHUSDT"]

Response fields

symbolstring
The trading pair the price applies to.
pricestring
Last traded price as a string — parse before arithmetic, and prefer decimal types for money.

What you can build with the Binance Public API

  • Display live exchange prices on a trading dashboard
  • Feed a price alert service without managing exchange credentials
  • Pull candlestick (kline) history for backtesting and charting
  • Compare pricing across pairs and exchanges

Common errors and how to fix them

400 code -1121

Invalid symbol.

Fix: Symbols are uppercase with no separator, e.g. `BTCUSDT`. Check /exchangeInfo for valid pairs.

429 / 418

Request weight limit exceeded; 418 means you have been temporarily banned.

Fix: Respect the weight budget, back off on 429, and never retry aggressively after a 418.

451

Endpoint blocked in your jurisdiction.

Fix: Binance geo-restricts some regions; use a different data source or the regional Binance domain.

Binance Public API — frequently asked questions

Does the Binance API need an API key?

Not for public market data such as prices, order books and candlesticks. An API key with request signing is only required for account access and trading.

What symbol format does Binance use?

Uppercase with no separator, so Bitcoin against Tether is `BTCUSDT`. Formats like `BTC-USDT` or `btc/usdt` return an invalid symbol error.

Why is the price returned as a string?

To preserve exact decimal precision. Parsing crypto prices into a binary float can introduce rounding errors, so use a decimal type for any calculation involving money.

What is Binance's rate limit?

A weight-based budget of 1,200 per minute per IP, where each endpoint costs a documented weight. A single ticker lookup costs very little, so normal use rarely hits it.

Tools that pair with this API

Binance Public API is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.