SaaS Competitor Monitor: Pricing, Changelog & Positioning avatar

SaaS Competitor Monitor: Pricing, Changelog & Positioning

Pricing

from $10.00 / 1,000 page checkeds

Go to Apify Store
SaaS Competitor Monitor: Pricing, Changelog & Positioning

SaaS Competitor Monitor: Pricing, Changelog & Positioning

Track competitor pricing, plans, changelogs and homepage positioning on a schedule. Get each change as structured data (Pro $49→$79, Free plan dropped, new integration added) plus a weekly brief and Slack/webhook alerts. Typed competitive signals, not raw page diffs.

Pricing

from $10.00 / 1,000 page checkeds

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

7 days ago

Last modified

Share

SaaS Competitor Change Monitor

SaaS Competitor Change Monitor

Most "website change" monitors tell you that a page changed. They can't tell you what changed in business terms. This one can.

Point it at a competitor's pricing page, changelog, and homepage. On a schedule, it reads each page, compares it to the last run, and reports the actual move as a structured event:

  • Pro plan went from $49 to $79/month (+61%)
  • The Free plan disappeared
  • A feature moved from Pro up to Enterprise
  • The homepage headline changed from "Easy analytics" to "The AI CRM that closes for you"
  • They shipped a Slack integration

You get those as clean JSON, a readable weekly brief, and an optional Slack/Discord/webhook ping. No CSS selectors, no regex, no per-site tuning to babysit.

What it does, in one line: turns competitor pricing, changelog, and positioning pages into typed competitive-intelligence signals (price_change, plan_added, plan_removed, feature_moved, cta_change, positioning_shift, new_integration, changelog_entry) on every scheduled run.


Who it's for

Product marketers keeping battlecards current. Competitive-intelligence and pricing teams who need a real feed of competitor moves instead of a folder of screenshots. Founders watching ten rivals without paying for Klue or Crayon. If your job involves answering "did a competitor change their pricing or packaging, and what does it mean for us," this is built for that.

If you searched for a competitor pricing tracker, a way to monitor competitor pricing changes automatically, a competitor changelog monitor, pricing page change alerts, or competitive intelligence automation that outputs structured data and Slack alerts, you're in the right place.


Why it beats a generic page-diff tool

changedetection.io, Visualping, Distill, and Wachete watch pixels or raw text and hand you a diff. That answers "did this page move." It does not answer "did the Pro tier get more expensive," because a diff has no idea what a price is, what a plan is, or that "$49" belongs to the Pro tier.

This actor has a model of what a SaaS pricing page actually is, so:

  • You get typed events, not diffs. Every change is machine-readable: tier, old value, new value, percentage, signal type. Pipe it straight into Slack, n8n, Zapier, Make, or your warehouse.
  • Cosmetic noise stays quiet. Currency toggles, monthly/annual switches, A/B copy, and JS re-renders don't fire alerts. Only a real field change does (a price, a plan, a CTA, a cert).
  • Changelogs are first-class. It catches a rival's feature launches the moment they ship, not just their pricing page. Most trackers ignore changelogs entirely.
  • It reads the commercial meaning. "Pro $49 → $79 (+61%)", "Free plan removed", "CTA switched to Contact sales" each come with a one-line note on why it matters and what to do about it.

You're not paying $20k a year and a dedicated analyst for that. It's pay-per-event and self-serve.


Straight talk on accuracy

Worth being honest, because most listings aren't:

  • The signals are deterministic. They come from rules that compare two structured snapshots, not from an LLM guessing what changed. Same input, same output. The optional AI step only rewrites the "why it matters" sentence and runs solely on pages that actually changed.
  • It's built to under-report, not over-report. SaaS pages have no standard markup, so on an unusual layout the extractor will skip a tier it can't read cleanly rather than invent a wrong one. A missed tier produces no signal; it does not produce a false one. Enterprise / "Contact sales" tiers with no public price are tracked by name, never given a made-up number.
  • The first run is always a baseline (no signals). Real signals start on the second run, once there's something to compare against. That's how a monitor is supposed to work.
  • A blocked or unreachable page is reported as failed and skipped. One bad target never takes down the rest of the run, and it never overwrites the last good snapshot.

This has been run against live pricing pages (Plausible, Linear) end to end: it stores a baseline, returns nothing on an unchanged run, and emits a correct price_change when a tier actually moves.


Input

