Monitor Competitor Pricing
Stay ahead of your competition by automatically tracking their pricing changes. This guide shows you how to monitor competitor websites for price updates, product launches, and promotional changes.
Prerequisites
- Supacrawler API key
- Competitor website URLs to monitor
- Email or webhook endpoint for price alerts
Quick example
Monitor a competitor's pricing page for changes:
curl -X POST https://api.supacrawler.com/api/v1/watch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://competitor.com/pricing",
"frequency": "daily",
"selector": ".price, .pricing-plan, .cost",
"notify_email": "[email protected]",
"notification_preference": "changes_only"
}'
Multi-competitor monitoring
Track pricing across multiple competitors:
import requests
import os
competitors = [
{
"name": "Competitor A",
"pricing_url": "https://competitor-a.com/pricing",
"selector": ".price-amount, .plan-price"
},
{
"name": "Competitor B",
"pricing_url": "https://competitor-b.com/plans",
"selector": ".pricing-card .price, .monthly-price"
},
{
"name": "Competitor C",
"pricing_url": "https://competitor-c.com/subscribe",
"selector": ".subscription-price, .plan-cost"
}
]
api_key = os.environ['SUPACRAWLER_API_KEY']
for competitor in competitors:
response = requests.post("https://api.supacrawler.com/api/v1/watch",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
},
json={
"url": competitor["pricing_url"],
"frequency": "daily",
"selector": competitor["selector"],
"notify_email": f"pricing-{competitor['name'].lower().replace(' ', '-')}@company.com",
"notification_preference": "changes_only",
# Webhook for analysis
"webhook_url": "https://company.com/api/competitor-pricing",
"webhook_headers": {
"X-Competitor": competitor["name"],
"X-Alert-Type": "pricing-change"
},
# Full context capture
"include_image": True,
"include_html": True
}
)
result = response.json()
if result.get('success'):
print(f"✅ {competitor['name']}: {result['watch_id']}")
else:
print(f"❌ {competitor['name']}: {result.get('error')}")
CSS selectors for pricing pages
- Name
Price amounts- Type
- .price, .price-amount, .cost
- Description
Common price display elements
- Name
Pricing plans- Type
- .pricing-plan, .plan-card, .subscription
- Description
Plan containers with pricing information
- Name
Monthly/yearly- Type
- .monthly-price, .annual-price, .billing
- Description
Billing period specific prices
- Name
Features- Type
- .feature-list, .plan-features, .included
- Description
Feature lists that might change with pricing
Best practices
- Daily monitoring: Most suitable for B2B SaaS pricing
- Screenshot evidence: Always capture visual proof of changes
- Feature tracking: Monitor features alongside pricing changes
- Historical analysis: Store data for trend analysis
- Competitive response: Set up alerts for immediate pricing adjustments
Related resources
- Watch API Reference - Complete API documentation
- Business Intelligence Examples - More monitoring examples
