REST API Reference
Pull your TradingWizard data programmatically — account, portfolio, trades, bots, signals, and market state. Every endpoint below is present in app/api/v1/.
Base URL
All paths in this reference are relative to the base URL. HTTPS only.
Authentication
Open Settings → API Access to generate or rotate your API key, then send it as a Bearer token on every request:
- Missing or malformed header →
401 UNAUTHORIZED. - Unknown token →
403 FORBIDDEN. - Plan-gated endpoint without the right tier →
403 PLAN_REQUIRED. - Over daily quota →
429 RATE_LIMIT_EXCEEDEDplusRetry-AfterandX-RateLimit-*headers.
The same token drives TradingView webhooks — keep it secret and rotate from Settings if it leaks.
Rate limits
Quotas are per-token, per-day (UTC). Counters reset at 00:00 UTC.
Response shape
Every endpoint returns the same envelope — ok: true with a data object on success, ok: false with a coded error on failure.
{
"ok": true,
"data": { ... }
}{
"ok": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "..."
}
}Quick start
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://www.tradingwizard.ai/api/v1/account
import requests
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(
"https://www.tradingwizard.ai/api/v1/account",
headers=headers,
)
print(response.json())const res = await fetch(
"https://www.tradingwizard.ai/api/v1/account",
{ headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data);Endpoints
Public widgets data
The embeddable widgets under /widgets/* pull from one public, CORS-wide endpoint. No auth required. Cached 30s at the edge.
/api/widgets/datawidget (required) selects the dataset: price, watchlist, leaderboard, and more.
Example: /api/widgets/data?widget=price&symbol=BTCUSDT
Next: Webhooks
Send TradingView alerts straight into TradingWizard using the same API token.