Skip to main content
The Monitor API lets you continuously track the web for changes relevant to a query, on a schedule you control. Create a monitor with a natural-language query, choose a cadence (hourly, daily, weekly), and receive webhook notifications.
Alpha Notice: The Monitor API is currently in public alpha. Endpoints and request/response formats are subject to change.

Features and Use Cases

The Monitor API can be used to automate continuous research for any topic, including companies, products, or regulatory areas— without building complicated web monitoring infrastructure. Define a query once along with the desired schedule, and the service will detect relevant changes and deliver concise updates (with source links) to your systems via webhooks.
  • News tracking: Alert when there’s notable news about a company or product you’re interested in
  • Competitive monitoring: Detect when competitors launch new features or pricing changes
  • Regulatory updates: Track new rules or guidance impacting your industry
  • Deal/research watchlists: Surface events about entities you care about
  • Tracking products: Track modifications to a product listing
Monitor currently supports the following features:
  • Scheduling: Set update cadence to Hourly, Daily, or Weekly
  • Webhooks: Receive updates when events are detected or when monitors finish a scheduled run
  • Events history: Retrieve updates from recent runs or via a lookback window (e.g., 10d)
  • Lifecycle management: Update cadence, webhook, or metadata; delete to stop future runs

Getting Started

Prerequisites

Generate your API key on Platform, then set it in your shell:
export PARALLEL_API_KEY="PARALLEL_API_KEY"

Step 1. Create a monitor

Create a monitor that gathers daily AI news: Request:
curl --request POST \
  --url https://api.parallel.ai/v1alpha/monitors \
  --header 'Content-Type: application/json' \
  --header "x-api-key: $PARALLEL_API_KEY" \
  --data '{
    "query": "Extract recent news about quantum in AI",
    "cadence": "daily",
    "webhook": {
      "url": "https://example.com/webhook",
      "event_types": ["monitor.event.detected"]
    },
    "metadata": { "key": "value" }
  }'
Response:
{
  "monitor_id": "monitor_b0079f70195e4258a3b982c1b6d8bd3a",
  "query": "Extract recent news about AI",
  "status": "active",
  "cadence": "daily",
  "metadata": { "key": "value" },
  "webhook": {
    "url": "https://example.com/webhook",
    "event_types": ["monitor.event.detected"]
  },
  "created_at": "2025-04-23T20:21:48.037943Z"
}

Step 2. Detecting and retrieving events via webhooks

When a change is detected, your webhook receives:
{
  "type": "monitor.event.detected",
  "timestamp": "2025-12-10T19:00:36.199543+00:00",
  "data": {
    "event": {
      "event_group_id": "mevtgrp_35ab7d16b00f412b9d6b6c0eff1f49733b5cf0b02056a29c"
    },
    "metadata": { "key": "value" },
    "monitor_id": "monitor_35ab7d16b00f412bbc4d6accbe0fdb41"
  }
}
  • Use data.event.event_group_id with the GET endpoint in Step 2 to fetch the full events.
  • data.monitor_id tells you which monitor fired.
  • data.metadata echoes what you set at creation, so you can route the webhook (e.g., to a Slack thread or ticket).
After you receive a webhook with an event_group_id (for a detected change), fetch the full set of related events for that group: Request:
curl --request GET \
  --url "https://api.parallel.ai/v1alpha/monitors/<monitor_id>/event_groups/<event_group_id>" \
  --header "x-api-key: $PARALLEL_API_KEY"
Response:
{
  "events": [
    {
      "type": "event",
      "event_group_id": "mevtgrp_b0079f70195e4258eab1e7284340f1a9ec3a8033ed236a24",
      "output": "New product launch announced",
      "event_date": "2025-01-15",
      "source_urls": ["https://example.com/news"]
    }
  ]
}
To learn about the full event model, alternative ways to access events (including listing all events), and best practices, see the Events page.

Lifecycle

The Monitor API follows a straightforward lifecycle:
  1. Create: Define your query, cadence, and optional webhook and metadata.
  2. Update: Change cadence, webhook, or metadata.
  3. Delete: Delete a monitor and stop future executions.
At any point, you can retrieve the list of events for a monitor or events within a specific event group.
See Pricing for a detailed scheduled of rates.

Best Practices

  1. Scope your query: Clear queries with explicit instructions lead to higher-quality event detection.
  2. Choose the right cadence: Use hourly for fast-moving topics, daily for most news, weekly for slower changes.
  3. Use webhooks: Prefer webhooks to avoid unnecessary polling and reduce latency to updates.
  4. Manage lifecycle: Cancel monitors you no longer need to reduce your usage bills.

Next Steps

  • Events: Understand events, when they are emitted and how to access them.
  • Webhooks: Information on setting up webhooks and listening for push notifications.
  • API Reference: Complete endpoint documentation

Rate Limits

See Rate Limits for default quotas and how to request higher limits.