On a schedule
Get an email when a price changes on a protected page
A page that blocks normal requests is fetched through your Bright Data zone, and you hear when its price moves.
- Runs
- On a schedule
- Apps
- Bright Data
- AI
- Not needed
- Access
- API key + zone
Send this to your assistant
Create a ClickRuntime automation: every 6 hours, fetch this product page through my Bright Data zone, read the price, and email me if it changed since the last check.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Some of the numbers that matter to a business live on someone else's web page: a competitor's price, a supplier's stock status, a regulator's published rate, a position in search results. The page offers no alert and no API, so somebody has to open it and remember what it said last time. Many pages also block automated requests, which defeats a simple script.
On the schedule you choose, ClickRuntime requests the page through a Bright Data Web Unlocker zone, which gets past typical blocking, extracts the specific value you care about and compares it with the previous one that was stored. If it has changed, you receive an email showing the old and new values.
It suits anyone who needs to be told when a number on a page they do not control moves.
What you get out of it
Price changes are noticed immediately
When a competitor adjusts a price, you hear about it after the next scheduled check. A same-day response beats learning of it from a customer who has already compared the two.
Blocked pages become readable
Many sites reject plain automated requests. Using a Web Unlocker zone gets through where a basic script returns an error, so the check keeps working. The check stays worth reading because it speaks only when something has genuinely moved.
Only real changes produce emails
The value is compared with the last one, so unchanged pages are silent. You are not asked to read the same number each morning, which keeps the alert worth opening.
Old and new values appear side by side
The email shows both numbers, so the size of the change is clear at a glance. A one percent adjustment and a thirty percent cut call for very different responses.
No manual page-watching
Nobody has to bookmark a page and visit it daily. The check continues over holidays and busy periods, which is exactly when competitors tend to change things. Pages change over weekends and holidays, which is often exactly when competitors adjust prices.
How it works
What happens, step by step
On the schedule you set, ClickRuntime fetches the product page through your Bright Data Web Unlocker zone, so sites that block normal visits still load.
It reads the price from the page and compares it with the price saved from the last check.
When the price has changed, you get an email with the page link and the old and new price.
The new price is saved for the next check.
Before it runs live
- Connect Bright Data
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Bright Data steps into one automation
Under the hood
The code that runs this automation
from bs4 import BeautifulSoup
from clickruntime import on_trigger, credentials, http, state, notify
PRODUCT_URL = "https://shop.example.com/products/espresso-machine"
ZONE = "web_unlocker1"
@on_trigger
def run(event):
resp = http.post("https://api.brightdata.com/request",
headers={"Authorization": f"Bearer {credentials.secret('BRIGHTDATA_API_KEY')}"},
json={"zone": ZONE, "url": PRODUCT_URL, "format": "raw"}, timeout=60)
resp.raise_for_status()
tag = BeautifulSoup(resp.text, "html.parser").select_one("[itemprop=price], .price")
price = tag.get("content") or tag.get_text(strip=True) if tag else None
last = state.get("price")
if price and last and price != last:
notify.email_me("Price changed", f"{PRODUCT_URL}\n{last} → {price}")
if price:
state.set("price", price)
return {"price": price, "previous": last}FAQ
Common questions
How does it find the value on the page?
Does it work for search result rankings too?
Is scraping a page allowed?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Run a daily scrape and get the results by email
Your scraper runs every morning and you get the record count and download link once the snapshot is ready.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksPost a morning briefing to Slack
Your team starts the day with the weather, a reminder or anything else you'd like in #general.
See how it worksKeep exploring
Set up “Get an email when a price changes on a protected page” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
