Create Watcher
Create a persistent watcher that monitors a listing, building, or search for changes. The watcher polls at the configured interval. Each poll counts as one API request against your active quota window, whether or not it finds a change.
How each type detects changes:
- listing: fetches the live listing on every poll and reports status changes and price moves of more than $25. Live fetches draw on a shared live-fetch budget; while it is held for Borough’s scheduled updates, or live fetching is paused, polls are skipped and not counted.
- building and search: compare against Borough’s own index, which
refreshes about every 6h for rentals and 8h for sales, so polling faster
than that mostly spends quota. A building watcher sees only the units
linked to the building (see
GET /building/{id}/listings).
Limits (Business):
- At most 50 active watchers, of which at most 5 may be listing watchers.
Creating one past either cap returns
429 QUOTA_EXCEEDED; paused watchers do not count. pollInterval: listing watchers minimum and default 3600 seconds; building and search watchers minimum 300, default 900. A shorter interval returns400.- A search watcher whose filters match more than 500 active listings is
refused with
400 INVALID_PARAMS; narrow it withareas,minPrice/maxPrice,beds,listingTypeorbuildingType. A running search watcher whose matches later grow past 500 is paused.
If the account drops below Business, all of its watchers and webhooks are
paused; after re-subscribing, resume each with PATCH
{"active": true}.
Tier: Business+
Authorizations
Polar.sh license key. Format: BOROUGH-<uuid>
Body
listing, building, search Filters for a search watcher. Only the keys below are accepted; any other key is rejected with 400 INVALID_PARAMS at create time, rather than silently ignored — a watcher that quietly watches something broader than you asked for is worse than one that refuses to be created.
Note beds is an exact match here, not the minBeds/maxBeds range the search endpoints take.
The filters may match at most 500 active listings. Broader filters are refused with 400 INVALID_PARAMS at create and when a paused watcher is resumed; narrow them with areas, minPrice/maxPrice, beds, listingType or buildingType. A running watcher whose matches later grow past 500 is paused.
Seconds between polls. Business: building and search watchers minimum 300, default 900; listing watchers minimum and default 3600. Internal: minimum 60.