TradingView alerts but as an API. Define any condition in SQL — price, volume, indicator, signal — and we deliver a signed webhook the moment a ticker enters the match set. Server-side evaluation every minute across 12,000 tickers; no browser tab required.
POST /v2/webhooks
Wrap any WHERE clause in a webhook subscription. Use simple thresholds (price > 200, volume > avg * 2), named indicators ( rsi_14 < 30, macd_above_signal), or any of the 50+ pre-named signal flags. We watch every minute and POST the matching ticker plus full row context the moment your condition is true.
// alert when NVDA dips into oversold on 2x volume
POST /v2/webhooks
{
"name": "NVDA oversold buy",
"q": "ticker='NVDA'
AND rsi_14 < 30
AND relative_volume >= 2",
"target_url": "https://yourapp.com/alerts"
}| Time | Price | RSI | Vol |
|---|---|---|---|
| Apr 28 · 10:14 | $784.20 | 28.4 | 2.6× |
| Mar 12 · 13:42 | $812.50 | 27.1 | 3.4× |
| Feb 21 · 09:38 | $759.10 | 29.8 | 2.1× |
| Jan 14 · 14:55 | $698.40 | 26.0 | 4.7× |
| Dec 03 · 11:20 | $652.30 | 28.9 | 2.8× |
endpoints you’ll use
Subscribe a condition, receive deliveries, dry-run against history. Same SQL grammar across all three.
POST /v2/webhooksSubscribe any SQL condition to a webhook. Per-subscription HMAC-SHA256 signing secret.
Docs →GET /v2/scanThe "scan now" sibling of an alert. Same WHERE clause, immediate response — useful for dashboards or one-off checks.
Docs →GET /v2/scan?asof=Dry-run your alert against history. See when it would have fired before you turn it on live.
Docs →POST /v2/rulesSave a named rule once, reference it from multiple webhook subscriptions or per-user feeds.
Docs →why this works
Version-control your alerts. Spin up hundreds programmatically. Roll them out across tickers, users, or strategies with one POST per subscription.
We watch 12,000 tickers every minute and POST your endpoint the moment a match enters the set. No browser tab, no extension, no Discord bridge.
Simple thresholds (price > 200), TA states (rsi_14 < 30), named flags (breakout, volume_unusual_2x), or any boolean composition of all three. One SQL grammar end to end.
Verify every delivery came from us. Each webhook gets its own HMAC-SHA256 secret, rotated independently. Built for production embedding.
comparison
Chart UI, browser-tab dependent
API, server-side, row-context payloads
works with your agent
Your agent writes the alert condition in SQL, posts it to /v2/webhooks, then handles each delivery as a tool call. The payload already includes the row context, so the agent decides next steps without a follow-up API call.
ship it