Skip to content

Monitor Competitor Prices

Create an automated system that tracks competitor prices across multiple websites and alerts you to changes, helping you stay competitive in the market.

⏱️ Time: 15 minutes 🎯 Difficulty: Intermediate ✅ Result: Automated price monitoring system with alerts

  • Stay Competitive: React quickly to competitor price changes
  • Maximize Profits: Optimize your pricing strategy with real-time data
  • Save Research Time: Automated monitoring instead of manual checking
  • Spot Trends: Identify pricing patterns and market movements
InputOutput
List of competitor URLsPrice comparison report
Your current pricesPrice change alerts
Monitoring scheduleHistorical price data

Example: 10 competitor products → Daily price report + instant alerts

Create a list of competitor products to track:

{
"competitors": [
{
"name": "Competitor A",
"product": "Laptop Pro",
"url": "https://competitor-a.com/laptop-pro",
"your_price": 1299.99
},
{
"name": "Competitor B",
"product": "Laptop Pro",
"url": "https://competitor-b.com/laptop-pro",
"your_price": 1299.99
}
]
}

Set up these nodes in sequence:

  • Lambda Input (competitor URLs)
  • Get All Text From Link (extract page content)
  • Edit Fields (extract and clean prices)
  • Merge (combine all price data)
  • Download as File (save results)
flowchart TD
    A[📋 Competitor List] --> B[🌐 Extract Text]
    B --> C[💰 Extract Prices]
    C --> D[📊 Compare Prices]
    D --> E{Price Changed?}
    E -->|Yes| F[🚨 Send Alert]
    E -->|No| G[📁 Save Data]
    F --> G

    style A fill:#e3f2fd
    style B fill:#e8f5e8
    style C fill:#fff3e0
    style D fill:#f3e5f5
    style F fill:#ffebee

Get All Text From Link Settings:

{
"textFilters": [".navigation", ".footer", ".reviews", ".ads"],
"waitForLoad": true,
"timeout": 20000
}

Edit Fields for Price Extraction:

{
"operations": [
{
"field": "text",
"operation": "extract_regex",
"pattern": "\\$[0-9,]+\\.?[0-9]*",
"output_field": "current_price"
},
{
"field": "current_price",
"operation": "clean_currency",
"output_field": "price_numeric"
}
]
}

✅ You should see: Clean price data for each competitor

Price Analysis Logic:

{
"comparison_rules": [
{
"condition": "competitor_price < your_price * 0.95",
"alert": "Competitor undercut by 5%+",
"action": "immediate_alert"
},
{
"condition": "competitor_price > your_price * 1.1",
"alert": "Opportunity to raise prices",
"action": "weekly_report"
}
]
}

Scheduling Options:

  • Hourly: For fast-moving markets
  • Daily: For standard monitoring
  • Weekly: For stable markets

Business: Electronics retailer Monitoring: 25 laptop models across 5 competitors Frequency: Twice daily Result: 15% increase in competitive positioning

Alert Example:

🚨 Price Alert: Competitor A dropped MacBook Pro to $1,199 (was $1,299) Your price: $1,289 | Recommended action: Consider price adjustment

{
"price_history": {
"product_id": "laptop-pro",
"dates": ["2024-01-01", "2024-01-02"],
"prices": [1299.99, 1249.99],
"trend": "decreasing"
}
}
  • Track same product across multiple retailers
  • Identify lowest market price
  • Monitor price spread and positioning
  • Immediate: SMS/email for significant changes
  • Daily: Summary report of all changes
  • Weekly: Trend analysis and recommendations
ProblemSolution
Prices not extractedAdjust regex pattern for site’s price format
Missing competitor dataCheck if site blocks automation, try different approach
False alertsFine-tune price change thresholds
Slow monitoringOptimize extraction filters and timeouts

Expand your competitive intelligence with these guides:

{
"workflow": {
"name": "Competitor Price Monitor",
"schedule": "daily_8am",
"nodes": [
{
"type": "LambdaInput",
"config": {
"competitors": [
{
"name": "Competitor A",
"url": "https://competitor-a.com/product",
"your_price": 299.99
}
]
}
},
{
"type": "GetAllTextFromLink",
"config": {
"textFilters": [".navigation", ".footer", ".ads"],
"waitForLoad": true,
"timeout": 20000
}
},
{
"type": "EditFields",
"config": {
"operations": [{
"field": "text",
"operation": "extract_regex",
"pattern": "\\$[0-9,]+\\.?[0-9]*",
"output_field": "competitor_price"
}]
}
},
{
"type": "DownloadAsFile",
"config": {
"format": "csv",
"filename": "competitor_prices_{{date}}.csv",
"include_timestamp": true
}
}
]
}
}

💡 Pro Tip: Start monitoring 3-5 key competitors, then expand as you refine your workflow and alert thresholds.