How Monitors work
On each run, Exa executes the configured search, filters by time, removes results or findings the monitor has already returned, and sends the new output to your webhook. Each monitor keeps its own run history, so write the query around the ongoing signal you want to track rather than adding a moving date range yourself.Create your first monitor
Create a monitor with a search query, an interval, and the HTTPS endpoint that will receive updates:Example response
Example response
webhookSecret when you create the monitor. It is returned only once and is required to
verify webhook signatures.
Configure the output
Every completed run returns newly discovered pages inoutput.results.
Exa also synthesizes findings from each page into output.content:
Sources for synthesized fields are returned automatically in
output.grounding.
Add outputSchema when downstream code needs consistent
fields:
output.grounding.
Add page content
search accepts the same options as Exa Search: use contents to include
highlights, full text, or summaries with each result, and includeDomains or excludeDomains to
constrain sources.
Test your monitor
Trigger a run immediately instead of waiting for the next scheduled time, then list its runs:output is null until the run completes.
Schedule runs
The minimum interval is one hour. Use a single duration such as1h, 6h, 1d, or 7d. The
schedule is anchored to the monitor’s creation time — a daily monitor created at 2:30 PM runs
daily around 2:30 PM — but each run may be delayed by up to 30 minutes, so do not rely on an
exact wall-clock delivery time.
Omit trigger to create a manual-only monitor. Pausing a scheduled monitor also stops automatic
runs while preserving manual triggers.
Monitor runs do not overlap. If the next scheduled run starts while the previous one is still
running, Exa cancels the previous run.
Receive webhook updates
Subscribe tomonitor.run.completed when you only need finished runs. If you omit events, Exa
sends monitor lifecycle events and run-created events as well.
The completed-run payload includes the run status and output. Optional monitor metadata is
echoed in webhook deliveries, which lets you route an update back to the correct customer,
workspace, channel, or internal job.
Completed-run webhook payload
Completed-run webhook payload
The output and timestamps are shortened below.
Exa-Signature header in the form t=<timestamp>,v1=<signature>.
Construct <timestamp>.<raw-request-body>, compute its HMAC-SHA256 digest with the one-time
webhookSecret, and compare the result with v1 using a constant-time comparison.
Next steps
Create a monitor
See every search, schedule, output, metadata, and webhook field.
Monitor runs
Inspect a run’s status, output, grounding, and failure reason.
Search guide
Configure queries, filters, highlights, full text, and freshness.
Search best practices
Improve retrieval quality while keeping output focused.