Monitors

List monitors

Lists monitors for the authenticated organization. Supports free-text search (q over search_by fields, prefix or exact via search_type) plus status/type/tag filters. Results are paginated via the opaque cursor.

get/monitors

Query parameters

qstring

Free-text search term, matched against the fields named in search_by.

search_bystring[]

Comma-separated fields to search with q. Defaults to all of them. Note instructions only exists on extract monitors.

search_type'exact' | 'prefix'

prefix for as-you-type prefix matching (default), exact for full-token matching.

target_type'page' | 'sitemap' | 'extract'
change_detection_type'exact' | 'semantic'
status'active' | 'paused' | 'failed'

Monitor lifecycle status. failed means the most recent run failed (see the monitor's last_error); failed monitors keep running on schedule and flip back to active on the next successful run. Monitors are auto-paused after repeated consecutive failures or insufficient-credit skips; resume by PATCHing status to active.

tagsstring[]

Comma-separated list of tags to filter by (matches monitors having any of them).

tagstring

Filter to items that have this tag.

limitinteger
cursorstring

Response

A paginated list of monitors

has_moreboolean required
next_cursorstring nullable required

Example response

{
  "data": [
    {
      "id": "mon_123",
      "name": "Acme pricing monitor",
      "target": {
        "url": "https://acme.com/pricing"
      },
      "schedule": {
        "frequency": 6,
        "unit": "hours"
      },
      "webhook": {
        "url": "https://example.com/webhook",
        "secret": "whsec_8f3a…"
      },
      "last_error": {
        "code": "fetch_failed",
        "message": "The target URL could not be fetched."
      },
      "tags": [
        "pricing",
        "competitor"
      ],
      "baseline": {
        "text": "Acme Pricing\nStarter $9/mo…"
      }
    }
  ]
}

Changes