An advanced AI-powered price monitoring and alert system that tracks product prices and availability from e-commerce websites, detects significant changes, and instantly sends alerts via SMS/WhatsApp. Built with ScrapeGraph AI, CrewAI, Nebius AI, Twilio, and Streamlit.
- Automated Price Tracking: Real-time monitoring of product prices & stock availability
- Intelligent Web Scraping: ScrapeGraph AI extracts product data from dynamic web pages
- Smart Workflow Automation: CrewAI coordinates fetching, analysis, and alerting tasks
- AI-Powered Change Detection: Nebius AI identifies significant price or availability changes
- Instant Notifications: Twilio sends SMS/WhatsApp alerts
- Scheduled Monitoring: APScheduler runs checks at user-defined intervals
- Data Persistence: Product data stored in JSON for historical comparison
- User-Friendly Dashboard: Streamlit interface to add and manage products
- Python: Core programming language
- Streamlit: Interactive web dashboard
- ScrapeGraph AI: Intelligent web scraping
- CrewAI: Agent-based workflow automation
- Nebius AI: AI-based data analysis
- Twilio API: SMS/WhatsApp notification service
- APScheduler: Scheduled task automation
- JSON: Lightweight database for product data
- Python 3.9+
- uv package manager (used instead of pip)
- ScrapeGraph Account
- A Twilio account with a phone number that can send SMS/WhatsApp messages
- Nebius Account & API keys
Create an api.env file in the project root with the following variables:
TWILIO_ACCOUNT_SID="your_twilio_account_sid"
TWILIO_AUTH_TOKEN="your_twilio_auth_token"
TWILIO_PHONE_NUMBER="your_twilio_phone_number"
TWILIO_WHATSAPP_NUMBER="your_twilio_whatsapp_number"
NEBIUS_API_KEY="your_nebius_api_key"
SCRAPHGRAPH_API_KEY="your_scrapegraph_api_key"
CLIENT_WHATSAPP_NO="your_phone_number"
CLIENT_PHONE_NO="your_whatsapp_number"Note: The numbers you add for CLIENT_WHATSAPP_NO and CLIENT_PHONE_NO must be active and registered with Twilio to receive notifications.
-
Clone the repository:
git clone https://github.com/Arindam200/awesome-ai-apps.git cd advance_ai_agents/price_monitoring_agent -
Install dependencies using uv:
uv sync
-
Activate the virtual environment:
- On macOS/Linux:
source .venv/bin/activate - On Windows:
.venv\Scripts\activate
- On macOS/Linux:
-
Run the Streamlit Dashboard:
streamlit run app.py
-
Run the Background Scheduler:
uv pip run scheduler.py
- Product Tracking: Add product URLs via the Streamlit UI
- Scraping: ScrapeGraph AI extracts product title, price, and stock status
- Change Detection: Nebius AI analyzes new data and compares with previous data
- Alerting: Twilio sends SMS/WhatsApp notifications if significant changes are detected
- Automation: APScheduler runs checks automatically at fixed intervals
price-monitoring-agent/
βββ agents/
β βββ crewai_agents.py
β βββ decision_logic.py
βββ assets/
β βββ nebius.png
βββ notifier/
β βββ email_notifier.py
βββ tools/
β βββ custom_tools.py
βββ .venv/
βββ api.env
βββ app.py
βββ product_data.json
βββ requirements.txt
βββ scheduler.py
βββ tracked_urls.json
Contributions are welcome! Please submit a pull request or open an issue to discuss changes.
This project is licensed under the MIT License - see the LICENSE file for details.

