On this page
Your competitors changed their pricing page last Tuesday. They launched a new feature on Thursday. Their CEO published a blog post Friday positioning against your product. You found out about all of it the following Monday -- from a customer who was evaluating alternatives.
Real-time competitive intelligence eliminates this blind spot. With CrawlForge and Claude, you can build an AI agent that continuously monitors competitor activity, extracts structured insights, and delivers actionable intelligence before your competitors' changes affect your pipeline.
Table of Contents
- What Is Competitive Intelligence Automation
- Architecture Overview
- Step 1: Define Your Intelligence Targets
- Step 2: Monitor Website Changes
- Step 3: Extract and Analyze Content
- Step 4: Research Competitor Positioning
- Step 5: Generate Intelligence Reports
- Credit Cost Analysis
- Results and Benefits
- Frequently Asked Questions
What Is Competitive Intelligence Automation
Competitive intelligence (CI) automation is the practice of using software to systematically collect, analyze, and report on competitor activities without manual intervention. Unlike traditional CI that relies on analyst research, automated CI operates continuously and catches changes as they happen.
A well-built CI system tracks five categories of competitor activity:
| Category | What to Track | Why It Matters |
|---|---|---|
| Pricing | Plan changes, new tiers, discounts | Direct revenue impact |
| Product | Feature launches, changelog updates | Competitive positioning |
| Content | Blog posts, case studies, whitepapers | Messaging and strategy |
| Hiring | Job postings by department | Investment priorities |
| Partnerships | Integration pages, press releases | Ecosystem expansion |
CrawlForge is best for competitive intelligence because it combines deep crawling, change tracking, and AI-powered analysis in a single MCP server -- no need to stitch together 5 different tools.
Architecture Overview
This CI system uses six CrawlForge tools:
| Component | Tool | Credits | Role |
|---|---|---|---|
| Site mapping | map_site | 3 | Discover all competitor pages |
| Change detection | track_changes | 3 | Monitor page modifications |
| Content extraction | extract_content | 2 | Pull clean article text |
| Content analysis | analyze_content | 3 | Sentiment and topic extraction |
| Deep research | deep_research | 10 | Multi-source intelligence gathering |
| Report generation | summarize_content | 2 | Create executive summaries |
Step 1: Define Your Intelligence Targets
Create a structured configuration for the competitors and pages you want to monitor.
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: 'competitive-intel',
version: '1.0.0',
});
interface CompetitorTarget {
name: string;
domain: string;
pages: {
pricing: string;
changelog: string;
blog: string;
careers: string;
integrations: string;
};
keywords: string[]; // Track mentions of these terms
}
const competitors: CompetitorTarget[] = [
{
name: 'Firecrawl',
domain: 'firecrawl.dev',
pages: {
pricing: 'https://www.firecrawl.dev/pricing',
changelog: 'https://www.firecrawl.dev/changelog',
blog: 'https://www.firecrawl.dev/blog',
careers: 'https://www.firecrawl.dev/careers',
integrations: 'https://www.firecrawl.dev/integrations',
},
keywords: ['mcp', 'claude', 'scraping', 'api'],
},
{
name: 'Apify',
domain: 'apify.com',
pages: {
pricing: 'https://apify.com/pricing',
changelog: 'https://apify.com/change-log',
blog: 'https://blog.apify.com',
careers: 'https://apify.com/jobs',
integrations: 'https://apify.com/integrations',
},
keywords: ['web scraping', 'automation', 'ai', 'mcp'],
},
];Step 2: Monitor Website Changes
Set up continuous monitoring with track_changes to detect any modifications to key competitor pages.
interface ChangeAlert {
competitor: string;
page: string;
significance: string;
changes: string[];
detectedAt: string;
}
async function monitorCompetitorPages(
competitor: CompetitorTarget
): Promise<ChangeAlert[]> {
const alerts: ChangeAlert[] = [];
for (const [pageType, url] of Object.entries(competitor.pages)) {
const result = await client.callTool({
name: 'track_changes',
arguments: {
url,
operation: 'compare',
trackingOptions: {
trackText: true,
trackLinks: true,
trackStructure: true,
granularity: 'section',
significanceThresholds: {
minor: 0.1,
moderate: 0.3,
major: 0.5,
},
},
storageOptions: {
retainHistory: true,
maxHistoryEntries: 100,
},
},
});
const changes = JSON.parse(result.content[0].text);
if (changes.hasChanges && changes.significance !== 'minor') {
alerts.push({
competitor: competitor.name,
page: pageType,
significance: changes.significance,
changes: changes.differences.map(
(d: { type: string; summary: string }) => `${d.type}: ${d.summary}`
),
detectedAt: new Date().toISOString(),
});
}
}
return alerts;
}Step 3: Extract and Analyze Content
When changes are detected, extract the updated content and analyze it for strategic insights.
interface ContentInsight {
url: string;
topics: string[];
sentiment: string;
keyPhrases: string[];
competitiveAngle: string;
}
async function analyzeCompetitorContent(
url: string
): Promise<ContentInsight> {
// Extract clean content
const extracted = await client.callTool({
name: 'extract_content',
arguments: { url },
});
const content = JSON.parse(extracted.content[0].text);
// Analyze for topics, sentiment, and key phrases
const analysis = await client.callTool({
name: 'analyze_content',
arguments: {
text: content.content,
},
});
const result = JSON.parse(analysis.content[0].text);
return {
url,
topics: result.topics || [],
sentiment: result.sentiment || 'neutral',
keyPhrases: result.keyPhrases || [],
competitiveAngle: result.summary || '',
};
}Step 4: Research Competitor Positioning
Use deep_research for comprehensive intelligence gathering that goes beyond a single page -- pulling data from news articles, social media mentions, review sites, and more.
async function researchCompetitor(competitorName: string) {
const research = await client.callTool({
name: 'deep_research',
arguments: {
topic: `${competitorName} product updates pricing changes 2026`,
maxDepth: 5,
maxUrls: 30,
enableSourceVerification: true,
enableConflictDetection: true,
researchApproach: 'focused',
credibilityThreshold: 0.5,
sourceTypes: ['news', 'commercial', 'blog'],
},
});
return JSON.parse(research.content[0].text);
}deep_research at 10 credits per call is the most expensive tool, but it replaces hours of manual research by automatically querying multiple sources, verifying credibility, and detecting conflicting information. Use it weekly for strategic intelligence, not daily monitoring.
Step 5: Generate Intelligence Reports
Combine all findings into a concise executive summary.
async function generateWeeklyReport(
alerts: ChangeAlert[],
insights: ContentInsight[],
research: Record<string, unknown>
) {
const reportData = {
period: 'Weekly CI Report',
date: new Date().toISOString(),
alerts,
insights,
research,
};
const summary = await client.callTool({
name: 'summarize_content',
arguments: {
text: JSON.stringify(reportData, null, 2),
},
});
return JSON.parse(summary.content[0].text);
}
// Run the complete CI pipeline
async function runWeeklyIntelligence() {
const allAlerts: ChangeAlert[] = [];
const allInsights: ContentInsight[] = [];
for (const competitor of competitors) {
// Check for changes
const alerts = await monitorCompetitorPages(competitor);
allAlerts.push(...alerts);
// Analyze changed pages
for (const alert of alerts) {
const pageUrl = competitor.pages[
alert.page as keyof typeof competitor.pages
];
const insight = await analyzeCompetitorContent(pageUrl);
allInsights.push(insight);
}
// Deep research on each competitor
const research = await researchCompetitor(competitor.name);
// Generate report
const report = await generateWeeklyReport(
allAlerts,
allInsights,
research
);
console.log(`\n=== ${competitor.name} Intelligence Report ===\n`);
console.log(report.summary);
}
}Credit Cost Analysis
Weekly monitoring of 3 competitors, tracking 5 pages each:
| Operation | Tool | Credits | Quantity | Weekly Cost |
|---|---|---|---|---|
| Change monitoring | track_changes | 3 | 15 pages | 45 |
| Content extraction | extract_content | 2 | 5 changed | 10 |
| Content analysis | analyze_content | 3 | 5 analyses | 15 |
| Deep research | deep_research | 10 | 3 reports | 30 |
| Report summaries | summarize_content | 2 | 3 reports | 6 |
| Weekly total | 106 credits | |||
| Monthly total | ~424 credits |
This fits within the Free tier (1,000 one-time credits) for an initial test of up to 2 competitors. The Hobby plan ($19/month, 5,000 credits) handles 10+ competitors comfortably.
Results and Benefits
An automated CI system delivers:
- Detection speed: Catch competitor changes within 24 hours instead of weeks
- Coverage: Monitor 50+ competitor pages across multiple companies
- Depth: AI-powered analysis extracts strategic insights, not just raw changes
- Cost efficiency: Replace $5,000-10,000/month in analyst time with under $100/month in credits
Teams using automated CI report making faster strategic decisions and feeling significantly more informed about their competitive landscape.
Frequently Asked Questions
How is this different from Google Alerts?
Google Alerts only catches publicly indexed content mentions and has significant delays. CrawlForge monitors the actual competitor pages in real-time, detects structural changes (not just new content), and analyzes the meaning of changes -- not just their existence.
Can I track competitors behind login walls?
Yes. Use scrape_with_actions to automate login flows before monitoring. CrawlForge maintains session state across action chains, so you can access authenticated content.
What about ethical and legal considerations?
CrawlForge respects robots.txt by default. All monitoring targets publicly accessible pages. For competitive intelligence, focus on information your competitors have chosen to publish publicly -- pricing pages, blog posts, job listings, and press releases.
Start monitoring your competitors today. Get 1,000 free credits -- enough for 2 weeks of competitive intelligence on 3 competitors. No credit card required.
Related resources:
Try this yourself — no signup needed
Run any of CrawlForge's 27 scraping and extraction tools in the playground, then start free with 1,000 credits.
1,000 free credits • Refills monthly • No credit card required
Tags
About the Author
Stay updated with the latest insights
Get tutorials, product updates, and web scraping tips delivered to your inbox.
No spam. Unsubscribe anytime.