SaaS Pricing Scraper
Pricing
$0.01 / 1,000 results
Go to Apify Store
SaaS Pricing Scraper
Extract structured pricing data from any SaaS website. Get tiers, features, billing options as clean JSON. AI-powered.
Multi-source SaaS pricing intelligence. Extract pricing tiers, features, and competitor data from any SaaS product in seconds.
⚡ Quick Start
{"query": "Notion","useLLM": true,"llmProvider": "openai","openaiApiKey": "sk-..."}
Or with a direct URL:
{"url": "https://www.notion.so/pricing","useLLM": true,"llmProvider": "anthropic","claudeApiKey": "sk-ant-..."}
🔄 How It Works
- Discovery → Find pricing page via search or direct URL
- Scrape → Playwright captures page, clicks billing toggles automatically
- Extract → LLM or DOM selectors parse pricing tiers
- Enrich → Calculate confidence score, detect pricing model
🚀 Key Features
- Universal Scraping: Works on most SaaS pricing pages (Notion, Slack, HubSpot, Vercel, etc.)
- Smart Interactions: Auto-detects and clicks "Annual/Monthly" toggles to capture discount pricing
- LLM Extraction: Uses GPT-5.2 or Claude 4.5 Sonnet for accurate parsing of complex pricing tables
- BYOK: Bring your own OpenAI or Anthropic API key
- Structured Output: Clean JSON with tiers, features, billing options, pricing model detection
💰 Pricing
Free to use. You only pay:
- Apify platform costs (~$0.01-0.05 per run)
- Your own LLM API costs if enabled (~$0.01-0.03 per run)
🎯 Use Cases
- Founders: Benchmark pricing against competitors before launch
- Sales Teams: Get competitor pricing during deal negotiations
- VCs & Analysts: Track SaaS pricing trends across sectors
- Procurement: Verify you're getting the best deal
⚙️ Input Parameters
| Field | Type | Required | Description |
|---|---|---|---|
query | string | Yes* | Product name (e.g., "Notion", "Slack") |
url | string | Yes* | Direct pricing page URL |
useLLM | boolean | No | Enable AI extraction. Default: true |
llmProvider | string | No | openai or anthropic |
llmModel | string | No | Override model. Defaults: gpt-5.2, claude-4-5-sonnet-latest |
openaiApiKey | string | No | Your OpenAI key |
claudeApiKey | string | No | Your Anthropic key |
*Either query or url required
📊 Output Example
{"product": {"name": "Notion","website": "https://www.notion.so/pricing"},"pricing": {"model": "seat-based","has_free_tier": true,"currency": "USD","billing_options": ["monthly", "annual"],"tiers": [{"name": "Free","price_monthly": 0,"price_annual": 0,"price_unit": "per member","features": ["Collaborative workspace", "Basic page analytics"]},{"name": "Plus","price_monthly": 10,"price_annual": 8,"price_unit": "per member","features": ["Unlimited blocks", "Unlimited file uploads", "30-day page history"]},{"name": "Business","price_monthly": 18,"price_annual": 15,"price_unit": "per member","features": ["SAML SSO", "Advanced analytics", "90-day page history"]}]},"metadata": {"extraction_status": "success","extraction_method": "llm-openai","confidence_score": 0.95,"tiers_found": 4}}
📈 Confidence Scores
| Score | Meaning |
|---|---|
| 0.9+ | High confidence, LLM validated |
| 0.7-0.9 | Good, DOM extraction worked |
| 0.3-0.7 | Partial data, some tiers may be missing |
| <0.3 | Low confidence, enable LLM for better results |
⚠️ Limitations
- Enterprise pricing (Salesforce, SAP, Oracle) often requires login
- Usage-based pricing shows estimates only
- Some sites block automated browsers
- Results cached 24 hours to reduce costs
- No LLM fallback returns empty tiers if selectors fail
🔗 API Integration
Run programmatically via Apify API:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('datahq/saas-pricing-radar').call({query: 'Notion',useLLM: true,llmProvider: 'openai',openaiApiKey: process.env.OPENAI_API_KEY});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
📬 Feedback
Found a bug or have a feature request? Use the Issues tab or leave a review.
