Automated competitor monitoring works best in two layers: code that detects what changed on competitors’ pricing pages, sitemaps, ad libraries, job boards and review profiles, and an AI step that judges which of those changes matter to you. The output is a weekly digest a founder or marketing lead can read in five minutes, with every item linked to its source. The competitor digest is one of the use cases in AI agents for marketing; this is the build.
What’s worth monitoring and what’s noise
Start from decisions, not sources. If a signal can’t change your pricing, messaging, ad creative, sales talk track or roadmap, don’t track it.
| Signal | Where it shows up | Check | Decision it feeds |
|---|---|---|---|
| Pricing and packaging | Pricing page, plan comparison, billing docs | Daily | Your pricing, discount rules, objection handling |
| Positioning | Homepage hero, product pages, page titles | Daily | Messaging, landing pages |
| New pages | sitemap.xml | Daily | Launches, comparison pages naming you, SEO gaps |
| Product launches | Changelog, docs, integration marketplaces | Daily | Battlecards, roadmap |
| Ad creative | Public ad libraries | Weekly | Offers, angles, creative tests |
| Hiring | Careers page, job board feeds | Weekly | Reading strategy and market entry |
| Reviews | Review platforms, app marketplaces | Monthly | Positioning, sales talk tracks |
What’s noise: rotating testimonials, cookie banners, date stamps, footer edits, follower counts, every new blog post, and any change seen once and then reversed.
Keep the scope small: three to seven competitors and five to fifteen URLs each. A digest covering fifteen companies gets skimmed, then ignored.
Detecting page and pricing changes
The page layer is a loop: fetch, clean, compare, store.
- Build the URL list. For each competitor: homepage, pricing, top product pages, alternatives or “vs” pages, integrations page, changelog and sitemap.
- Fetch on a schedule. A plain HTTP request works for server-rendered pages. Pricing pages built in JavaScript need a headless browser such as Playwright. Fetch from one consistent location, because many companies show regional prices and currencies.
- Clean before comparing. Strip scripts, navigation, footers, cookie banners and dynamic tokens, then normalize whitespace. Skip this step and every run looks like a change.
- Hash and diff. Hash the cleaned text. If the hash matches the stored snapshot, stop. If not, save the new snapshot and generate a line-level diff.
- Confirm before reporting. Require a change to appear on two consecutive runs. A value that flips back and forth is probably an A/B test, so report it as one.
Treat pricing as data, not text
A text diff of a pricing page is hard to read. Extract structured fields instead: plan names, monthly and annual price, currency, usage limits, seat minimums and headline features per plan. Store them as JSON and compare field by field, so the diff reads, for example, “Pro: $49 to $59 per seat, annual only” rather than forty changed lines.
An LLM can do this extraction well, but validate the output. If a price isn’t a number or a plan disappears, flag it for a person to check instead of reporting it as fact.
Watch the sitemap
The sitemap is the cheapest high-signal source. New URLs reveal launches, new landing pages, new integrations and comparison pages targeting you, sometimes before anyone announces them. Removed URLs can mean a discontinued product or plan.
For ten or twenty URLs, an off-the-shelf page-change monitor is fine. Build your own when you want structured pricing extraction and AI judgment in one pipeline.
Tracking competitor ads through public ad libraries
The major ad platforms publish public libraries:
- Meta Ad Library shows active ads across Facebook, Instagram and Meta’s other placements, searchable by advertiser, with start dates and variations.
- Google Ads Transparency Center shows ads from verified advertisers, filterable by region and format (text, image, video).
- LinkedIn Ad Library is searchable by advertiser name or keyword.
- TikTok publishes ad libraries too, with coverage that depends on region.
The catch: official API access to these libraries is limited and varies by platform and region, and platform terms generally restrict automated collection from the web interfaces. The practical pattern is semi-automated. Someone spends a short slot each week capturing new creatives into a shared log, or you license the data from an ad-intelligence vendor. The AI does the analysis.
For each new ad, log the first-seen date, format, hook, offer, CTA, landing page URL and number of variations. Then look for:
- New offers: longer trials, discounts, free migrations
- New angles: a shift to a different pain point or buyer
- New audiences: industry-specific or role-specific creative
- Volume changes: a burst of variations usually means active testing
An ad that has run for months suggests the advertiser keeps paying for it, not that it performs. Feed the landing page URLs back into the page monitor so you see what the ads sell.
Reviews, job posts and launch signals
Reviews
Competitor reviews on software review sites, app marketplaces and retail listings show where their customers are unhappy. Monthly is enough. Look for shifts in themes: complaints after a price increase, slower support, a missing feature. Review platforms usually restrict scraping, so use official feeds where they exist, a manual export or a licensed provider. Strip reviewer names before anything goes to an AI model.
Job posts
Many applicant tracking systems publish public job board feeds, which makes careers pages easy to watch. Classify each post by function, seniority and location. A first hire in a new country suggests market entry. Enterprise account executives plus solutions engineers suggest a move upmarket. Several machine learning roles suggest AI features. Job descriptions often name the tools, markets and segments a team is building for. Treat every read as a hypothesis.
Launch signals
Watch changelogs and release notes (many offer RSS), new pages on docs sites, new listings in integration marketplaces, newsroom posts and webinar pages. New product names can show up in docs and status pages before any announcement.
Using AI to judge what changed and why it matters
The rule that keeps this reliable: code detects, AI judges. Never ask a model “what’s new at this competitor?” It will guess. Give it the before-and-after diff, the source URL and a short context document: your positioning, your plans and prices, your ICP and the deals you lose to each competitor.
Then have it classify each change against a fixed rubric:
| Materiality | Examples | Action |
|---|---|---|
| High | Price change on a competing plan, new free tier, plan removed, comparison page naming you, entry into your core market | Same-day alert to the owner |
| Medium | New feature or integration page, homepage headline change, new ad angle across several creatives, cluster of hires in one function | Top of the weekly digest |
| Low | Minor copy edits, a single new ad, new blog posts | Digest appendix |
| Noise | Layout, testimonials, dates, banners | Logged, not reported |
A prompt skeleton that works:
You review changes to competitor web pages for [Company].
Context: [positioning, plans and prices, ICP, deals lost to each competitor]
For each change, return JSON: category, materiality (high/medium/low/noise),
what_changed (quote before and after), why_it_matters (one sentence,
framed as a hypothesis), owner, confidence.
Use only the text provided. If a change looks like a test or rendering
error, mark it "needs review". Never state a price that isn't in the text.
Guardrails I put on every build: the before-and-after quote is mandatory, interpretations are labeled as hypotheses, a person reviews high items before they go out, and someone spot-checks the noise bucket monthly for things the model dropped. Because the model only sees pages that actually changed, call volume stays low.
Delivering a weekly digest
Send it on the same morning every week, to a Slack channel or by email, in a fixed order:
- Top three: what changed, why it might matter, the owner and the source link
- By competitor: one to three bullets each
- Ads: new offers and angles
- Hiring and launches
- Appendix: every low item, with links
When nothing material happened, say so in one line. A digest that admits a quiet week earns trust for the loud ones.
Route by owner: pricing changes to the founder or product marketing, ad angles to the paid team, comparison pages and review themes to sales enablement. Write each item to a table as well, so you can review trends each quarter. Let readers mark items useful or not, and tune the rubric monthly.
Build checklist:
- Three to seven competitors, with a URL list for each
- Scheduled fetcher, consistent location, low request rate
- Cleaning, snapshot storage and diffing
- Structured pricing extraction with validation
- Sitemap, changelog and job board feeds
- Weekly ad library capture log
- Judgment prompt with rubric and your context document
- Digest template, channel, owners and feedback loop
The orchestration fits in n8n, Make or a small script; the trade-offs are in n8n vs Zapier vs Make. Pipelines like this are a core part of my AI automation work.
Limits: terms of service and ethics
Competitive monitoring is legitimate. Some ways of doing it aren’t.
- Public pages only. No logging in, no fake accounts, no trial signups under a false identity, no getting past paywalls, CAPTCHAs or bot blocks.
- Read the terms and robots.txt for each source. Where terms prohibit automated access, switch to manual review or a licensed provider. For anything gray, ask counsel.
- Check, don’t crawl. A handful of requests per competitor per day is enough. Don’t disguise traffic to get around a block; if a site blocks you, respect it.
- Minimize personal data. Strip reviewer names, and don’t track individual employees’ profiles.
- Analyze, don’t copy. Store competitor pages and ads for internal analysis only. Never republish their creative or copy.
- No pretexting. Don’t pose as a prospect to get sales decks or quotes.
One more limit: the digest informs decisions; it doesn’t make them. Matching every competitor price change reactively is how teams end up with pricing nobody chose on purpose.
Get it built
If you want a competitor digest that tells you what changed and why it matters, without anyone clicking through fifteen tabs every Monday, I can build and run it. The AI automation add-on starts from $2,500/mo. See pricing or get in touch.