JSON API · API key auth · 24 markets · 15-min cadence

Trading signals for your bot.

REST API returning 18 signal types — RSI, MACD, EMA crossovers, Bollinger Bands, volume spikes, candlestick patterns, and RSI divergence. Filter by ticker, direction, type, or confidence score. Works from any language that can make HTTP requests.

Free: 30 req/hour, last 3 signals. Pro: 300 req/hour, up to 100 signals, 7-day window, raw indicator data.

Two lines to get your first signal

Python

import requests

API_KEY = "trady_live_your_key_here"
BASE = "https://trady.app"

def get_buy_signals(ticker="BTC-USD", min_conf=75):
    r = requests.get(
        f"{BASE}/api/signals",
        params={"action": "BUY", "ticker": ticker, "minConfidence": min_conf},
        headers={"Authorization": f"Bearer {API_KEY}"},
    )
    return r.json()["signals"]

signals = get_buy_signals()
for s in signals:
    print(f"{s['ticker']} {s['type']} @ {s['price']} — {s['confidence']}% conf")

JavaScript / Node.js

const API_KEY = "trady_live_your_key_here";

async function getSignals({ ticker, action, minConfidence } = {}) {
  const params = new URLSearchParams();
  if (ticker) params.set("ticker", ticker);
  if (action) params.set("action", action);
  if (minConfidence) params.set("minConfidence", String(minConfidence));

  const res = await fetch(
    `https://trady.app/api/signals?${params}`,
    { headers: { Authorization: `Bearer ${API_KEY}` } }
  );
  const { signals } = await res.json();
  return signals;
}

// Get high-confidence BUY signals for NVDA
const signals = await getSignals({ ticker: "NVDA", action: "BUY", minConfidence: 80 });

Signal schema

Every response includes the raw indicator values your bot needs to make its own decisions — not just the summary.

GET /api/signals?action=BUY&minConfidence=80
{
  "signals": [
    {
      "id": 142,
      "ticker": "BTC-USD",
      "type": "RSI_OVERSOLD",
      "action": "BUY",
      "confidence": 88,
      "price": 67420.50,
      "summary": "BTC-USD RSI hit 26 — that's the lowest in months. Worth watching for a bounce.",
      "data": {
        "rsi": 26.3,
        "threshold": 30,
        "lookback": 14
      },
      "timeframe": "1d",
      "createdAt": "2025-01-15T14:32:00.000Z"
    }
  ],
  "meta": {
    "count": 1,
    "plan": "pro",
    "limit": 20
  }
}

data field includes raw indicator values. Returned for Pro accounts.

Built for automated use

Structured JSON with confidence scores

Every signal includes ticker, type, direction (BUY/SELL), confidence (0–100), price at trigger, and raw indicator values. Your bot can filter before acting.

24 markets, 15-minute cadence

Crypto runs 24/7. Equities fire during NYSE hours. Forex and commodities continuously. Scanner checks every 15 minutes — tight enough for most strategies.

API key authentication

Pro accounts get a persistent API key (trady_live_...) for stateless bot use — no cookie management, no re-auth flow. Generate and revoke from your dashboard.

Rate limits that scale

Free: 30 req/hour. Pro: 300 req/hour. All responses include X-RateLimit-Remaining and Retry-After headers so your bot can backoff cleanly.

Filter by type and confidence

Query ?type=RSI_OVERSOLD&minConfidence=80 to only receive the signals that match your strategy. Reduces noise without client-side filtering.

OpenAPI 3.1.0 spec

Machine-readable spec at /api/openapi.json. Generate a typed client in Python, Go, TypeScript, or any language that supports OpenAPI codegen.

Signal types

RSI_OVERSOLD / RSI_OVERBOUGHT

14-period RSI crosses below 30 or above 70 on the daily.

STOCH_RSI_OVERSOLD / STOCH_RSI_OVERBOUGHT

Stochastic RSI with %K and %D confirmation to reduce false positives.

MACD_BULLISH_CROSS / MACD_BEARISH_CROSS

MACD line crosses signal line. Catches momentum shifts early.

EMA_GOLDEN_CROSS / EMA_DEATH_CROSS

20-day EMA crosses the 50-day. Sustained trend signals.

BB_LOWER_TOUCH / BB_UPPER_TOUCH

Price reaches a Bollinger Band. Mean-reversion setup.

VOLUME_SPIKE_BULL / VOLUME_SPIKE_BEAR

Volume at 2× 20-day average with a 1%+ directional price move.

Start with the free tier

Free accounts get API access with 30 requests/hour. Upgrade to Pro for 300 req/hour, API key auth, and raw indicator data in every response.

No credit card for free tier · Pro: $19/mo or $149/yr