"How much do they charge?"

That's almost always the first question when you're building a SaaS product. And the answer is almost always: "Let me check their pricing page... let me screenshot... let me paste it into a doc..."

Manual competitor research is slow. I've been there. You open five tabs, screenshot each pricing table, paste into a spreadsheet, manually format columns, then try to remember which plan had which feature. It takes 30 minutes for one competitor. Scale that to five competitors and you've lost an afternoon.

There's a better way.

Smart Page Analyzer: What It Does

Smart Page Analyzer is an Apify Actor designed to extract structured intelligence from any web page. It uses a browser-based crawler (Playwright) to render the page, then applies AI-powered extraction to produce structured JSON output.

It supports multiple analysis modes, but three are particularly useful for competitive intelligence:

| Mode | Best For | Output Example |

|------|----------|----------------|

| competitor_intelligence | Full competitive analysis | Positioning, pricing, features, CTAs, sentiment |

| pricing_page | Pricing structure only | Plans, tiers, prices, billing cycles, feature lists |

| geo_audit | AI search visibility | Same as GEO Auditor, but for any page |

Real Example: Analyzing Notion's Pricing Page

Let's walk through a real example. We'll point Smart Page Analyzer at Notion's pricing page.

Step 1: Configure the Actor

In the Apify Console, open Smart Page Analyzer and set:

`

URL: https://www.notion.so/pricing

Mode: competitor_intelligence

Output format: structured_json

`

The competitor_intelligence mode is the most comprehensive — it extracts pricing, positioning, features, call-to-action patterns, and even market positioning signals.

Step 2: Run the Analysis

Click Run. The Actor launches a headless browser, navigates to the pricing page, waits for full render (including JavaScript-loaded content), then runs extraction.

Typical runtime: 30–45 seconds per page. That's the time it takes you to open the tab.

Step 3: Read the Output

Here's a simplified version of what you get back:

`json

{

"url": "https://www.notion.so/pricing",

"analysisMode": "competitor_intelligence",

"extractedAt": "2026-07-14T10:00:00Z",

"positioning": {

"headline": "Choose the plan that works for you",

"subheadline": "Start free. Upgrade when you need more.",

"tagline": "Your connected workspace for wiki, docs & projects",

"targetAudience": ["individuals", "teams", "enterprises"],

"valueProposition": "All-in-one workspace with AI capabilities"

},

"pricingTiers": [

{

"name": "Free",

"price": "$0",

"billingCycle": "monthly",

"description": "For personal use",

"highlighted": false,

"features": [

"7-day page history",

"Collaborate with up to 10 guests",

"Basic integrations"

]

},

{

"name": "Plus",

"price": "$12",

"billingCycle": "monthly",

"description": "For organizing your work",

"highlighted": false,

"features": [

"30-day page history",

"Unlimited guests",

"Custom automations"

]

},

{

"name": "Business",

"price": "$18",

"billingCycle": "monthly",

"description": "For teams to manage projects",

"highlighted": true,

"features": [

"90-day page history",

"Approvals",

"Single sign-on"

]

},

{

"name": "Enterprise",

"price": "Custom",

"billingCycle": "monthly",

"description": "For advanced control",

"highlighted": false,

"features": [

"Unlimited page history",

"Advanced security",

"Dedicated success manager"

]

}

],

"ctaAnalysis": {

"primaryCta": "Start for free",

"secondaryCta": "Talk to sales",

"urgencySignals": ["Free forever", "No credit card required"]

},

"featureComparison": {

"hasFeatureComparisonTable": true,

"dimensions": ["page_history", "guests", "integrations", "automations", "security"]

}

}

`

Step 4: What You Can Learn

Even from this single page, the structured output reveals several strategic insights:

1. Pricing anchoring. The "Business" tier ($18/mo) is highlighted. That's the anchor — Notion wants most teams on this plan. The Free tier is generous enough to get users hooked, but limited enough to push upgrades.

2. Feature bundling strategy. Page history is the primary gating mechanism. Free gets 7 days, Plus gets 30, Business gets 90, Enterprise gets unlimited. This tells you what Notion considers its most valuable scarcity lever.

3. Target audience progression. The tiers clearly map to a user journey: individuals → power users → teams → enterprises. Each tier unlocks the next feature dimension that the previous tier deliberately lacks.

Beyond a Single Page

The real power of Smart Page Analyzer comes when you run it across multiple competitors. Here's a workflow I use:

`python

Pseudocode for batch competitor analysis

competitors = [

"https://notion.so/pricing",

"https://linear.app/pricing",

"https://asana.com/pricing",

"https://monday.com/pricing"

]

results = []

for url in competitors:

# Call Smart Page Analyzer via Apify API

data = apify_client.actor("yizheng/smart-page-analyzer").call(

input={"url": url, "mode": "competitor_intelligence"}

)

results.append(data)

Now you can build a comparison matrix

- Pricing tiers side by side

- Feature gap analysis

- Positioning overlap

- CTA strategy comparison

`

Run this once a week as a scheduled Apify task, and you get a continuous intelligence feed — no manual checking required.

Integration: RAG Pipelines, Battlecards, and Dashboards

Structured JSON output means you can plug Smart Page Analyzer directly into downstream systems:

RAG Pipelines. Feed competitor analysis into a vector database alongside your product docs. When your sales team asks "How does our pricing compare to Notion?", the answer comes from live data, not a stale spreadsheet.

Battlecards. Generate competitive battlecards automatically. Each competitor gets a JSON document with pricing tiers, key features, positioning, and CTAs. Feed it into a template engine and you have printable battlecards.

Dashboards. Pipe the output into a BI tool (Metabase, Grafana, or even Airtable). Track pricing changes over time, feature additions, and positioning shifts.

`

┌──────────────────────────────────────────────┐

│ Competitor Intelligence Dashboard │

├────────────┬──────────┬──────────┬────────────┤

│ │ Notion │ Linear │ Asana │

├────────────┼──────────┼──────────┼────────────┤

│ Base Price │ $12/mo │ $8/mo │ $10.99/mo │

│ Free Tier │ Yes │ Yes │ Yes │

│ Highlight │ Business │ Standard │ Premium │

│ AI Feature │ Yes │ Yes │ Beta │

└────────────┴──────────┴──────────┴────────────┘

`

Pro Tips

1. Use pricing_page mode for speed. If you only need pricing data, select pricing_page mode. It's faster and more focused than the full competitor_intelligence mode.

2. Schedule weekly runs. Create a scheduled Apify task that runs every Monday. You'll get a Slack notification when a competitor changes their pricing — often before their customers notice.

3. Pair with change detection. Run Smart Page Analyzer and compare outputs with JSON.stringify(). Any diff means something changed. Combine with a notification tool for alerts.

Get Started

Manual competitor research is a tax on your time that you don't need to pay. Smart Page Analyzer turns a 30-minute manual task into a 30-second API call.

Run it once, and you'll never go back to screenshotting pricing tables again.

For more tools and workflows, check out blog.fork.work.