B2B Pricing Extractor — SaaS Plans & Tiers (AI)
Pricing
from $44.00 / 1,000 pricing extracteds
B2B Pricing Extractor — SaaS Plans & Tiers (AI)
Turn any SaaS pricing page into structured plans, prices, features, trials and add-ons — plus AI-detected pricing tactics. Competitive pricing intelligence for product, sales and strategy teams.
Pricing
from $44.00 / 1,000 pricing extracteds
Rating
0.0
(0)
Developer
Fredrik Hansson
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Every competitor's pricing page, turned into a spreadsheet. A pricing page is marketing: toggles, decoy tiers, "contact us" buttons and fine print designed to be read by humans, not parsed. This Actor visits any SaaS pricing page, reads it with OpenAI, and hands back structured plans — names, monthly and annual prices, features, usage limits, free tiers, trials, paid add-ons — plus the pricing tactics it detects (per-seat, usage-based, annual discount, decoy/anchor tier, enterprise custom).
You bring a list of competitors. It hands back competitive pricing intelligence.

🔗 Chain it after your scraper
Already building competitor or company lists with Google Maps Scraper (compass/crawler-google-places), LinkedIn Company Details Scraper (harvestapi/linkedin-company) or Shopify Store Leads Scraper (clearpath/shopify-store-leads)? Pipe the dataset straight in — paste its dataset ID (via the Integrations tab); it finds each company's pricing page automatically and returns structured plans, prices and tactics. Works with any Maps, LinkedIn or company scraper's output.
Quick start
- Fill in the input — set the fields in the input tab (prefilled with a working example).
- Click Start — the Actor runs and writes one record per item to the dataset.
- Get your data — export to JSON, CSV or Excel, or pull it via the API.
The flow
1. Give a pricing URL or a domain 2. Fetch + read the page 3. Get structured pricinghttps://linear.app/pricing → (locate /pricing for a → plans · prices · features ·notion.so bare domain, then AI) trials · add-ons · tactics
- Give full pricing URLs (for example
https://linear.app/pricing) or bare domains (notion.so). For a bare domain the Actor fetches the homepage and finds the pricing link itself (/pricing,/plans,priser,preise), falling back tohttps://<domain>/pricing. - It fetches each page with a resilient HTTP client (got-scraping) that follows redirects and tolerates error statuses, then cleans the HTML down to text with cheerio.
- The AI layer reads that text (OpenAI
gpt-4o-mini, a fast and low-cost model) and returns one structured pricing record per page — grounded strictly in the page,nullwhere the page is silent, every field in English.
What you get per page
For every pricing page, the Actor returns:
currency— the currency / symbol shown on the page (USD,$,EUR, …).billingPeriods— which billing cycles are offered (e.g.["monthly","annual"]).hasFreeTier,hasFreeTrial,trialDays— whether there is a permanently free plan, a free trial, and how long the trial runs.plans— an array of every tier on the page, each with:name("Free", "Pro", "Business", "Enterprise", …)priceMonthly/priceAnnual— parsed into plain numberspriceText— the raw price wording exactly as shownisFree/isCustom—isCustomflags "Contact us" / quote-only / Enterprise tiersfeatures— the headline features listed under the planlimits— usage limits / quotas (seats, projects, API calls, storage …)ctaText— the call-to-action button text
addOns— paid extras sold on top of the plans.positioningSummary— one sentence on how the product is priced and positioned.notableTactics— the pricing strategies the AI can actually see on the page:"per-seat","usage-based","annual discount ~20%","decoy/anchor tier","freemium","enterprise custom","metered overage","feature gating".
Three ways people use it
- Competitive pricing intelligence — point it at a whole list of competitor pricing pages and get a single, comparable table of plans and prices. Monitor competitor pricing by re-running on a schedule and diffing the dataset — catch a price hike or a new Enterprise tier the week it ships.
- Pricing benchmarking for product & strategy teams — before a repricing, pull the real tiers, free-trial lengths and packaging of every player in your category and benchmark your own ladder against them: are you under-charging per seat, missing a usage-based lever, or lacking an anchor tier?
- Sales battlecards — feed the structured plans and detected tactics straight into battlecards so reps know exactly where a competitor's "Business" plan caps out, what it costs annually, and which add-ons quietly inflate the bill.
Input
| Field | Type | Notes |
|---|---|---|
urls | array | Full pricing-page URLs or bare domains. For a bare domain the pricing page is located automatically. One per line. |
maxResults | integer | Cap how many pages to process. Default 100. |
maxConcurrency | integer | Pages processed in parallel. Default 5. |
model | string | Override the OpenAI model. Default gpt-4o-mini. |
Minimal input example
{"urls": ["https://linear.app/pricing","notion.so"]}
Output example
{"url": "https://linear.app/pricing","domain": "linear.app","success": true,"currency": "USD","billingPeriods": ["monthly", "annual"],"hasFreeTier": true,"hasFreeTrial": true,"trialDays": 14,"plans": [{"name": "Free","priceMonthly": 0,"priceAnnual": 0,"priceText": "$0","isFree": true,"isCustom": false,"features": ["Unlimited members", "Linear Insights (basic)", "GitHub & GitLab integrations"],"limits": ["250 issues", "10MB file uploads"],"ctaText": "Get started"},{"name": "Business","priceMonthly": 14,"priceAnnual": 12,"priceText": "$14 per user / month","isFree": false,"isCustom": false,"features": ["Private teams & guests", "Linear Asks", "SAML & SCIM"],"limits": ["Unlimited issues"],"ctaText": "Start free trial"},{"name": "Enterprise","priceMonthly": null,"priceAnnual": null,"priceText": "Contact us","isFree": false,"isCustom": true,"features": ["Advanced security", "Dedicated support", "Custom contracts"],"limits": [],"ctaText": "Request a demo"}],"addOns": [],"positioningSummary": "A per-seat, freemium issue tracker that pushes teams up a three-tier ladder toward a custom Enterprise plan.","notableTactics": ["freemium", "per-seat", "annual discount ~14%", "enterprise custom"]}
A page that is blocked, empty, or has no parseable plans comes back with success: false and an error string (and is not charged).
Pay-per-event pricing
This Actor uses pay-per-event billing with a single event:
| Event | Charged when | Price |
|---|---|---|
pricing-extracted | Once per pricing page turned into structured plans, prices, features and AI-detected pricing tactics. | $0.10 |
The Actor logs its OpenAI token usage and the estimated AI cost per page at the end of every run, so the event price always stays safely above the model cost.
Setup
The AI layer calls the OpenAI API. Set the environment variable / secret OPENAI_API_KEY on the Actor. Without it the run stops immediately — the extraction is the whole product.
Use it from an AI agent (Apify MCP server)
This Actor is available through the Apify MCP server, so AI agents (Claude, ChatGPT, or anything that speaks MCP) can call it as a tool — hand it a list of pricing URLs or domains and read back the structured plans and tactics — with no custom integration code.
Run it locally
npm install# put your input in storage/key_value_stores/default/INPUT.jsonexport OPENAI_API_KEY=sk-... # required — the AI layer is the productapify run -p
Chain it
This Actor is a building block in the fuze B2B suite. Wire it to the next step with no code in the Integrations tab (trigger: Run succeeded → start the next Actor), or run them in sequence.
- ⬇️ Next: B2B Competitor Teardown and DTC Brand Teardown — fold pricing into a full battlecard.
- 🔁 Pair with: B2B Competitor Monitor — watch the pricing page for changes on a schedule.
Related actors
- B2B Competitor Teardown — One domain in, a full competitor teardown out: positioning, messaging, pricing and gaps.
- B2B Tech Stack Detector — Detect the tools, frameworks and SaaS a company runs on, straight from its site.
- B2B Competitor Monitor — Watch competitors over time and get notified when their site, pricing or messaging changes.
- AI Company Enrichment — Turn a list of domains into structured company profiles — firmographics, contacts, socials and ICP fit.