API Documentation

REST API for real-time technical indicators across Binance, Bybit, and BingX.

Quick Start

Get your first RSI value in under a minute. Create an account, generate an API key from the Dashboard, then make your first request:

bash

Returns the current RSI for BTC/USDT on the 1-hour chart. Binance is the default exchange.

Authentication

Every request must include your API key in the X-API-Key header. Keys are managed from your Dashboard.

http
Never expose your API key in a URL or commit it to version control. Always use environment variables.

Common Parameters

All indicator endpoints share these query parameters:

ParameterTypeDefaultDescription
exchangestringbinancebinance, bybit, or bingx
symbolstringrequiredTrading pair, e.g. BTCUSDT
intervalstringrequired1m 3m 5m 15m 30m 1h 2h 4h 6h 8h 12h 1d 1w
backtrackinteger0Closed candles to look back. 0 = current candle.
resultsinteger1Number of consecutive values to return.

EMA and SMA also accept period (integer, default 20). When results is greater than 1, the response is a data array of objects, each with a timestamp.

Rate Limits

Limits are enforced per API key. Exceeding the per-second limit returns 429.

PlanPer secondPer month
Starter5100,000
Professional50500,000
EnterpriseCustomCustom

RSI

Returns the Relative Strength Index for a given symbol and interval.

GET /api/rsi
bash

Response

json

EMA

Returns the Exponential Moving Average. Use period to set the lookback window (default 20).

GET /api/ema
bash

Response

json

SMA

Returns the Simple Moving Average. Same parameters as EMA, including period.

GET /api/sma
bash

Response

json

MACD

Returns the MACD line, signal line, and histogram value.

GET /api/macd
bash

Response

json

Bollinger Bands

Returns upper, middle (SMA 20), and lower bands.

GET /api/bollinger
bash

Response

json

Errors

Standard HTTP status codes. All errors return a JSON body with an error field.

StatusMeaning
400Bad Request - missing or invalid parameter
401Unauthorized - missing or invalid API key
403Forbidden - key inactive or plan limit reached
429Too Many Requests - rate limit exceeded
500Internal Server Error
json

Examples

Fetch last 5 RSI values

Combine backtrack and results to pull a historical series for backtesting:

bash

EMA cross signal - JavaScript

javascript

RSI oversold scanner - Python

python

Support

Reach out through any of the channels below.

Technical Support

API issues, integration help, and bug reports.

grailbitorg@gmail.com
General Inquiries

Billing, enterprise plans, and partnerships.

grailbitorg@gmail.com