# Crypto RSI & Oscillator Screener API
> Which coins are overbought or oversold right now, computed live from Binance candles — no key, nothing stored. Momentum oscillators are the classic mean-reversion signals: a Relative Strength Index (RSI) above 70 says a coin is overbought and stretched, below 30 oversold and washed out, while the Stochastic oscillator times the turn within the recent range. The oscillators endpoint fetches a pair's candles and returns its Wilder RSI(14), the Stochastic %K and %D, and a plain signal (overbought, oversold or neutral) on a chosen timeframe. The screener endpoint scans a basket of coins and surfaces the ones that are currently overbought (possible pullback) and oversold (possible bounce), ranked by how stretched they are. The symbols endpoint lists tradable pairs. This is the coin-native oscillator / mean-reversion screener cut for crypto — it fetches the live data itself, distinct from the generic oscillator calculators (which you feed your own OHLC), the momentum trend-alignment, the Donchian breakout and the candlestick-pattern APIs in the catalogue. Pairs are Binance symbols (BTCUSDT) or a coin=BTC&quote=USDT form; interval is 1h/4h/1d/1w.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/cryptorsi-api/..."
```

## Pricing
- **Free** (Free) — 450 calls/Mo, 2 req/s
- **Starter** ($11/Mo) — 12,400 calls/Mo, 6 req/s
- **Pro** ($34/Mo) — 74,000 calls/Mo, 16 req/s
- **Business** ($77/Mo) — 380,000 calls/Mo, 40 req/s

## Endpoints

### Oscillators

#### `GET /v1/oscillators` — A pair's RSI, Stochastic & signal

**Parameters:**
- `symbol` (query, required, string) — Binance pair Example: `BTCUSDT`
- `interval` (query, optional, string) — 1h, 4h, 1d or 1w (default 1d) Example: `1d`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptorsi-api/v1/oscillators?symbol=BTCUSDT&interval=1d"
```

**Response:**
```json
{
    "data": {
        "coin": "BTC",
        "note": "RSI14 is Wilder's Relative Strength Index over 14 periods (>70 overbought, <30 oversold). stoch_k/%d is the 14,3 Stochastic. Signals are mean-reversion cues, most useful in ranges; descriptive, not a forecast.",
        "price": 63717.89,
        "rsi14": 33.4,
        "signal": "weak",
        "source": "Binance",
        "symbol": "BTCUSDT",
        "stoch_d": 25,
        "stoch_k": 30.3,
        "interval": "1d"
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:39.805Z",
        "request_id": "528e3eeb-b5ab-485f-8fcb-9ed558894d69"
    },
    "status": "ok",
    "message": "Oscillators retrieved successfully",
    "success": true
}
```

#### `GET /v1/screener` — Scan a basket for overbought & oversold coins

**Parameters:**
- `coins` (query, optional, string) — Comma list of coins (default liquid majors) Example: `BTC,ETH,SOL,DOGE,XRP`
- `interval` (query, optional, string) — 1h, 4h, 1d or 1w (default 1d) Example: `1d`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptorsi-api/v1/screener?coins=BTC%2CETH%2CSOL%2CDOGE%2CXRP&interval=1d"
```

**Response:**
```json
{
    "data": {
        "note": "overbought coins (RSI>=70) are stretched and may pull back; oversold (RSI<=30) are washed out and may bounce. Ranked by how extreme. Default basket is the liquid majors; pass coins=BTC,ETH,... to customise.",
        "source": "Binance",
        "scanned": 5,
        "interval": "1d",
        "oversold": [],
        "overbought": [],
        "oversold_count": 0,
        "overbought_count": 0
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:40.203Z",
        "request_id": "7a1d8f38-6421-4eab-8536-6e526f0582a7"
    },
    "status": "ok",
    "message": "Screener retrieved successfully",
    "success": true
}
```

#### `GET /v1/symbols` — Tradable Binance pairs

**Parameters:**
- `quote` (query, optional, string) — Filter by quote asset Example: `USDT`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptorsi-api/v1/symbols?quote=USDT"
```

**Response:**
```json
{
    "data": {
        "count": 435,
        "quote": "USDT",
        "source": "Binance",
        "symbols": [
            "0GUSDT",
            "1000CATUSDT",
            "1000CHEEMSUSDT",
            "1000SATSUSDT",
            "1INCHUSDT",
            "1MBABYDOGEUSDT",
            "2ZUSDT",
            "AAVEUSDT",
            "ACEUSDT",
            "ACHUSDT",
            "ACMUSDT",
            "ACTUSDT",
            "ACXUSDT",
            "ADAUSDT",
            "ADXUSDT",
            "AEURUSDT",
            "AEVOUSDT",
            "AGLDUSDT",
            "AIGENSYNUSDT",
            "AIUSDT",
            "AIXBTUSDT",
            "ALCXUSDT",
            "ALGOUSDT",
            "ALICEUSDT",
            "ALLOUSDT",
            "ALPINEUSDT",
            "ALTUSDT",
            "AMPUSDT",
            "ANIMEUSDT",
            "ANKRUSDT",
            "APEUSDT",
            "API3USDT",
            "APTUSDT",
            "ARBUSDT",
            "ARDRUSDT",
            "ARKMUSDT",
            "ARKUSDT",
            "ARPAUSDT",
            "ARUSDT",
            "ASRUSDT",
            "ASTERUSDT",
            "ASTRUSDT",
            "ATMUSDT",
            "ATOMUSDT",
            "ATUSDT",
            "AUCTIONUSDT",
            "AUDIOUSDT",
            "AUSDT",
            "AVAUSDT",
            "AVAXUSDT",
            "AVNTUSDT",
            "AWEUSDT",
            "AXLUSDT",
            "AXSUSDT",
            "BABYUSDT",
            "BANANAS31USDT",
            "BANANAUSDT",
          
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptorsi-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "symbol is a Binance pair (BTCUSDT) or coin=BTC&quote=USDT. interval is 1h/4h/1d/1w (default 1d). RSI is Wilder's 14-period; Stochastic is 14,3. screener takes coins=BTC,ETH,... (default majors, max 25). Read fresh per call; only the tradable-symbol list is cached hourly.",
        "source": "Binance public REST (api.binance.com/api/v3/klines, live)",
        "service": "cryptorsi-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/symbols": "Tradable Binance pairs, optionally filtered by quote (quote=USDT).",
            "GET /v1/screener": "Scan a basket for overbought and oversold coins (coins=BTC,ETH,SOL, interval=1d).",
            "GET /v1/oscillators": "A pair's RSI(14), Stochastic and overbought/oversold signal (symbol=BTCUSDT, interval=1d)."
        },
        "description": "Crypto RSI & oscillator screener — which coins are overbought or oversold now, computed live from Binance candles (no key, nothing stored). oscillators returns a pair's Wilder RSI(14), the Stochastic %K/%D and an overbought/oversold/neutral signal on a chosen timeframe. screener scans a basket and surfaces the overbought (pullback candidates) and oversold (bounce candidates) coins, ranked by how stretched. symbols lists tradable pairs. The coin-native oscillator / mean-reversion screener cut — it fetches the live data itself, distinct from the generic oscillator calculators, the momentum trend-alignment, the Donchian
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/cryptorsi-api
OpenAPI spec: https://www.oanor.com/api/cryptorsi-api/openapi.json
