Stay ahead of competitor changes

Get alerted when a competitor updates pricing or features

What you will receive

Competitor page changed

just now

Change detected on competitor.com/pricing

The page content has been updated.
Changed sections detected: 2

View what changed →

How it works

  1. 1Humrun captures a snapshot of the competitor page
  2. 2It compares each new snapshot to the previous one
  3. 3When content changes, you get an alert with details

You configure

https://competitor.com/pricing

The competitor page you want to watch

.pricing-table, .features

CSS selector for specific content to watch

View Python code
import requests
from bs4 import BeautifulSoup
from state import state
import os
import hashlib

COMPETITOR_URL = os.environ.get("COMPETITOR_URL")
CONTENT_SELECTOR = os.environ.get("CONTENT_SELECTOR", "body")

response = requests.get(COMPETITOR_URL, headers={"User-Agent": "Mozilla/5.0"})
soup = BeautifulSoup(response.text, "html.parser")

# Remove script/style elements for cleaner comparison
for element in soup(["script", "style", "nav", "footer"]):
    element.decompose()

content = soup.select_one(CONTENT_SELECTOR)
current_text = content.get_text(strip=True, separator=" ") if content else soup.get_text(strip=True, separator=" ")
current_hash = hashlib.md5(current_text.encode()).hexdigest()

previous_hash = state.get("content_hash")
state["content_hash"] = current_hash

if previous_hash is None:
    print(f"First run - captured page snapshot")
elif current_hash != previous_hash:
    raise Exception(f"Page content has changed! Review: {COMPETITOR_URL}")
else:
    print("No changes detected")

Humrun stores a content fingerprint to detect any changes.

Suggested schedule: Every dayNotifications: When an alert is triggered
Browse more templates