Monitors

Standing watches over your lists or the market that emit signals — occurrences like a changed answer or a detected funding round — over time.

A monitor is a standing watch that emits signals over time. A signal here is an occurrence — something that happened — not a research answer (those are enrichments).

Two kinds, one resource:

  • Watch monitors re-check the entities on one of your lists with an enrichment template and emit a result_changed signal when an answer changes. Silent no-change runs emit nothing.
  • Discovery monitors watch the market for occurrences of a type — funding_raised, job_posted, social_posted, investment_made, ipo_announced, ipo_stage_changed — matching your filters or prompt.

Working with monitors

Create one with POST /v1/monitors (checks: [{kind, …}] — exactly one check today), manage it with PATCH/DELETE and pause/resume/trigger, and read what it found on GET /v1/monitors/{monitorId}/signals: the occurrence envelope carries type, occurredAt, observedAt, entity, and a type-specific payload. Deliver occurrences as they happen with a webhook.

Pricing

Configuration, lifecycle, and reads are free. Each signal a monitor emits is charged under the monitor-signals feature (see /pricing for the current rate) — a watch run that detects no change emits nothing and costs nothing.

Migrating from subscriptions

Monitors replace two legacy families — signal subscriptions (/v1/companies/signals/subscriptions/*, /v1/contacts/signals/subscriptions/*) and market-signal subscriptions (/v1/market-signals/*). Both keep working at their old prices until their announced sunset; their responses carry Deprecation and successor Link headers.

LegacySuccessor
Create/list/get/update a subscription/v1/monitors (?kind=watch|discovery filters the list)
start / stopresume / pause
triggertrigger
Subscription /logs, market /signalsGET /v1/monitors/{monitorId}/signals

A subscription created through /v1/monitors bills per emitted signal; a pre-existing legacy subscription keeps its legacy pricing until you delete and re-create it on the new surface.

On this page