Schedule recurring CatchAll jobs with webhook notifications.
Monitors automate data collection by running CatchAll jobs on a schedule. Create
a monitor from a successful job, define when to run it, and receive webhook
notifications when new results are available.
from newscatcher_catchall import CatchAllApiclient = CatchAllApi(api_key="YOUR_API_KEY")# List all monitorsmonitors = client.monitors.list_monitors()
import { CatchAllApiClient } from "newscatcher-catchall-sdk";const client = new CatchAllApiClient({ apiKey: "YOUR_API_KEY" });// List all monitorsconst monitors = await client.monitors.listMonitors();
import com.newscatcher.catchall.CatchAllApi;import com.newscatcher.catchall.types.ListMonitorsResponseDto;CatchAllApi client = CatchAllApi.builder() .apiKey("YOUR_API_KEY") .build();// List all monitorsListMonitorsResponseDto monitors = client.monitors().listMonitors();
Response:
Show list monitors response
{ "total_monitors": 2, "monitors": [ { "monitor_id": "0bcbf554-1f38-460e-9f6d-4bb9338560a4", "reference_job_id": "2acada6a-3e55-423d-9406-00f5c6dc73da", "reference_job_query": "Cross-border mergers and acquisitions involving US companies", "enabled": false, "schedule": "every day at 12 PM UTC", "timezone": "UTC", "created_at": "2025-11-04T21:04:22Z" }, { "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4", "reference_job_id": "295b95d8-6041-4f4b-b132-9f009fc6af70", "reference_job_query": "AI company acquisitions and mergers", "enabled": true, "schedule": "every Monday at 9 AM EST", "timezone": "EST", "created_at": "2025-11-07T10:54:42Z" } ]}
Key fields:
enabled (boolean): Whether the monitor is currently active
reference_job_query (string): Original query text from the reference job
schedule (string): Natural language schedule description
To download the most recent run’s records as a spreadsheet-friendly file, use
GET /catchAll/monitors/pull/{monitor_id}/csv.
It returns the latest run as a text/csv download — one row per record, with
enrichment fields as columns, citations as a JSON column, and connected
entities split into event_associated_entities and mention_entities JSON
columns.
For agentic workflows and data pipelines, use the JSON endpoint instead. CSV
and Excel are notorious for silent encoding issues, truncated long-text fields,
and mangled special characters — problems that are hard to catch and harder to
debug downstream.
Update webhook assignments or the record limit for an existing monitor. Pass a
new list of webhook IDs to replace existing assignments. Pass an empty array to
clear all assignments:
Get the full execution history of a monitor as a list of status entries,
ordered from newest to oldest. Each entry records a lifecycle event — creation,
enable/disable, a scheduled run, or a completed dump with record counts and
webhook delivery result.