Development of a Bot for Monitoring Competitor Stock Levels
Imagine your competitor runs out of a popular product, and you don't know it. While you keep your price steady, their customers come to you—or you lose margin if you could have raised the price. We solve this with a parser that monitors 3–5 competitors in real time. In 5–7 business days, you get a system that tracks each product's status and automatically reacts to changes.
Our experience spans over 5 years in parser and e-commerce solution development. We guarantee stable bot operation: it withstands layout changes on competitor sites thanks to a multi-tier data extraction strategy.
Instead of manually browsing hundreds of pages every hour, the bot processes up to 10,000 products in 5 minutes—100 times faster than manual monitoring. You receive real-time analytics and can configure automatic pricing reactions. We use web scraping for data collection, allowing us to handle even complex websites.
Determining Product Availability: 4 Strategies
We apply 4 strategies in descending priority:
-
Microdata — parse
itemprop="availability"andscript[type="application/ld+json"]; - Custom CSS selectors — defined in config per competitor;
- Buy button — disabled state of "Buy" or "Add to cart" button;
- Text analysis — search for phrases like "out of stock", "sold out" across the page.
This approach correctly handles 95% of cases. Compare: manual monitoring takes hours daily, the bot does it in seconds.
What Data We Track
| Parameter | Description | Example |
|---|---|---|
| Status | In stock / out of stock / on order / unknown | in_stock |
| Quantity | Number of units if displayed | 3 pcs |
| Appearance date | When the product returned to stock | March 10 |
| History | All status changes with timestamps | 12.03 14:05: out → in |
Data is saved to competitor_stock_history table—you can build analytics: which competitor faces shortages most often, for which product.
What Happens on Status Change
The bot emits a CompetitorStockChanged event. Our handler HandleCompetitorStockChanged does three things:
- if a competitor runs out → notify the manager about a possible price rise;
- if a competitor restocks → notify the procurement team;
- if ALL competitors are out → automatically apply a scarcity multiplier to the price (if configured).
Example: you set a multiplier of 1.2. As soon as all competitors sell out, your price rises by 20%. When someone restocks, the price returns to baseline.
Comparison of Monitoring Methods
| Criteria | Manual Monitoring | Bot Parser |
|---|---|---|
| Time for 1000 products | ~5 hours | 5 minutes |
| Update frequency | Once per day | Every hour |
| Errors | Human factor | Automatic verification |
| Monthly cost | ~$1800 (employee salary) | From $120 (hosting + budget) |
Code Example: Extracting Quantity
public function extractQuantity(string $html): ?int { $crawler = new Crawler($html); $patterns = [ '/осталось\s+(\d+)\s*(шт|штук|ед)/ui', '/в\s+наличии[:\s]+(\d+)/ui', '/(\d+)\s*(шт|штук)\.?\s+в\s+наличии/ui', ]; $text = $crawler->text(); foreach ($patterns as $pattern) { if (preg_match($pattern, $text, $m)) { return (int) $m[1]; } } return null; } The full bot code includes StockStatusExtractor (status determination), CompetitorStock (model with history), and HandleCompetitorStockChanged (reactions). We use Laravel 11, PHP 8.3, PostgreSQL.
Work Process
- Analysis — define list of competitors and products to monitor.
- Parser development — configure selectors, test on real pages.
- Integration — connect events to your CRM/ERP, set up notifications.
- Deployment — host on server, configure schedule.
- Documentation — describe logic, configs, API methods.
- Training — instructions for managers on using reports.
We provide a 30-day guarantee on stable bot operation after delivery.
Timeline and Cost
Development for 3–5 competitors takes 5–7 business days. The cost is determined after analyzing your requirements—contact us for a free assessment. Savings on manual labor can reach significant amounts monthly.
"The bot works 24/7 and never takes a vacation—it's like an extra employee on the team."
Why Order a Parser from Us?
- Experience — over 50 completed projects in parsing and automation.
- Scalability — supports 20+ competitors simultaneously without hiccups.
- Support — we respond within 2 hours during business hours.
- Transparency — we provide full source code and documentation.
Order bot development and start profiting from competitor shortages. Contact us for a consultation—we'll explain how the bot fits your infrastructure.







