---
title: "Create Monitor"
method: POST
path: "/v1/site-monitors"
tags: ["SiteMonitors"]
---

# Create Monitor

`POST /v1/site-monitors`

Register a website for monitoring. We will check on the given cron schedule and POST webhook events on content change.

## Request body

- SiteMonitorCreate — Request body for registering a new site monitor.
  - `name` string, nullable — Human-readable name for the monitor
  - `website_url` string, required — URL to monitor
  - `webhook_url` string, required — URL to POST webhook events to
  - `cron_expression` string, required — Cron schedule (5 fields, UTC), e.g. '*/15 * * * *' for every 15 min
  - `extraction_config` SiteMonitorExtractionConfig — Optional extraction config for monitored page (smartscraper-style).
    - `user_prompt` string, nullable — Prompt for extracting structured data from the page
    - `output_schema` object, nullable — JSON schema for extracted fields (enables structured diff)

## Response `200`

Successful Response

- SiteMonitorResponse — Response for a single site monitor.
  - `id` string, uuid, required
  - `user_id` string, uuid, required
  - `api_key_id` string, uuid, required
  - `name` string, nullable
  - `website_url` string, required
  - `webhook_url` string, required
  - `cron_expression` string, required
  - `extraction_config` object, nullable
  - `is_active` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `last_run_at` string, date-time, nullable
  - `next_run_at` string, date-time, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/scrapegraphai/apis/fastapi.md) · [All operations](https://skmtc.dev/scrapegraphai/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/scrapegraphai/fastapi/revisions/17bc5b01fe0c/schema)
