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

2

Bookmarked

3

Total users

2

Monthly active users

8 hours ago

Last modified

Categories

Share

Pricing Page Detector

Detects if a website has a dedicated, public pricing page (/pricing, /plans, etc.), strictly extracts real price examples, and identifies strong e-commerce product catalogs.

This Actor is built with a strict "No Hallucination" policy. It relies on precise regex patterns and DOM analysis rather than LLMs, ensuring that the prices it extracts are actually written on the page.


🚀 Features

  • Pricing Page Discovery (Smart Routing): 🚀 MASSIVE ADVANTAGE: You don't need to know the exact pricing URL. Your users don't have the time to manually hunt for the /pricing pages of every single website. Just provide the company's root domain (e.g. wexa.ai), and our crawler will intelligently navigate the site, locate the pricing page (whether it's /plans, /pricing, or hidden in a menu), and extract the prices. Perfect for enriching thousands of rows in Clay where you only have domains!
  • Strict Price Extraction: Extracts formatting-aware price examples (e.g., $25/month, 99 EUR/year, ١٢٩ ر.س). It will never invent a price.
  • "Contact Sales" Awareness: Correctly identifies enterprise pages that say "Contact us for pricing" without showing actual numbers, returning no_prices_need_contact: true so your sales team knows they are dealing with an Enterprise/Custom pricing prospect.
  • Bulletproof Free Tier Detection: Uses ARIA and semantic data attributes to reliably detect Free Trials or Free Forever plans without relying on brittle text matching (has_free_tier: true).
  • Monthly/Annual Toggle Intelligence: Behaviorally detects and clicks on monthly/annual pricing switches to guarantee all price variations are extracted (has_monthly_annual_toggle: true).
  • E-commerce Catalog Detection: Differentiates between a SaaS pricing page and a dense e-commerce catalog. If a site has many products with prices (like Nike or Amazon), it flags has_prices_strong: true.
  • Fast Early Exit: Stops crawling immediately once a pricing page and valid prices are confirmed, saving compute time and costs.

📥 Input Schema

FieldTypeDefaultDescription
urlStringRequiredThe URL or domain to analyze (e.g., https://wexa.ai)
maxPagesInteger3Maximum number of pages to crawl
timeoutSecondsInteger30Maximum execution time per page in seconds

Example Input:

{
"url": "https://wexa.ai",
"maxPages": 3,
"timeoutSeconds": 30
}

📤 Output Schema

The Actor pushes a single JSON object to the Apify Dataset per run.

FieldTypeDescription
domainStringThe root domain of the analyzed website
has_pricing_pageBooleantrue if a dedicated pricing page was visited
pricing_urlStringThe accurate URL of the pricing page (if found)
no_prices_need_contactBooleantrue if the pricing page only says "Contact Sales/Enterprise" without real prices
has_free_tierBooleantrue if a free plan was securely detected
has_monthly_annual_toggleBooleantrue if a monthly/annual switch was interacted with
price_examplesArrayUp to 5 strictly extracted examples of prices found on the page
has_prices_strongBooleantrue if an e-commerce catalog with many varied prices was detected (even without a dedicated /pricing page)
scraping_statusObjectMetadata regarding execution time, errors, and bot blocks

Example Output (SaaS Company):

{
"domain": "wexa.ai",
"has_pricing_page": true,
"pricing_url": "https://wexa.ai/pricing",
"no_prices_need_contact": false,
"has_free_tier": true,
"has_monthly_annual_toggle": true,
"price_examples": [
"$29/month",
"$99/month"
],
"has_prices_strong": false,
"scraping_status": {
"phase_completed": "browser_scan",
"blocked": false,
"pages_visited": 2,
"time_elapsed_ms": 6500,
"early_stopped": true
}
}

💡 Interpreting the Results

  • has_pricing_page: true AND price_examples > 0: Perfect for identifying standard SaaS, agencies, or subscription boxes. Your SDRs can pitch against their listed prices.
  • no_prices_need_contact: true: Extremely valuable for Clay enrichment! The site has a Pricing/Plans section, but it's an Enterprise B2B SaaS that requires a sales call for a quote. Your sales team can immediately adapt their messaging.
  • has_pricing_page: false AND has_prices_strong: true: Typical for E-commerce stores (Shopify, WooCommerce). They don't have a single /pricing page, but their product pages are filled with prices.

Use alongside the Checkout Detector Actor for deep Clay/CRM enrichment to fully understand a business's revenue model!