Skip to main content
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.

How it works

Each scheduled execution:
  • Creates a new job with its own job_id.
  • Uses a rolling date window based on schedule frequency.
  • Applies the reference job’s validators, extractors, and schema.
  • Deduplicates records across all runs and merges the results.
Reference job records are not included in monitor results. Only records from scheduled executions appear in aggregated results.

Before you start

First, create a successful job following the Quickstart guide.
Use queries without time constraints. When creating your reference job, avoid time restrictions like “this week”, “last hour”, or “from Oct 10-15”. These might create date-specific validators that fail on subsequent monitor runs, returning zero results after the first execution.

Create a monitor

Once your reference job completes with status: job_completed, use job_id to create a monitor:
curl -X POST "https://catchall.newscatcherapi.com/catchAll/monitors/create" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference_job_id": "295b95d8-6041-4f4b-b132-9f009fc6af70",
    "schedule": "every day at 12 PM UTC",
    "webhook": {
      "url": "https://your-endpoint.com/catchall",
      "method": "POST"
    }
  }'
Response:
{
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4",
  "status": "Monitor Created Successfully"
}
The webhook parameter is optional. For webhook payload structure and authentication options, see the Webhooks section.

Retrieve results

List all monitors

Get all monitors for your API key:
curl "https://catchall.newscatcherapi.com/catchAll/monitors" \
  -H "x-api-key: YOUR_API_KEY"

List monitor jobs

Get execution history for a specific monitor:
curl "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}/jobs" \
  -H "x-api-key: YOUR_API_KEY"

Get aggregated results

Retrieve all deduplicated records from all monitor jobs:
curl "https://catchall.newscatcherapi.com/catchAll/monitors/pull/{monitor_id}" \
  -H "x-api-key: YOUR_API_KEY"

Manage monitors

Enable a monitor

Resume execution of a disabled monitor:
curl -X POST "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}/enable" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "success": true,
  "message": "Monitor enabled successfully.",
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4"
}

Disable a monitor

Pause execution without deleting the monitor:
curl -X POST "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}/disable" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "success": true,
  "message": "Monitor disabled successfully.",
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4"
}
To delete a monitor permanently, contact support at support@newscatcherapi.com with the monitor_id.

Webhooks

Receive HTTP POST notifications when monitor jobs complete. Add a webhook object when creating the monitor (shown in Create a monitor).

Webhook payload

Authentication

See also