PredictorSDK

Get Binance crypto prices

Returns per-second price data for a Binance trading pair in the paginated envelope every list route uses: data holds the prices and pagination the page.

GET
/v1/crypto-prices/binance

Returns per-second price data for a Binance trading pair in the paginated envelope every list route uses: data holds the prices and pagination the page. When called without a time range, returns the latest price (one item, has_more: false). With start_time and/or end_time, returns historical per-second prices newest first: each page is the limit newest seconds at or before end_time (or the current second), never older than start_time. A range longer than limit continues through pagination.next_cursor, which you send back as cursor, and walking every page returns every second of the range exactly once. pagination.total is always null: Binance does not count a range and this route does not walk one to find out. Unknown or invalid symbols return 200 with an empty data array and has_more: false. The envelope replaced {prices, pagination_key, total} on 2026-10-09; the old request parameter pagination_key now answers 400 naming cursor.

Authorization

BearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

currency*string

Binance trading pair (e.g. btcusdt, ethusdt, solusdt). Must contain only alphanumeric characters (no hyphens, underscores, or other separators). Uppercase is accepted and automatically lowercased (e.g. BTCUSDT → btcusdt). Must be a valid Binance symbol; unknown symbols return 200 with an empty data array.

start_time?integer

Start of the time range as a Unix timestamp in milliseconds (inclusive). Negative values are clamped to 0.

Formatint64
end_time?integer

End of the time range as a Unix timestamp in milliseconds (inclusive). Negative values are clamped to 0.

Formatint64
limit?integer

Maximum number of prices per page, 1 to 100; a larger value is a 400 (it was silently clamped to 100 until 2026-10-09). Defaults to 100 when a time range is present. Without a time range, this parameter is still validated but otherwise ignored: the endpoint always returns the single latest price, and pagination.limit reports 1.

Range1 <= value <= 100
cursor?string

The pagination.next_cursor of a previous response, sent unchanged, to fetch the next (older) page of results. It carries the start_time of the request that issued it, so the next page stays inside the range whether or not you send start_time again; sending a different start_time with it is a 400. end_time is ignored when a cursor is sent. It was named pagination_key until 2026-10-09; that name now answers 400 naming this one.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/crypto-prices/binance?currency=btcusdt"

{  "data": [    {      "symbol": "btcusdt",      "value": 71392.81,      "timestamp": 1775680556000    },    {      "symbol": "btcusdt",      "value": 71392.82,      "timestamp": 1775680555000    },    {      "symbol": "btcusdt",      "value": 71388.51,      "timestamp": 1775680554000    }  ],  "pagination": {    "limit": 3,    "total": null,    "has_more": true,    "next_cursor": "eyJpZCI6IlBSSUNFI2J0Y3VzZHQiLCJ0aW1lc3RhbXAiOjE3NzU2ODA1NTQwMDB9"  }}