Beta: Monitor is currently in beta and enabled per account. Contact support to request access.
Base URL
X-API-Key header. See Authentication.
Monitor must be enabled for the API key’s account. The API returns
404 when it is unavailable.Endpoints
Create a Monitor
- Page
- Topic
201 Created and contains the new Monitor plus its first baseline run:
purpose or dashboard-managed email settings.
Common Fields
string
required
fetch for a Page Monitor or search for a Topic Monitor.object
required
Type-specific configuration. See the Page and Topic fields below.
string
required
A five-field cron expression. It runs in UTC unless prefixed with an IANA time zone, for example
CRON_TZ=America/New_York 0 9 * * 1-5. Topic schedules must keep every run at least 30 minutes
apart.string
Optional Monitor name, up to 100 characters.
string
Optional description of the change that matters, up to 2000 characters. TinyFish evaluates
detected changes against this purpose.
string
Optional public HTTP or HTTPS URL that receives every scheduled run result.
Email delivery is currently configured in the dashboard. The REST API does not accept email
settings.
Page Config
string
required
Public HTTP or HTTPS webpage URL.
string
default:"json"
Extracted content format:
json, markdown, or html.boolean
default:"false"
Include links found on the webpage.
boolean
default:"false"
Include image links found on the webpage.
ttl: 0 to prefer fresh content. The deprecated config.ttl
field is accepted for compatibility but does not change this behavior.
Topic Config
string
required
Search query to repeat, up to 2000 characters.
integer
Optional freshness window from 1 to 5,256,000 minutes.
integer
default:"10"
Number of results to compare per run, from 1 to 10.
List and Get Monitors
monitors array. To retrieve one Monitor:
Pause or Resume
Send a status-only update.active resumes the schedule and paused stops future scheduled runs
without removing history.
Edit a Monitor
Schedule edits must includeschedule_cron. You can also replace or clear the name, purpose, and
webhook URL. Omitted optional fields keep their existing values.
config cannot be changed after creation. Create a new Monitor to watch a
different page or topic.
Run Now
201 Created with the Page Fetch result or Topic Search result under run. Run now
works for active, paused, and failed Monitors.
A Topic Monitor run can return 409 Conflict with error.code set to RETRY_REQUIRED when the run
could not be created. Retry the request.
Run now records the result but does not send webhook or email notifications. Those delivery paths
run only for scheduled checks.
Delete a Monitor
Scheduled Webhook Payloads
Webhooks are sent for every scheduled run, including runs with no changes. Page payloads include afetch_monitor_id; Topic payloads include a search_monitor_id.
- Page
- Topic