Create alert API
Save a signal query plus a webhook URL and receive only new matching events, HMAC-signed. Free. Returns the webhook secret once — store it.
Frequently asked questions
What can I alert on?
What can I alert on?
["churn","adoption"] on a domains scope, for any stack change on domains you name), and a whitespace entrant (an adoption alert plus missing_category_id, which fires when a domain adopts your anchor while still running nothing in the gap category).Where do I get the webhook secret?
Where do I get the webhook secret?
webhook_secret, prefixed whsec_. Store it immediately — it signs every delivery. You can also read it back later from the alert detail endpoint, which is the only other place it appears.What is a HOT_SCOPE rejection?
What is a HOT_SCOPE rejection?
min_confidence, or use a technology scope instead of a whole category.What does backfill_days do?
What does backfill_days do?
0 if you only want events from now on.Why can't I change the scope later?
Why can't I change the scope later?
How do I stop churn alerts being noisy?
How do I stop churn alerts being noisy?
filters.churn_reliability gates on the detection method and already defaults to ["high","medium"], which excludes technologies whose detection flaps. filters.min_confidence_label gates on the combined per-event score and applies to adoption too. Setting it to medium or higher drops single-scan churns, which are the bulk of the noise — around half of them turn out to be false positives on live re-detection.Authorizations
API key in format tapi_live_[32-char] (live) or tapi_test_[32-char] (test)
Body
"Who leaves Shopify (US, 51-200)"
["churn","adoption"] means any stack change, which is the natural account watch. switch cannot be combined with the others because its event shape differs.
churn, adoption, switch HTTPS only. Private, internal and metadata hosts are rejected, and redirects are never followed.
"https://example.com/hooks/tc"
Technology scope. Must be a detectable technology.
2184
Technology scope by exact name.
Category scope. Re-resolved fresh at every sweep, so technologies added to the category are covered automatically.
Domains scope — the account watchlist. 1 to 1,000 domains (100 on Free). Normalized to lowercase and deduped; invalid entries are rejected with the offending values.
Audience scope. List audiences only; membership resolves live at each sweep.
Switch alerts on a technology scope only. from is who left the anchor; to is who came to it.
from, to Turns an adoption alert into a whitespace-entrant alert. Requires signal_types of exactly ["adoption"], a technology or category scope, and a category different from the anchor.
Whitespace precision gate. Defaults to 2 when missing_category_id is set.
1 <= x <= 10Row-level filters applied to every sweep. Firmographic keys use the same vocabulary as the Signals API.
daily batches a day's events into one digest delivery. hourly is a per-sweep drip. Independent of crawl_cadence.
hourly, daily Domains scope on a paid plan only. Buys re-scans of the watched domains so the underlying data refreshes as fast as the subscription. Forced to monthly on other scopes.
daily, weekly, monthly How far back the first sweep reaches. 0 means future events only.
0 <= x <= 30