SaaS Pricing Page Scraper: Plans, Prices & Features avatar

SaaS Pricing Page Scraper: Plans, Prices & Features

Pricing

$10.00 / 1,000 pricing page parseds

Go to Apify Store
SaaS Pricing Page Scraper: Plans, Prices & Features

SaaS Pricing Page Scraper: Plans, Prices & Features

Paste SaaS pricing page URLs and get each plan as a row: plan name, price, currency, billing period, per-seat unit, free/custom flags, trial, CTA and feature list. Compare competitors' plan matrices in minutes. By Physea Labs · Liminal. Launch Sale: 90% OFF for the first week!

Pricing

$10.00 / 1,000 pricing page parseds

Rating

0.0

(0)

Developer

jay casey

jay casey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Launch Sale: 90% OFF for the first week! Every event below is billed at 10% of list price during launch week.

Turn any SaaS pricing page into a clean plan matrix. One row per plan with price, billing period, per-seat unit, free and "contact sales" flags, trial, call to action and the feature bullets, plus one summary row per page.

Quick start

Press Start. The sample parses Basecamp's and Harvest's public pricing pages in a few seconds. Paste your competitors' pricing URLs and schedule it weekly to catch price moves.

What you get

  • plan rows: plan name, position, price, currency, billing_period (month/year/one_time/free), price_unit (user, seat, member...)
  • is_free, is_custom_pricing (contact sales), billed_annually_note, free_trial
  • The plan's CTA text and up to 100 feature bullets
  • page rows: plan names, cheapest paid price, highest listed price, free/custom plan flags and any offers declared in JSON-LD

Good for

  • Competitive pricing analysis across a category in one spreadsheet
  • Tracking when competitors change prices, packaging or free tiers
  • Sales and positioning: what each tier includes, side by side
  • Market maps and investor research on SaaS monetisation

Pricing

  • $0.01 per pricing page with plans (every plan on the page included)
  • Pages where no plans are found are free
  • Launch Sale: 90% OFF for the first week!

You pay only for results that come back. Set a max cost per run in the run options and the run stops cleanly when it hits it. Normal Apify platform usage applies. No API keys or logins needed.

Input

FieldWhat it does
startUrlsPublic pricing pages, one per row: https://basecamp.com/pricing
maxFeaturesPerPlanKeep this many bullet points per plan (0 to skip features).
maxPagesSafety cap on URLs processed.
proxyConfigurationOptional. Leave off for small runs. Turn on Apify Proxy if a site rate-limits or blocks you.

Output

Rows go to the default dataset (see the Plans view). A RUN_SUMMARY.json record in the key-value store has totals, what was charged and any proxy notes.

Limits

  • Heuristic parser for server-rendered pages: it reads plan headings, the first price after each and the bullet list under it. Unusual layouts can merge or miss a tier; check price_text.
  • Pages that render prices only with JavaScript return a no_plans_found page row (free).
  • Monthly vs annual toggles: we report the price shown by default and flag billed_annually_note.

Run it from code

Same input as the Console sample:

{
"startUrls": [
{
"url": "https://basecamp.com/pricing"
},
{
"url": "https://www.getharvest.com/pricing"
}
]
}
curl -X POST "https://api.apify.com/v2/acts/physealabs~saas-pricing-page-parser/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d @input.json
from apify_client import ApifyClient
items = ApifyClient("YOUR_APIFY_TOKEN").actor("physealabs/saas-pricing-page-parser").call(run_input={"startUrls": [{"url": "https://basecamp.com/pricing"}, {"url": "https://www.getharvest.com/pricing"}]})

It also works from Zapier, Make, n8n and Apify schedules.


Built by Physea Labs · Liminal, the team behind Liminal's grounded research and decision tools. Same no-nonsense extraction we use in-house, now on the Apify Store. Questions or a field you need? Open an issue on the actor page.