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.

Before you start

Create a successful job following the Quickstart guide.

Create a monitor

Monitors require a reference job with end_date within the last 7 days. To use an older query, create a new job first.
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.

Update monitor webhook

Modify webhook configuration for an existing monitor without recreating it:
curl -X PATCH "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook": {
      "url": "https://new-endpoint.com/webhook",
      "method": "POST",
      "headers": {"Authorization": "Bearer NEW_TOKEN"}
    }
  }'
Response:
{
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4",
  "status": "Monitor updated Successfully"
}
Schedule and reference job cannot be modified. To change the query or schedule, create a new monitor.

Retrieve results

List monitors

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

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"
Response:

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"
Response:

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

To get HTTP notifications for completed monitor jobs, add a webhook when creating the monitor (see Create a monitor). You can update the webhook at any time using update monitor webhook without recreating the monitor.

Webhook payload

Authentication

See also