Snag Watcher API https://watcher-api-staging.manwhas.shop

Guides

Conditions

JSON
"conditions": { "all": [
  { "field": "availability", "op": "=", "value": "in_stock" },
  { "field": "price", "op": "<=", "value": 120 }
] }

Use all or any, with up to 10 conditions. A field that isn't on the page never passes, and a blocked site is never guessed.

Fields

fieldValues
priceDollars (120) or "$119.99"
price_drop"10%" or "$20", with compare_to
availabilityin_stock, low_stock, out_of_stock, back_in_stock, open_slot, closed
quantityA number, when the site shows one
versionA number. Needs match: line or category
release_statusannounced, preorder, available, sold_out
release_date, date, opens_at"2026-12-15" or a datetime
seller, or any attributeText or a number

in_stock includes low stock. low_stock means only low stock: Nike's low level, or 3 or fewer left. back_in_stock is true on the one run where a variant goes from out of stock to buyable.

Operators

=, !=, <, <=, >, >=, in, not_in (with a list), exists (the field appeared), changed (it differs from the last run).

compare_to

Compare with an earlier run of the same variant on the same site instead of a fixed value:

JSON
{ "field": "price_drop", "op": ">=", "value": "10%", "compare_to": "first_snapshot" }
{ "field": "price", "op": "<", "compare_to": "last_snapshot" }
{ "field": "price", "op": "<=", "value": "$20", "compare_to": "first_snapshot" }

The last one means at least $20 under the first price.

over

over asks about a set instead of one variant.

JSON
{ "field": "availability", "op": "=", "value": "in_stock",
  "over": { "key": "sizes", "require": "all", "same": "seller" } }
KeyValues come from
sizesattributes.size (a list)
datesEvery dated slot found
itemsEvery product the match found

require is all, any, or min_n with n. same is site or seller, when the set has to come from one place.

Several sites

where.aggregate decides what one notification is about.

aggregateSends
eachOne result per site. The default
bestThe lowest price, or the earliest date, across sites
firstThe first site to match, then the watcher stops
dedupeOne result per product, with every site's offer

Kind

The watcher's kind comes from conditions that watch for a change: price, availability, release, or mixed when there are two of those. A fixed cap like price <= 180 doesn't make a release watcher mixed.