{
"competitors": [
{
"name": "Acme",
"pricingUrl": "https://acme.com/pricing",
"changelogUrl": "https://acme.com/changelog",
"homepageUrl": "https://acme.com",
"docsUrl": ""
}
],
"watch": ["pricing", "changelog", "positioning", "integrations"],
"onlyNewSinceLastRun": true,
"generateAiSignals": true,
"weeklyBrief": true,
"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ",
"proxyConfiguration": { "useApifyProxy": true }
}
FieldWhat it does
competitorsThe list to watch: a name plus any of pricingUrl, changelogUrl, homepageUrl, docsUrl. Leave a URL blank to skip it.
watchWhich page types to track: pricing, changelog, positioning, integrations.
onlyNewSinceLastRunEmit only what changed, instead of re-dumping everything every run. Keeps scheduled runs cheap.
generateAiSignalsSharpen the "why it matters" line with an LLM. Runs only on changed pages. Needs an ANTHROPIC_API_KEY env var; falls back to built-in rules if it's missing. You do not need an API key for the tool to work.
weeklyBriefBuild a readable HTML + Markdown brief of every move this run.
webhookUrlSlack, Discord, or any JSON endpoint. Slack/Discord formatting is detected automatically.
proxyConfigurationProxy used to fetch pages. Apify Proxy is recommended.

Output

One record per changed page, plus the weekly brief. A signal looks like this:

{
"competitor": "Acme",
"signal_type": "price_change",
"detail": "Pro: $49/month → $79/month (+61%)",
"before": "$49",
"after": "$79",
"why_it_matters": "Acme raised Pro by 61% — revisit your value-vs-price comparison and refresh the battlecard.",
"page_type": "pricing",
"url": "https://acme.com/pricing",
"detected_at": "2026-06-09T08:00:00Z",
"is_changed": true
}
signal_typeMeaning
price_changeA tier's price moved (with the % change).
plan_added / plan_removedA pricing tier appeared or disappeared.
feature_movedA feature shifted between tiers (e.g. Free → Pro).
cta_changeA call-to-action changed (e.g. self-serve → "Contact sales").
positioning_shiftThe homepage hero / H1 narrative changed.
new_integrationA new integration was announced.
changelog_entryA new release / changelog item shipped.

The weekly brief is saved to the Key-Value Store (weekly-brief-html / weekly-brief) and linked in the dataset. It's the thing a marketing team forwards internally on a Monday.


Run it on a schedule (that's the whole point)

A monitor only pays off when it runs on its own. In the Console: open the actor, go to Schedules, create one, add your saved input, and pick a cadence.

  • Pricing and positioning change slowly, so weekly is plenty: 0 8 * * 1 (Monday 08:00).
  • Changelogs move faster, so every two or three days works well: 0 8 */2 * *.

The first scheduled run captures the baseline. Every run after that sends you only the new moves.


Questions people actually ask

How do I track a competitor's pricing changes automatically? Add their pricingUrl, schedule the actor weekly, and you'll get a price_change signal with the exact tier, old and new price, and percentage whenever a tier moves.

Can I monitor a competitor's changelog or release notes? Yes. Add changelogUrl and include changelog in watch. New entries become changelog_entry signals, and newly announced integrations become new_integration.

How is this different from changedetection.io? changedetection.io reports that a page changed (a raw diff). This reports what changed commercially, as structured data you can route into other tools, and it stays quiet on cosmetic churn that diff tools flag as false alarms.

Do I need an OpenAI or Anthropic API key? No. Signals and a solid "why it matters" come from built-in rules at zero API cost. Add ANTHROPIC_API_KEY only if you want the AI to phrase the insight more sharply, and even then it runs only on pages that changed.

Does it handle JavaScript-heavy pricing pages? Yes. Static pages are fetched over plain HTTP; pages that need rendering are loaded in headless Chromium automatically.

Will it get blocked? Use Apify Proxy. A blocked page is reported as failed and skipped, and it never wipes the last good snapshot or breaks the run.


SaaS Competitor Change Monitor vs. the alternatives

This actorchangedetection.io / Visualping / DistillKlue / Crayon
OutputTyped signals (price_change, plan_removed…)Raw text/visual diffCurated battlecards
Understands pricing pagesYesNoYes
Noise from toggles / A/B copySuppressedFrequent false alarmsLow (human-curated)
Changelog trackingFirst-classManual, per URLYes
Structured history per competitorYes (JSON)Snapshots onlyDashboards
CostPay-per-eventFree–$$$20k+/yr + analyst
SetupPaste URLs, scheduleSelectors + regexSales call

Pricing

Pay-per-event: a fraction of a cent per page checked, and a couple of cents per signal actually delivered. A run where nothing changed costs almost nothing, so you only really pay when there's real intelligence to act on. Full breakdown and the cost math are in MONETIZATION.md.