Stock Price Drop Alerts
Get an alert when a watched ticker moves past a threshold - without paying for a real-time market data feed.
stock-price-stooqThe scenario
You manage a small personal watchlist of equities and want to know when one of them drops below a level you'd consider adding to. The full-fledged brokerages all support price alerts, but locking yourself into a specific broker's UI means you can't pipe the signal into Slack, into a journal entry, or into a small automation that DM's you on Telegram.
You want one alerting system that follows you across brokerages and integrates with your stack.
The problem
Real-time market data is expensive. Free public quote sources exist (Stooq, Yahoo Finance, Google Finance) but you have to poll them, debounce the noise, and detect threshold crossings yourself. That's a weekend project that grows into ongoing maintenance.
How Verid solves it
The stock-price-stooq template pulls a tiny CSV row from Stooq's free quote endpoint and applies a percent-decrease predicate against the close price. You pick the ticker, set the threshold, and choose where to be notified. Verid handles polling, change detection, and retries.
If you'd rather not use a public quote page - say you have a brokerage's API key - you can swap the URL for that endpoint and use the JSONPath extractor instead. The shape of the monitor is identical.
Build the monitor
Extraction config
Stooq returns a single-row CSV like AAPL.US,2026-05-22,22:00:19,306.12,311.4,305.84,308.82,43670223. Use regex with named capture columns:
{
"method": "regex",
"fields": {
"symbol": "/^([A-Z]+\\.[A-Z]+),/m",
"current_price": "/^[A-Z]+\\.[A-Z]+,[\\d-]+,[\\d:]+,[\\d.]+,[\\d.]+,[\\d.]+,([\\d.]+),/m"
}
}
Predicate
Stooq's close price parses cleanly as a number, so field_decreases_by_percent works directly:
{
"type": "field_decreases_by_percent",
"field": "current_price",
"threshold": 5
}
That fires when the close drops 5% or more between polls.
Create the monitor
Using the template:
curl -X POST https://api.verid.dev/v1/monitors/from-template/stock-price-stooq \
-H "Authorization: Bearer vrd_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "AAPL - 5% intraday drop",
"url": "https://stooq.com/q/l/?s=aapl.us&f=sd2t2ohlcv&h&e=csv",
"deliveries": [
{ "type": "slack", "webhookUrl": "https://hooks.slack.com/services/..." }
]
}'
Or via the SDK:
import { VeridClient } from '@verid.dev/sdk';
const client = new VeridClient({ apiKey: 'vrd_your_api_key' });
await client.monitors.createFromTemplate('stock-price-stooq', {
name: 'AAPL - 5% intraday drop',
url: 'https://stooq.com/q/l/?s=aapl.us&f=sd2t2ohlcv&h&e=csv',
deliveries: [
{ type: 'slack', webhookUrl: 'https://hooks.slack.com/services/...' },
],
});
What the webhook delivers
{
"id": "del_01H...",
"fired_at": "2026-05-08T18:21:00Z",
"diff": {
"fields_changed": ["current_price"],
"before": { "symbol": "AAPL.US", "current_price": "187.42" },
"after": { "symbol": "AAPL.US", "current_price": "177.10" }
}
}
Caveats & tips
- Public quote sources are delayed. Stooq is end-of-day-ish for most tickers - fine for non-day-trading workflows. For real-time signals, point Verid at your brokerage's authenticated API and use JSONPath extraction.
- Market-hours awareness. Verid runs on the schedule you set regardless of market hours; if you only want intra-session alerts, filter in your webhook handler by current time-of-day.
- International tickers. Append the exchange suffix to the symbol (e.g.
aapl.us,bmw.de,vod.uk). Stooq covers most major exchanges.
Related use cases
For crypto, see crypto price alerts. For mortgage and interest rates, see mortgage & loan rate tracking. For FX moves, see currency / FX rate monitoring.
Related use cases
Ship this monitor today
5 monitors free, no credit card. Set up takes about a minute.
Get started free