Get coin RSI
Get the Relative Strength Index (RSI) for a coin throughout time, together with a 14-candle simple average of it. The RSI compares the size of recent gains against recent losses on a 0-100 scale: readings above 70 are often called overbought and below 30 oversold, though in a strong trend a coin can sit there for a long time.
The period is 14 candles, and a candle is one bucket of the interval you request — so interval=day gives the familiar 14-day RSI, while interval=hour gives a 14-hour one.
This uses Wilder's smoothing, the original definition, rather than a plain mean of the last 14 changes. Every value therefore depends on the one before it, and we read a long run of earlier candles before the first one we return so that the series has converged by the time you see it. That is also why the first returned candle already carries both values rather than starting blank.
https://api.coinranking.com/v2/indicators/:uuid/rsi
Preview access
Free, Basic and Startup plans can test this endpoint with five successful requests per account per UTC day. Use the documented endpoint URL with your existing API key. Preview access is applied automatically. The allowance resets at 00:00 UTC.
All API keys, resource IDs, query parameters and pagination requests share this endpoint's allowance for your account. Failed requests do not consume the preview allowance. Successful previews also count toward your normal API usage, and your plan's result, historical-window and rate limits still apply. See endpoint previews for limits, response headers and quota errors.
Path parameters
| Parameter | Description |
|---|---|
uuid String | UUID of the coin you want to request the RSI for. |
Query parameters
| Parameter | Description | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
timePeriod (optional) String | The time period for which the RSI data is returned. The number of data points and the default interval are determined by the time period. Default value: 24hAllowed values: 1h 3h 12h 24h 7d 30d 3m 1y 3y 5y 10y all Example:
https://api.coinranking.com/v2/indicators/Qwsogvtv82FCd/rsi?timePeriod=7d
| ||||||||||||||||||||||||||
interval (optional) String | The interval determines the granularity of each data point, and therefore what one RSI period means. If not provided, a default interval is used based on the selected timePeriod. Only certain intervals are available per timePeriod — see the table below.
Example:
https://api.coinranking.com/v2/indicators/Qwsogvtv82FCd/rsi?timePeriod=7d&interval=day
| ||||||||||||||||||||||||||
referenceCurrencyUuid (optional) String | UUID of coin (either fiat or crypto), in whose terms the price is measured before the RSI is calculated. Defaults to US Dollar, but you can use any coin. You can find UUIDs for reference currencies in any coin endpoint, including a convenient dedicated reference currency endpoint The RSI itself is a dimensionless 0-100 reading, but it is not independent of this choice: the conversion happens before the calculation, so the RSI of a coin priced in Bitcoin is a genuinely different series from its RSI priced in US Dollars. Default value: yhjMzLPhuIDlExample:
https://api.coinranking.com/v2/indicators/Qwsogvtv82FCd/rsi?referenceCurrencyUuid=5k-_VTxqtCEI
|
Code examples
curl 'https://api.coinranking.com/v2/indicators/Qwsogvtv82FCd/rsi?timePeriod=7d&interval=hour&referenceCurrencyUuid=5k-_VTxqtCEI' \
-H 'x-access-token: your-api-key' \
-G const options = {
headers: {
'x-access-token': 'your-api-key',
},
};
fetch('https://api.coinranking.com/v2/indicators/Qwsogvtv82FCd/rsi?timePeriod=7d&interval=hour&referenceCurrencyUuid=5k-_VTxqtCEI', options)
.then((response) => response.json())
.then((result) => console.log(result)); <?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.coinranking.com/v2/indicators/Qwsogvtv82FCd/rsi?timePeriod=7d&interval=hour&referenceCurrencyUuid=5k-_VTxqtCEI",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"x-access-token: your-api-key"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response; import requests
headers = {
'x-access-token': 'your-api-key'
}
response = requests.request("GET", "https://api.coinranking.com/v2/indicators/Qwsogvtv82FCd/rsi?timePeriod=7d&interval=hour&referenceCurrencyUuid=5k-_VTxqtCEI", headers=headers)
print(response.text) Response
HTTP/1.1 200 OK
{
"status": "success",
"data": [
{
"startingAt": 1774936800,
"rsi": "63.2148930274",
"rsiMa": "61.8402117395"
},
{
"startingAt": 1774933200,
"rsi": "61.9930418822",
"rsiMa": "61.5518830471"
}
]
} Response fields
| Property | Description |
|---|---|
status String | Status of the request Allowed values:success |
data Object[] | List of RSI data points, newest first |
data.startingAt Number | An Epoch startingAt in seconds marking the start of the time period. |
data.rsi String | The 14-period Relative Strength Index, on a 0-100 scale, over the last 14 candles of the requested |
data.rsiMa String/null | A 14-candle simple average of |
Error response
HTTP/1.1 404 Not Found
{
"status": "fail",
"type": "COIN_NOT_FOUND",
"message": "Coin not found"
} Error responses
| Error | Description |
|---|---|
FORBIDDEN Object | This endpoint requires the growth plan or higher. |
| Error | Description |
|---|---|
COIN_NOT_FOUND Object | The coin could not be found. Try another UUID |
| Error | Description |
|---|---|
VALIDATION_ERROR Object | The request could not be validated. The response should provide more details. |
REFERENCE_UNAVAILABLE Object | The reference currency used in the request is not available. Choose another UUID. |