SaaS Pricing Change Tracker avatar

SaaS Pricing Change Tracker

Pricing

from $5.00 / 1,000 results

Go to Apify Store
SaaS Pricing Change Tracker

SaaS Pricing Change Tracker

Watches SaaS and subscription pricing pages and reports every change as structured data: price increases and decreases per plan, new and removed price points, plan lineup changes. 120 vendors built in (incl. Disney+, Hulu, Spotify), any pricing page supported.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Kasım Genç

Kasım Genç

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Watches SaaS pricing pages and reports every change as structured data — so you hear about a competitor's price move from your data pipeline, not from Twitter three weeks later.

  • "Slack raised the Pro plan from $7.25 to $8.75 per user."
  • "A new 'Growth' tier appeared between Pro and Enterprise."
  • "The Free plan's price point disappeared from the page."

120 vendors built in — B2B SaaS (Slack, Notion, GitHub, Figma, Zapier, OpenAI, Anthropic, Shopify, Jira...) and consumer/streaming subscriptions (Disney+, Hulu, Spotify, Apple TV+, Apple One, Plex...) across 27 categories, each verified to expose prices in server-rendered HTML. You can also point it at any pricing page with a custom URL.

Who uses this

  • Product marketing & competitive intelligence — automated competitor price monitoring.
  • SaaS founders — track your market segment's pricing moves and packaging experiments.
  • Procurement & finance — get warned before your vendors' renewals get more expensive.
  • Analysts & content teams — pricing-change feeds make great market coverage.

How it works

Each run fetches the pricing pages, extracts structured price points (currency + amount + billing period + per-user flag + plan name from surrounding context), and diffs them against the snapshot from the previous run. Only vendors with actual changes produce records. Schedule it daily or weekly for a continuous feed and wire Apify integrations (Slack, webhooks, email) to the dataset.

  • First run per vendor establishes a baseline (pushed as a baseline record by default).
  • A wholesale currency switch (vendor serving €/£ instead of $ due to visitor location) is detected and reported as currency_or_locale_changed instead of producing dozens of fake price changes. Using US proxies (see input) keeps the currency stable between runs.
  • If a page stops exposing prices in its HTML, the vendor fails loudly and its snapshot is left untouched — no phantom "everything was removed" records.

Input

{
"vendors": [
"slack",
"notion",
"figma",
{ "name": "Acme Corp", "pricingUrl": "https://acme.com/pricing" }
]
}
FieldTypeDescription
vendors *arrayRegistry slugs and/or { name, pricingUrl } objects.
emitBaselineRecordsbooleanPush current price points as baseline on the first run per vendor. Default true.
snapshotStoreNamestringNamed key-value store for snapshots between runs.
maxConcurrencyintegerPages fetched in parallel. Default 5.
proxyConfigurationobjectRecommended: US proxies for currency stability.

Built-in registry (120 vendors)

  • AI: anthropic, elevenlabs, openai
  • Analytics: amplitude, hotjar, mixpanel, posthog
  • Automation: zapier
  • CRM & Sales: attio, close, copper, pipedrive
  • Cloud Hosting: digitalocean, netlify, render, vercel
  • Communication: slack, twilio
  • Communication APIs: ably, getstream, onesignal, pusher
  • Customer Support: front, gorgias, helpscout, intercom, zendesk
  • Data & Analytics: census, confluent, fivetran, rudderstack
  • Databases: cockroachdb, influxdata, mongodb, neo4j, planetscale, supabase
  • Design: figma, framer, webflow
  • DevOps & CI/CD: buildkite, circleci
  • Developer Tools: algolia, bitbucket, github, jfrog, launchdarkly, ngrok, ona, postman, readme, retool
  • Documents: docusign, dropbox-sign, pandadoc
  • E-commerce: bigcommerce, easypost, recharge, shippo, shipstation, shopify
  • Education: coursera, kahoot
  • Email: mailgun, mailjet, postmark, resend, sparkpost
  • File Storage: box, dropbox
  • HR & Finance Ops: gusto, quickbooks, xero
  • Infrastructure: bunny, cloudflare, cloudinary, imgix
  • Marketing: hootsuite, mailchimp, semrush
  • Media & Video: descript, loom, mux
  • Monitoring: bugsnag, honeycomb, newrelic, opsgenie, rollbar, sentry, statuspage
  • Payments & Fintech: coinbase-one, paddle, recurly, square
  • Productivity: airtable, asana, atlassian-jira, basecamp, calendly, clickup, grammarly, linear, miro, monday, notion, smartsheet, trello
  • Security: 1password, bitwarden, duo, knowbe4, snyk, tailscale
  • Streaming & Consumer: apple-one, appletv, disneyplus, hulu, philo, plex, spotify

Output

One dataset record per vendor with changes:

{
"vendor": "Slack",
"slug": "slack",
"category": "Communication",
"pricingUrl": "https://slack.com/pricing",
"changeType": "price_increased",
"priceChanges": [
{
"plan": "Pro",
"period": "month",
"perUser": true,
"currency": "$",
"old": 7.25,
"new": 8.75,
"direction": "increased"
}
],
"pricesAdded": [],
"pricesRemoved": [],
"plansAdded": [],
"plansRemoved": [],
"changes": [
{ "field": "price", "kind": "price_increased", "description": "Pro ($, month, per user): 7.25 -> 8.75" }
],
"currentPricePoints": [ { "plan": "Pro", "currency": "$", "amount": 8.75, "period": "month", "perUser": true } ],
"plansDetected": ["Free", "Pro", "Business"],
"currencies": ["$"],
"detectedAt": "2026-07-10T15:58:13.665Z",
"source": "vendor pricing page (server-rendered HTML)"
}

changeType values

ValueMeaning
baselineFirst run for a vendor — current extracted price points.
price_increased / price_decreasedA plan's price moved (see priceChanges).
price_added / price_removedA price point appeared/disappeared (new tier, killed tier, promo).
plans_changedPlan lineup changed (see plansAdded/plansRemoved).
currency_or_locale_changedPage switched display currency — comparison skipped for this run.
pricing_updatedOther pricing-relevant change.

A run summary (vendors checked, failures, counts per change type) is stored under the OUTPUT key of the default key-value store.

Honesty notes

  • Extraction is heuristic: plan names are inferred from text near each price. On dense pages (usage-based pricing calculators) some points may carry no plan label — they are still tracked and diffed by their price context.
  • Vendors that render prices only client-side (JavaScript) are not in the registry — that's why e.g. Netflix, Max, Peacock and YouTube Premium are absent while Disney+, Hulu and Spotify are included. Custom URLs for such pages will fail loudly rather than report empty prices.
  • Prices shown to different visitors can vary (A/B tests, geo). Consistent US proxies minimize this; treat single-run anomalies as a signal to check the page, not as gospel.