Binance Market Data Scraper — Ticker & Klines
Pricing
from $4.00 / 1,000 ticker row emitteds
Binance Market Data Scraper — Ticker & Klines
Pull public Binance spot-market data — 24hr ticker stats and OHLCV candlesticks (klines) — for a list of trading-pair symbols in one run. We handle the retries, rate-limit backoff, and proxy routing so the data lands. Keyless, no API key or account needed. Built on the public Binance REST API.
Pricing
from $4.00 / 1,000 ticker row emitteds
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🎯 What this scrapes
Binance publishes spot-market data on a documented, keyless REST API — no account, no signature, no API key. This Actor takes a list of trading pairs (e.g. BTCUSDT, ETHUSDT), pulls 24hr ticker stats and/or OHLCV candlesticks for each, and writes one typed row per ticker snapshot and one per candle. Leave the symbol list empty and it falls back to a bounded top-movers mode — the most active pairs by 24h quote volume, up to your cap. We absorb rate limits and transient errors with backoff so the run finishes clean.
🔥 Features
- 🔁 Retries with exponential backoff on
408 / 429 / 503and network errors — up to 5 attempts,Retry-Afterhonoured. - 🚫 Fail-loud on a rate-limit ban — a
418/451response stops the run immediately instead of digging the hole deeper. - 🌐 Apify Proxy routing on every request — a fresh exit IP if Binance ever throttles a shared range.
- 🧩 Fault isolation per symbol — one bad or delisted pair is skipped and logged, the rest of your run still lands.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps,
rowType-discriminated ticker/kline shapes. - 💰 Two-tier Pay-Per-Event pricing — richer ticker rows and bulk kline rows are priced separately, never blended.
💡 Use cases
- Quant/algo research — pull OHLCV klines for a symbol universe, feed straight into a backtest pipeline.
- Crypto dashboards — schedule a run for your watchlist, pipe ticker snapshots to a spreadsheet or BI tool.
- Portfolio pipelines — one typed row per coin, no hand-rolled Binance client to maintain.
- Top-movers monitoring — leave
symbolsempty to snapshot the most active pairs by 24h quote volume.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the Apify API.
For no-code workflows: install the Apify node for n8n or the Apify module for Make, connect your Apify token, and point it at DevilScrapes/binance-market-data-scraper.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
symbols | array | no | ["BTCUSDT", "ETHUSDT", "SOLUSDT"] | Binance spot symbols, max 50. Empty triggers bounded top-movers mode. |
maxSymbols | integer | no | 20 | Row cap when symbols is empty — top N pairs by 24h quote volume. |
dataTypes | array | no | ["ticker", "klines"] | Which data to pull per symbol: ticker, klines, or both. |
interval | string | no | "1h" | Candlestick interval (klines only): 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w. |
klinesLimit | integer | no | 100 | Candles per symbol (Binance's own max is 1000). |
startTime | integer | no | — | Optional ms-epoch kline window start. |
endTime | integer | no | — | Optional ms-epoch kline window end. |
proxyConfiguration | object | no | {"useApifyProxy": true} | We route every request through Apify Proxy and rotate exit IPs on any block. |
Example input
{"symbols": ["BTCUSDT", "ETHUSDT", "BNBUSDT", "SOLUSDT", "XRPUSDT"],"dataTypes": ["ticker", "klines"],"interval": "1h","klinesLimit": 100,"proxyConfiguration": {"useApifyProxy": true}}
📤 Output
Two flat row shapes in one dataset, told apart by rowType — never one row with a nested klines list, so PPE bills each candle as its own result.
| Field | Type | Notes |
|---|---|---|
rowType | string | Discriminator: ticker or kline. |
symbol | string | Binance trading-pair symbol, e.g. BTCUSDT. |
priceChange | number | null | Ticker only — 24h absolute price change. |
priceChangePercent | number | null | Ticker only — 24h percent price change. |
lastPrice | number | null | Ticker only — last traded price. |
openPrice / highPrice / lowPrice | number | null | Ticker only — 24h open/high/low. |
volume | number | null | Ticker/kline — base-asset volume. |
quoteVolume | number | null | Ticker only — quote-asset volume. |
tradeCount | integer | null | Ticker only — number of trades in the 24h window. |
interval | string | null | Kline only — candlestick interval, e.g. 1h. |
open / high / low / close | number | null | Kline only — candle OHLC. |
numberOfTrades | integer | null | Kline only — number of trades in the candle. |
openTime / closeTime | string | null | ISO-8601 UTC — period/candle open/close time. |
scrapedAt | string | ISO-8601 UTC timestamp when this row was recorded. |
Example output
{"rowType": "ticker","symbol": "BTCUSDT","priceChange": 1234.50,"priceChangePercent": 2.15,"lastPrice": 58900.10,"openPrice": 57665.60,"highPrice": 59100.00,"lowPrice": 57200.00,"volume": 18234.55,"quoteVolume": 1062345678.90,"openTime": "2026-09-09T00:00:00Z","closeTime": "2026-09-10T00:00:00Z","tradeCount": 1284933,"scrapedAt": "2026-09-10T12:00:00Z"}
{"rowType": "kline","symbol": "BTCUSDT","interval": "1h","openTime": "2026-09-10T11:00:00Z","open": 58700.00,"high": 58950.00,"low": 58650.00,"close": 58900.10,"volume": 312.45,"closeTime": "2026-09-10T11:59:59Z","numberOfTrades": 5421,"scrapedAt": "2026-09-10T12:00:00Z"}
💰 Pricing
Pay-Per-Event — two result rates, because one /klines call can return up to 1000 candles and pricing them at the ticker rate would make a single call cost roughly $4:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.20 | One-off warm-up charge per run |
ticker-result | $0.004 | Per ticker row written (≈ $4.00 / 1 000) |
kline-result | $0.0015 | Per kline (candle) row written (≈ $1.50 / 1 000) |
No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
- Spot market only — no futures, margin, or options data.
- No authenticated endpoints — balances, orders, and account data are out of scope by design.
/ticker/priceand/exchangeInfoare not implemented in this version.- No technical indicators (RSI, MACD, etc.) — raw OHLCV only; compute indicators downstream.
❓ FAQ
Do I need a Binance account or API key?
No. Every endpoint this Actor calls is public, keyless spot-market data — no account, no signature, no rate-limit tier to buy into.
Does this support futures, margin, or options?
No — spot market only in this version. Futures/margin/options are a separate product surface on Binance's side.
Can I get historical data further back than the klines limit?
Set startTime/endTime to page through history — klinesLimit caps each call at up to 1000 candles per request.
What happens if I request klines with no symbols?
Klines requires at least one symbol — the Actor validates this before charging you anything. Ticker alone can run with an empty symbol list (top-movers mode).
Why are ticker and kline rows priced differently?
A single klines request can return up to 1000 candles. Pricing them at the ticker rate would make one call cost roughly $4 — the lower kline rate keeps bulk OHLCV affordable.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab in Apify Console — we ship fixes weekly and we read every report.