"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.