Guides
Schedules
"schedule": {
"every": "1d",
"start_at": "2026-12-01T09:00",
"burst": { "near": "release_date", "window": "48h", "every": "1h" },
"until": "+90d"
}Durations are a number and m, h or d.
every
How often it runs. Runs get up to 10% jitter, capped at 5 minutes, so watchers made at the same time don't all fetch at once.
start_at
The first run. A time without an offset is read as UTC.
burst
Runs every burst.every inside window, centered on release_date or opens_at. The center comes from target.attributes, or from a page once a run sees the date. A 48h window runs from a day before to a day after.
burst.every must be shorter than every.
until
| Value | Stops |
|---|---|
"2027-01-31" | At the end of that day, UTC |
"+30d" | 30 days after start_at, or after now |
"after_first_match" | After the first match. Status becomes matched |
"never" | When you delete it |
A watcher runs for at most a year.
Minimum intervals
Each site has a fastest interval. If you ask for faster, we use the site's minimum and list it in clamped; the request isn't refused.
| Site | every | burst.every |
|---|---|---|
| Any site | 5m | 1m |
| Amazon | 30m | 10m |
| Nike | 1h | 5m |
| Shopify stores, other stores | 1h | 15m |
| schema.org pages | 1h | 30m |
| GitHub releases | 30m | 5m |
"clamped": [{ "field": "schedule.every", "asked": "5m", "used": "30m", "site": "amazon.com", "reason": "amazon.com is checked at most every 30m." }]