Data alerts · Plus and Pro

Crypto sentiment alerts, by email or webhook

Choose a keyword or your own index, a timeframe and a view, then set the level it must cross. When it does, Sentalysis sends an email or a signed JSON webhook, so you can stop watching the chart and still notice the change.

Updated Research data, not advice · Research use
Bitcoin attention · Z-score (90) · 1D12 crossings Crossed above 2.0
2.00AugOctDecFebAprJunAug
Recorded data, July 2025 to September 2026. An alert set to fire when Bitcoin's 90-day attention Z-score crosses above 2.0 would have sent 12 notifications in this period, the largest reading on 6 February 2026.

Define the condition

Four choices make an alert

Every alert is a precise statement about a data series. Nothing is inferred, and nothing is recommended.

ChoiceOptionsExample
SourceAny tracked keyword, or a saved custom index (Pro)Bitcoin
Timeframe1H (Pro), 4H, 1D, 1W, 1M1D
ViewRaw, Z-score or EMA, with their window or spanZ-score, 90 observations
Level and directionCrosses above or crosses below a valueCrosses above 2.0

Choose the destination

Email for you, webhooks for your systems

  • Email

    Sent to your verified address with the keyword, the level and the current value.

  • Webhook

    A signed JSON POST to your HTTPS endpoint, verified before first use.

  • Signed

    HMAC-SHA256 over the timestamp and body, with a secret shown once.

  • Telegram

    Planned. Not available yet.

Sentalysis Alerts · Example from recorded data

bitcoin crossed above 2

bitcoin crossed above 2. Current value: 5.26. Data-threshold notification only. Not financial, investment, or trading advice.

Previous1.49Current5.26Bucket5 Feb 2026

For developers

The webhook payload

Each alert is one HTTPS POST with a compact JSON body (keys sorted) and three headers. This example uses the values from the recorded crossing shown above; the IDs are placeholders.

POST to your endpointJSON
{
  "alertId": "7d1c0f52-2b8e-4f53-9a51-0d6e8c4b2a19",
  "currentValue": 5.264452,
  "customSignalId": null,
  "deliveryId": "e2a4c9d0-61b7-4a3e-8f0c-5b9d2e7a1c46",
  "direction": "above",
  "eventId": "7d1c0f52-2b8e-4f53-9a51-0d6e8c4b2a19:2026-02-05T00:00:00+00:00",
  "interval": "1d",
  "keyword": "bitcoin",
  "previousValue": 1.494566,
  "signalBucket": "2026-02-05T00:00:00+00:00",
  "sourceType": "keyword",
  "threshold": 2,
  "transform": "zscore",
  "type": "alert.triggered",
  "version": 1
}
HeaderValue
X-Sentalysis-Signaturet=<unix time>,v1=<hex HMAC>
X-Sentalysis-Event-IdThe alert and data bucket, stable across retries
X-Sentalysis-Delivery-IdOne delivery attempt record
Verify the signature (Node.js)JavaScript
import crypto from "node:crypto";

// rawBody: the request body exactly as received.
export function verifySentalysis(secret, header, rawBody) {
  const parts = Object.fromEntries(header.split(",").map((part) => part.split("=")));
  const expected = crypto
    .createHmac("sha256", secret)
    .update(`${parts.t}.${rawBody}`)
    .digest("hex");
  const age = Math.abs(Date.now() / 1000 - Number(parts.t));
  return age < 300
    && expected.length === parts.v1?.length
    && crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}
  1. Answer fast

    Return any 2xx status within a few seconds; do slow work after replying.

  2. Deduplicate

    Retries reuse the event ID. Store it and ignore repeats.

  3. Know the rules

    HTTPS on port 443, public addresses only, no redirects followed. A 404 or 410 disables the endpoint.

In the platform

Set up an alert in four steps

  1. Pick the source

    A keyword or a saved index, and the timeframe you care about.

  2. Choose the view

    Raw, Z-score or EMA. Thresholds work best on a view whose scale you understand.

  3. Set the level

    Above or below a value. On a Z-score, 2.0 means two standard deviations above the recent mean; see the Z-score guide.

  4. Add a destination

    Your verified email, a verified webhook, or both. Then enable the alert.

FAQ

Questions and answers

Read the guides

What is a crypto sentiment alert?

It is a notification that a data series crossed a level you chose. On Sentalysis the series is a keyword's Attention Interest Oscillator or one of your custom indexes, in the timeframe and view you pick, and the notification arrives by email or signed webhook.

What counts as a crossing?

A move from one side of your threshold to the other between two consecutive readings: from at or below the level to above it for an 'above' alert, or from at or above it to below it for a 'below' alert. A series that simply stays above the level does not trigger again.

How many alerts can I create?

Plus includes three data alerts and Pro includes ten. Pro can also use custom weighted indexes as alert sources. The free plan has no alerts.

Which channels are supported?

Email to your verified address, and HTTPS webhooks with an HMAC-SHA256 signature. Telegram delivery is planned but not available yet.

Can an alert miss a crossing between data updates?

No. Every new reading is checked against the one before it, so a crossing is reported even when several readings arrive at once. Very old crossings are not sent late.

Is an alert a signal to trade?

No. It reports that the data crossed the condition you defined. It does not recommend buying, selling or holding, execute a trade, or connect to a wallet or exchange.

Let the data tell you when it moves

Plus includes three alerts on every keyword and asset. Pro includes ten, with custom indexes as sources.

Free plan: one keyword, daily data, two years of history. No card required.

Sentalysis is an analytics and research tool. Nothing on this page is financial, investment or trading advice, a trading signal or a price prediction, and similar timing between attention and price does not establish cause. Sentalysis does not execute trades or connect to wallets or exchanges. Read the research-use notice.