Crypto Token Kline data from Binance, all price quote is in USDT
Feature Overview
OpenAPI JSON Spec Retrieve K-line (candlestick) chart data for a specified trading pair
Performance Optimization Features
This API uses a multi-layer optimization architecture to ensure high performance:
1. TimescaleDB Materialized Views
- Continuous Aggregation: Automatically pre-compute aggregated data, improving query speed by 10-100x
- Auto Refresh: Materialized views are automatically updated to ensure data timeliness
2. Intelligent Data Source Selection
- The system automatically selects the optimal data source based on the query time range
- Short-term queries use the raw table, long-term queries use materialized views
- Balances data accuracy and query performance
Supported Time Intervals
| Interval | Description | Use Case | Data Source |
|---|---|---|---|
1min | 1-minute K-line | Short-term trading, real-time monitoring | Raw table + real-time calculation |
5min | 5-minute K-line | Short-term analysis, intraday trading | Materialized view |
15min | 15-minute K-line | Medium-short-term analysis | Materialized view |
1h | 1-hour K-line | Intraday swing analysis | Materialized view |
1d | Daily K-line | Long-term trend, fundamental analysis | Materialized view |
Parameter Configuration Details
Required Parameters:
symbol: binance supported token symbol, ex: BTC, ETH, SOL.start_time: Start timestamp (seconds), must be > 0end_time: End timestamp (seconds), must be > start_timeinterval: Time interval, must be one of the supported values
Time Range Calculation
# Get last 24 hours of 1-hour K-line
end_time=$(date +%s)
start_time=$((end_time - 24*3600))
# Get last 7 days of daily K-line
end_time=$(date +%s)
start_time=$((end_time - 7*24*3600))
Response Data Structure
| Field | Type | Description | Example |
|---|---|---|---|
| count | integer | Number of K-lines returned | 24 |
| symbol | string | token symbol | ”BTC” |
| interval | string | Time interval | ”1h” |
| start_time | integer | Actual start timestamp | 1752112043 |
| end_time | integer | Actual end timestamp | 1752742043 |
| data | array | Array of K-line data | [KlineData, …] |
Each K-line data item includes:
time: K-line timestampopen_price: Opening pricehigh_price: Highest pricelow_price: Lowest priceclose_price: Closing pricevolume: Trading volumequote_volume: Quote currency trading volumetrades: Number of tradesbuy_base_volume: Active buy trading volumebuy_quote_volume: Active buy quote currency volume
Common Query Examples
-
Real-time 1-hour chart (last 24 hours):
?symbol=BTC&start_time=1752112043&end_time=1752742043&interval=1h&limit=24 -
Daily K-line chart (last 30 days):
?symbol=BTC&start_time=1752112043&end_time=1643587200&interval=1d&limit=30 -
Short-term 5-minute chart (last 4 hours):
?symbol=BTC&start_time=1641067200&end_time=1752742043&interval=5min&limit=48 -
High-frequency 1-minute data (last 1 hour):
?symbol=BTC&start_time=1641078000&end_time=1752742043&interval=1min&limit=60
Mobile Optimization Suggestions
- Use a smaller limit value (100-300) to reduce data transfer
- Prefer intervals of 5min or above to reduce data volume
- Implement paginated loading to fetch historical data as needed
- Use WebSocket for real-time updates instead of frequent polling
Important Notes
- Timestamp Format: Use Unix timestamp (seconds), not milliseconds
- Price Precision: Price data is returned as string for precision, convert to numeric type when using
- Rate Limiting: Please control request frequency to avoid excessive queries
Authorizations
API Key authentication. Example: "your-api-key-here"
Query Parameters
Crypto token symbol, ex: BTC, ETH, SOL
Start time (Unix timestamp in seconds, must be > 0)
End time (Unix timestamp in seconds, must be > start_time)
Time interval for K-line data
1min, 2min, 3min, 5min, 10min, 15min, 30min, 45min, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1m, 3m, 6m Cursor for pagination
Maximum number of data points to return (default 500, max 10000)

