Skip to main content
A Company Discovery Watcher turns a Company Search filter into a recurring feed. Each run re-evaluates your filters against Crustdata’s database and delivers only the new matches to a webhook or Slack — a continuous, deduplicated feed, with no manual re-running.
Pricing: the first run is a free baseline (a sample of up to 5 matches), then 2 credits per new company delivered.
Common uses:
  • Sales / GTM — new accounts entering your ICP (e.g. Brazilian fintechs that crossed 30% headcount growth).
  • Market intelligence — companies that newly match a segment, funding stage, or growth band.
  • Sourcing — a fresh pipeline of recently founded or fast-growing companies in your target market.
A Discovery Watcher tracks companies that newly match a filter. To watch a known list of companies for profile changes instead, use the Company Entity Watcher.

How a watcher runs

1

Create the watch

POST your filters, a config (schedule + result cap), and one or more notifications channels. The response returns a watch id.
2

Baseline run (free)

The first run happens within seconds, delivering a free baseline sample of up to 5 matches so you can confirm the setup and payload shape. No credits charged.
3

Recurring runs

On the schedule you set (every_hours), the watcher re-runs your filters and delivers companies that are new or refreshed since the previous run, up to max_results_per_run. You’re charged per delivered company.
Each run delivers companies added or updated since the last run — a feed of movement within your filter set, not a one-time export. For the full current match set, use Company Search.

Request body

The response returns the watch id:
All examples require the headers authorization: Bearer YOUR_API_KEY, content-type: application/json, and x-api-version: 2025-11-01. For the full list of field values and operators, see the Company Search reference.

Company filter format

Watcher filters use the exact same syntax and fields as Company Search — no new filter language to learn. Each filter is a tree of leaf conditions combined with and / or operator groups:
  • Leaf condition{ "field": "...", "type": "...", "value": ... }, where field is a company attribute (e.g. headcount.total), type is the operator (e.g. =>, in, >), and value is what to match.
  • Operator group{ "op": "and" | "or", "conditions": [ ... ] }, where conditions is a list of leaf conditions or nested groups. and requires every condition, or any one; nest groups for compound logic.

Recipes

Segment + headcount growth

New Brazilian software companies (50–500 employees) that grew headcount 30%+:

Well-funded companies in a country

New US companies that have raised more than $10M:

Recently founded companies

New companies founded after 2020:

High-growth mid-market

Software companies growing fast in the 200–2,000 range:

Delivery channels

Every watch needs at least one channel in notifications. Add one or more; matches fan out to all of them.
A Slack channel must be a genuine Slack incoming webhook (https://hooks.slack.com/services/…). Any other URL will fail delivery.

Manage a watch

Pricing

You’re charged only for companies actually delivered — never for a run that finds nothing new. See Pricing for full details.

Company entity watchers

Watch a known list of companies for profile changes.

Company Search

Pull the full current set of matches in one call.

Company Search reference

Every filter field, operator, and value.

Pricing

Credit costs across all Crustdata endpoints.