Pricing Detector
Pricing
from $10.00 / 1,000 results
Go to Apify Store
Pricing
from $10.00 / 1,000 results
Rating
5.0
(1)
Developer
Etan gentil
Maintained by CommunityActor stats
3
Bookmarked
4
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Pricing Radar — SaaS Pricing Page Detector & Extractor
Automatically detects pricing pages on any website and extracts structured plan data (name, price, features, billing interval) using an LLM of your choice. Built for sales intelligence workflows and CRM enrichment at scale.
Just give it a domain — it finds the pricing page, crawls it, and returns clean JSON.
Features
- Automatic Pricing Page Discovery: You don't need to know the pricing URL. Provide any root domain (e.g.
notion.so) and the actor navigates the site, finds the pricing page via sitemap, URL hints, and browser crawl — automatically. - Structured Plan Extraction (LLM-powered): Extracts plan names, prices, billing intervals, features lists, and CTA text into clean, normalized JSON. No regex guessing.
- 4 LLM Providers Supported: Use your own API key with Groq (free tier, fast), Google Gemini, Anthropic Claude, or OpenAI GPT-4o-mini. You control the cost.
- Free Tier & Toggle Detection: Detects whether a free plan exists, whether pricing requires contacting sales, and whether a monthly/annual billing toggle is present.
- Anti-Bot Evasion: Uses Playwright with stealth fingerprinting to handle bot-protected sites.
- Confidence Scoring: Every plan and every run includes a confidence score so you can filter low-quality results in your workflows.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | String | Yes | — | Website URL or domain to analyze (e.g. https://notion.so) |
llmApiKey | String | Yes | — | API key for the LLM provider you selected |
llmProvider | String | No | groq | groq, google, anthropic, or openai |
maxPages | Integer | No | 5 | Max pages to crawl (1–10) |
timeoutSeconds | Integer | No | 45 | Max execution time in seconds (10–120) |
Example Input (Groq — free & fast)
{"url": "https://notion.so","llmProvider": "groq","llmApiKey": "gsk_your_groq_key_here"}
Example Input (Anthropic Claude Haiku)
{"url": "https://linear.app","llmProvider": "anthropic","llmApiKey": "sk-ant-your_key_here"}
Which LLM Provider to Choose?
| Provider | Model Used | Speed | Cost | Best For |
|---|---|---|---|---|
| Groq | llama-3.3-70b-versatile | Very fast | Free tier available | High-volume enrichment |
| Gemini 2.0 Flash | Fast | Very cheap | Scale at low cost | |
| Anthropic | Claude Haiku 4.5 | Fast | Low | Best accuracy |
| OpenAI | GPT-4o-mini | Fast | Low | Good accuracy |
Output
{"domain": "notion.so","has_pricing_page": true,"pricing_urls": ["https://www.notion.so/pricing"],"has_free_tier": true,"need_contact_for_price": false,"has_monthly_annual_toggle": true,"plans": [{"name": "Free","price_text": "$0","price_value": 0,"currency": "USD","interval": "none","price_type": "free","cta_text": "Get started","features": ["Unlimited pages", "1 week version history", "5 MB file uploads"],"confidence": 0.95},{"name": "Plus","price_text": "$10","price_value": 10,"currency": "USD","interval": "month","price_type": "fixed","cta_text": "Try free for 30 days","features": ["Unlimited blocks", "Unlimited file uploads", "30 day version history"],"confidence": 0.93}],"confidence": 0.91,"scraping_status": {"phase_completed": "browser_scan","pages_visited": 2,"time_elapsed_ms": 7800,"error": null,"blocked": false}}
Output Fields
| Field | Type | Description |
|---|---|---|
domain | String | Root domain analyzed |
has_pricing_page | Boolean | Whether a pricing page was found |
pricing_urls | String[] | All discovered pricing URLs |
has_free_tier | Boolean | At least one free plan detected |
need_contact_for_price | Boolean | At least one plan requires contacting sales |
has_monthly_annual_toggle | Boolean | Monthly/annual billing toggle detected |
plans | Array or null | Extracted plans (null if no pricing page or LLM fails) |
confidence | Number | Global confidence score (0.0 – 1.0) |
scraping_status | Object | Crawl metadata: phase, pages visited, timing, errors |
Plan Fields
| Field | Type | Values |
|---|---|---|
name | String | Plan name as displayed on the page |
price_text | String | Exact price text as shown (e.g. "$29/mo") |
price_value | Number or null | Numeric price value |
currency | String or null | ISO currency code (USD, EUR, GBP…) |
interval | String | month · year · one_time · none · unknown |
price_type | String | free · fixed · starting_from · contact_sales · custom · unknown |
cta_text | String or null | Button/CTA text for this plan |
features | String[] | Features listed under this plan |
confidence | Number | Per-plan confidence score (0.0 – 1.0) |
Use Cases (Clay / CRM Enrichment)
Map the output directly to your Clay tables:
- Lead scoring: Prioritize prospects where
has_pricing_page: trueandhas_free_tier: false(they monetize directly). - Sales personalization: Reference specific plan names and price points in your outreach copy.
- Market research: Track whether competitors have added/removed free tiers or changed pricing models.
- ICP filtering: Filter by
need_contact_for_price: trueto identify enterprise-only companies. - Competitive intelligence: Run on a list of 1,000 domains and get structured pricing data in minutes.
Combine with the Checkout Detector actor to get a complete picture of a company's monetization strategy: does it sell online? what's the pricing model?
Tips
- Empty
plansarray? The site's pricing page may be behind a login wall or heavily bot-protected. Try increasingtimeoutSecondsto90. has_pricing_page: false? The site may use non-standard URLs. The actor checks sitemaps and common paths — if the pricing page is deeply nested, it may not be found withinmaxPages.- Groq is free: Get a free API key at console.groq.com — no credit card required. Ideal for high-volume Clay workflows.