SaaS Pricing Page Monitor — Competitor Price Change Alerts
Pricing
Pay per usage
SaaS Pricing Page Monitor — Competitor Price Change Alerts
Monitor SaaS competitor pricing pages, detect added and removed price points, store snapshots, and export structured price changes and page diffs.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
João Victor
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
2 minutes ago
Last modified
Categories
Share
Monitor SaaS competitor pricing pages, detect added and removed price points, and receive persistent snapshots, structured page diffs, and price change alerts.
Turn public pricing pages into a recurring competitive-intelligence feed. The Actor monitors competitor prices, plans, packaging, trials, discounts, and CTAs, then writes clean JSON for Apify Schedules, webhooks, Make, n8n, Zapier, Slack alerts, BI dashboards, CRMs, and internal growth workflows.
Verified in production
- Five live pricing pages processed: Notion, Vercel, Apify, Airtable, and Stripe.
- 5 Dataset rows, 0 item errors.
- Approximately
$0.000224platform cost per checked page in HTTP mode without proxy. - Snapshot hashes, price points, and page diffs remained available on successful pages.
Cost evidence applies to HTTP mode without proxy. Browser rendering and proxies can materially increase cost.
Output reliability
| Output | Reliability |
|---|---|
| HTTP status, hashes, timestamps | Deterministic |
| Added/removed normalized text | Primary change evidence |
pricePoints | High-confidence signal that a value appears on the page |
| Currency and billing-period signals | Heuristic |
pricingPlans | Best-effort; review complex usage-based catalogs |
⚡ At a glance
| Monitor | Extract | Automate |
|---|---|---|
| SaaS pricing pages | Plan names, prices, currencies | Daily/weekly Apify Schedules |
| Competitor packaging | Billing periods and feature bullets | Webhooks and API pipelines |
| Promotions and offers | Free trials, free plans, discounts | Slack, Make, n8n, Zapier alerts |
| Sales motion | CTAs like trial, demo, contact sales | Dataset exports and dashboards |
| Page changes | Added/removed text and severity | Competitive-intel reports |
🎯 Best for
| User | Why they use it |
|---|---|
| SaaS founders | Know when competitors change pricing, packaging, trials, and positioning. |
| Growth teams | Watch discounting, free trials, annual offers, and CTA changes. |
| Product marketers | Track plan names, feature bullets, and go-to-market shifts. |
| Competitive intelligence teams | Build recurring pricing evidence without manual page checks. |
| Automation agencies | Deliver scheduled pricing-monitoring workflows to clients. |
🧭 Workflow
Pricing URLs → HTTP/browser fetch → pricing extraction → snapshot diff → Dataset/API/webhook alert
Recommended defaults:
- use one named
snapshotStoreNameper monitoring project; - use a narrow
contentSelectorsuch asmainor the pricing container; - run once with
ALLto create a baseline, then switch toCHANGES_ONLY; - schedule daily only for urgent competitors; weekly is usually enough;
- enable browser mode only when HTTP mode does not expose the pricing content.
What this Actor does
- Accepts one or more public competitor pricing URLs.
- Fetches pages with cheap HTTP mode by default, with optional Playwright browser rendering for JavaScript-heavy pages.
- Extracts pricing intelligence:
- plan/tier names;
- raw prices and normalized numeric prices;
- currency codes;
- billing period: monthly, yearly, one-time, usage-based, or unknown;
- feature bullets;
- CTA text;
- free trial signals;
- free plan signals;
- discount/annual-save signals.
- Stores persistent snapshots in a named key-value store.
- Compares future runs against previous snapshots.
- Writes dataset rows with both page-diff fields and pricing-specific fields.
- Handles one bad URL as an item-level error without failing the whole run.
Use cases
- Monitor direct competitor pricing pages every day.
- Detect price increases/decreases and packaging changes.
- Track when a competitor adds or removes a free plan.
- Watch for new annual discounts or promo messaging.
- Detect trial/CTA changes such as
Start free trial→Contact sales. - Feed pricing changes into Slack, Make, Zapier, n8n, Airtable, Sheets, BI, or CRM workflows.
- Build SaaS competitor-intelligence reports for clients.
Quick start
- Add competitor pricing URLs.
- Run once to create the baseline snapshot.
- Run again later or create an Apify Schedule.
- Review the Dataset
Pricing overviewandExtracted plansviews. - Connect a webhook if you want alerts on changes.
Minimal input:
{"startUrls": [{ "url": "https://example.com/pricing" }],"maxItems": 10,"emitMode": "ALL"}
Recommended scheduled input:
{"startUrls": [{ "url": "https://competitor-a.com/pricing" },{ "url": "https://competitor-b.com/pricing" },{ "url": "https://competitor-c.com/pricing" }],"snapshotStoreName": "my-saas-pricing-monitor","contentSelector": "main","emitMode": "CHANGES_ONLY","useBrowser": false,"proxy": { "useApifyProxy": false }}
Example output
{"url": "https://example.com/pricing","finalUrl": "https://example.com/pricing","title": "Pricing | Example SaaS","changeType": "CHANGED","severity": "MEDIUM","isSignificant": true,"changeRatio": 0.12,"hasPricing": true,"planCount": 2,"pricePoints": ["$19", "$49"],"pricePointChanges": {"added": ["$49"],"removed": ["$39"],"unchanged": ["$19"]},"currencies": ["USD"],"billingPeriods": ["monthly"],"hasFreeTrial": true,"hasFreePlan": false,"hasDiscount": true,"ctaTexts": ["Start free trial", "Book a demo"],"pricingPlans": [{"name": "Starter","rawPrice": "$19","price": 19,"currency": "USD","billingPeriod": "monthly","features": ["1 workspace", "Email support"],"ctaText": "Start free trial","hasFreeTrial": true,"hasFreePlan": false,"hasDiscount": false}],"addedText": "Business $99 per month Priority support Contact sales","removedText": "Pro $49 per month Email support Start free trial","snapshotKey": "SNAPSHOT_...","source": "http","error": null}
Dataset views
| View | Purpose |
|---|---|
Pricing overview | High-level rows with change status, prices, currencies, billing periods, trial/free/discount signals, and CTAs. |
Extracted plans | Full extracted pricingPlans array for each URL. |
Diff details | Added/removed text for comparing current and previous snapshots. |
Technical details | Final URL, hashes, snapshot keys, source mode, and content size. |
Accuracy notes
Pricing pages vary a lot. This Actor uses robust heuristics, not fragile site-specific selectors. It works best on public SaaS pricing pages with visible plan cards and price text. For JavaScript-heavy pages, enable browser mode. For highly custom pages, set contentSelector to the pricing container such as .pricing, main, or [data-testid="pricing"].
Cost controls
- HTTP mode is default and cheapest.
- Proxy is disabled by default.
- Browser rendering is optional.
maxContentBytes,maxItems,maxConcurrency, retries, and per-item errors protect cost and memory.- Private/internal URLs are blocked by default for SSRF protection.
API usage
Run this Actor through Apify API, CLI, Tasks, Schedules, webhooks, Make, n8n, Zapier, or your own backend.
Pricing guidance
Keep regular platform usage while validating real-world demand and cost. After representative runs, consider Pay Per Event only for successful useful outputs, for example:
pricing-page-checkedpricing-change-detectedpricing-plan-extracted
FAQ
Does this Actor require login?
No. It is designed for public pricing pages.
Does it use browser automation?
Not by default. HTTP mode is faster and cheaper. Enable browser mode only for JavaScript-rendered pricing pages.
Can it tell me exactly which price changed?
It exports current pricePoints, direct pricePointChanges.added/removed/unchanged, best-effort pricingPlans, and text diffs. Automations can alert on exact raw price values without comparing complete Dataset rows. pricePoints, pricePointChanges, and snapshot diffs are the authoritative monitoring signals; pricingPlans is a heuristic convenience field and can misclassify product or usage-fee labels on complex pages such as payment platforms.
Can I monitor many competitors?
Yes. Add multiple URLs and use maxConcurrency to control parallelism.
Should I use proxy?
Usually no. Keep proxy disabled unless a target site blocks normal HTTP requests.
Can I schedule it?
Yes. Save your input as an Apify Task and attach an Apify Schedule.
Can I use the output in automations?
Yes. Results are written to an Apify Dataset and can be consumed by API, webhooks, Make, n8n, Zapier, Slack, Airtable, Sheets, BI tools, or internal workflows.
Search terms
competitor pricing monitor, pricing page monitor, SaaS competitor tracking, pricing page change detector, competitor intelligence API, SaaS pricing tracker, pricing alerts, page diff tracker, pricing page API, SaaS competitive intelligence, pricing plan extractor, price change detector
Support
If you need a custom version, open an issue or contact the Actor maintainer through Apify.