Documentation Index
Fetch the complete documentation index at: https://docs.binibit.com/llms.txt
Use this file to discover all available pages before exploring further.
Do I need an API key?
Do I need an API key?
Not for market data. All endpoints under
public-api.binibit.com/api/* (tickers, orderbook, deals, ohlc, currencies, healthcheck) and the aggregator-spec namespace are public.The trading API on public-api.binibit.com (create/cancel orders, withdrawals) does require HMAC-SHA256 request signing with an API key + secret — see the v2 roadmap.Why two hostnames?
Why two hostnames?
public-api.binibit.com is the primary REST API. internal-api.binibit.com/.../getcoingecko/* is a small subset of market data reshaped to match the CoinGecko Integration API Standards v8 — kept around so data aggregators can ingest without translation. See Base URL.How often is data refreshed?
How often is data refreshed?
Tickers and order books refresh every few seconds. Cache for at least 5 seconds on your side; polling more frequently will not return fresher data and will count against your rate limit.
Why does the aggregator /tickers omit some pairs visible on binibit.com?
Why does the aggregator /tickers omit some pairs visible on binibit.com?
Pairs with zero 24-hour volume or empty order books are excluded from the aggregator-spec
/tickers. They still appear in the primary API’s /api/currencies/pairs.Are decimals returned as strings or numbers?
Are decimals returned as strings or numbers?
Numbers. JavaScript’s native
Number type is precise for the prices and volumes seen on this exchange, but for safety use a high-precision decimal library (decimal.js, bignumber.js, Python Decimal, Go big.Float) when doing arithmetic.What does price (or last_price) mean exactly?
What does price (or last_price) mean exactly?
price = X means the most recent trade for the pair was at X units of the target currency per one unit of the base currency. For AAVE_USDT with price = 97.44, one AAVE last traded for 97.44 USDT.Why does one host say 'internal-api'?
Why does one host say 'internal-api'?
Historical naming. The aggregator-spec namespace will get a cleaner alias (
/v1/spot/market/*) in a future release; the legacy host will continue to work as a redirect for at least 90 days after migration.Is there a WebSocket API?
Is there a WebSocket API?
Not yet. WebSocket streams for tickers, order book, and trades are on the v2 roadmap. Watch the GitHub repo for release notifications.
Can I use this API commercially?
Can I use this API commercially?
Yes. Attribution is appreciated but not required for non-commercial use. For high-volume commercial use, contact api@binibit.com for elevated rate limits.
Do you have an OpenAPI specification?
Do you have an OpenAPI specification?
Yes. The primary API publishes an OpenAPI 3.0 spec at
https://public-api.binibit.com/swagger/v1/swagger.json, with an interactive playground at /swagger/.What's the buy/sell convention in /historical_trades?
What's the buy/sell convention in /historical_trades?
The
type field reflects the taker side:buy— taker bought (an ask was removed from the order book)sell— taker sold (a bid was removed from the order book)
Why do timestamps look like very large integers?
Why do timestamps look like very large integers?
On the aggregator-spec namespace they are milliseconds since the Unix epoch, e.g.
1777397315466 ≈ 2026-04-28T22:37:55.466Z. The primary API uses ISO 8601 strings instead. See Timestamps.I'm an aggregator (CoinGecko, CMC, DefiLlama). Who do I contact?
I'm an aggregator (CoinGecko, CMC, DefiLlama). Who do I contact?
Email api@binibit.com. We can:
- Whitelist your IP for unlimited rate limit
- Provide direct contact for the data engineering team
- Coordinate on listing review and verification
Didn’t find your answer?
Contact support
Reach out to the Binibit API team.
