Pricing Detector avatar

Pricing Detector

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Pricing Detector

Pricing Detector

Detect SaaS Pricing Pages & Extract Prices without LLM

Pricing

from $10.00 / 1,000 results

Rating

5.0

(1)

Developer

Etan gentil

Etan gentil

Maintained by Community

Actor 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

FieldTypeRequiredDefaultDescription
urlStringYesWebsite URL or domain to analyze (e.g. https://notion.so)
llmApiKeyStringYesAPI key for the LLM provider you selected
llmProviderStringNogroqgroq, google, anthropic, or openai
maxPagesIntegerNo5Max pages to crawl (1–10)
timeoutSecondsIntegerNo45Max 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?

ProviderModel UsedSpeedCostBest For
Groqllama-3.3-70b-versatileVery fastFree tier availableHigh-volume enrichment
GoogleGemini 2.0 FlashFastVery cheapScale at low cost
AnthropicClaude Haiku 4.5FastLowBest accuracy
OpenAIGPT-4o-miniFastLowGood 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

FieldTypeDescription
domainStringRoot domain analyzed
has_pricing_pageBooleanWhether a pricing page was found
pricing_urlsString[]All discovered pricing URLs
has_free_tierBooleanAt least one free plan detected
need_contact_for_priceBooleanAt least one plan requires contacting sales
has_monthly_annual_toggleBooleanMonthly/annual billing toggle detected
plansArray or nullExtracted plans (null if no pricing page or LLM fails)
confidenceNumberGlobal confidence score (0.0 – 1.0)
scraping_statusObjectCrawl metadata: phase, pages visited, timing, errors

Plan Fields

FieldTypeValues
nameStringPlan name as displayed on the page
price_textStringExact price text as shown (e.g. "$29/mo")
price_valueNumber or nullNumeric price value
currencyString or nullISO currency code (USD, EUR, GBP…)
intervalStringmonth · year · one_time · none · unknown
price_typeStringfree · fixed · starting_from · contact_sales · custom · unknown
cta_textString or nullButton/CTA text for this plan
featuresString[]Features listed under this plan
confidenceNumberPer-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: true and has_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: true to 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 plans array? The site's pricing page may be behind a login wall or heavily bot-protected. Try increasing timeoutSeconds to 90.
  • 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 within maxPages.
  • Groq is free: Get a free API key at console.groq.com — no credit card required. Ideal for high-volume Clay workflows.