SaaS Pricing Page Scraper: Plans, Prices & Features
Pricing
$10.00 / 1,000 pricing page parseds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
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
planrows: 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
pagerows: 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
| Field | What it does |
|---|---|
startUrls | Public pricing pages, one per row: https://basecamp.com/pricing |
maxFeaturesPerPlan | Keep this many bullet points per plan (0 to skip features). |
maxPages | Safety cap on URLs processed. |
proxyConfiguration | Optional. 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_foundpage 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 ApifyClientitems = 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.