Snag Watcher

Watch any product page. Get a webhook when it changes.

Describe what to watch and when to tell you. We check the page on your schedule and send a signed webhook when your conditions hold.

Get an API keyRead the quickstart

You send

Shell
curl https://watcher-api.manwhas.shop/v1/watchers \
  -H "Authorization: Bearer $SNAG_KEY" \
  -d '{
  "target": {
    "query": "https://www.allbirds.com/products/mens-wool-runners",
    "match": "url",
    "attributes": { "size": 10 }
  },
  "conditions": { "all": [{ "field": "price", "op": "<=", "value": 90 }] },
  "where": { "sites": ["allbirds.com"] },
  "schedule": { "every": "1h", "until": "+30d" },
  "notify": {
    "channels": ["webhook"],
    "webhook": { "url": "https://you.example/hook", "events": ["matched"] }
  }
}'

We send, when it's $88

JSON
{
  "type": "matched",
  "watcher_id": "wch_dhjqcvaqnhrchsnv7gtc",
  "kind": "price",
  "data": {
    "results": [{
      "site": "allbirds.com",
      "url": "https://www.allbirds.com/products/mens-wool-runners",
      "title": "Men's Wool Runners",
      "attributes": { "size": 10 },
      "price": { "cents": 8800, "currency": "USD" },
      "availability": "in_stock"
    }]
  }
}

What people build with it

Sites

SiteWhat we read
Any Shopify storePrice, stock, quantity and every option
Any page with schema.org product dataPrice and stock
GitHub releasesVersion, status and date
RedditNew posts in any subreddit, with the price from the title
Amazon, Nike, Zappos, Running Warehouse, Brooks, Saucony, On, adidas, New BalancePrice and stock per size

Not listed? Preview a product URL. Most stores run on Shopify or publish schema.org data. All sites

How it works

  1. 1
    Sign up. Your first key is ready right away.
  2. 2
    Preview. POST /v1/watchers/preview fetches once and shows what we see, without saving.
  3. 3
    Create the watcher. Same body to POST /v1/watchers. It runs on its schedule until it matches or expires.
  4. 4
    Get webhooks. Signed with your secret, retried five times over about 15 hours if your server is down.