JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY
HYDERABAD
UNIVERSITY COLLEGE OF ENGINEERING , SCIENCE &
TECHNOLOGY
INDUSTRIAL ORIENTED MINI PROJECT
AMAZON PRICE TRACKER
Submitted by
22011A0505-KANDULA PARDHASARADHI
22011A0512-ARRURI MADHU
22011A0521-HARVINDER REDDY VEDIRE
22011A0537-AKHIL BHUMA
1
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CERTIFICATE
This is to certify that the project work entitled “Amazon Price Tracker” is being submitted by:
22011A0505 - Kandula Pardhasaradhi 22011A0512 - Arruri Madhu 22011A0521 - Harvinder Reddy
Vedire 22011A0537 - Akhil Bhuma in partial fulfilment of the requirement for the award of the
degree of Bachelor of Technology in Computer Science and Engineering during the academic year
2024–2025.
Professor and Head, CSE Project Supervisor
(DR.K P SUPREETHI) (DR. M NAGARATNA)
Professor of CSE Dept
2
ABSTRACT
Amazon Price Tracker is a web application built to help users monitor and track product prices
on the Amazon e-commerce platform in real-time. The platform allows users to input an Amazon
product URL, and it then fetches and displays key details such as product title, image, current
price, and description. Users can also set a price threshold, upon which they will receive an email
alert if the product's price drops below their specified limit. This proactive price monitoring helps
users make smarter purchasing decisions by taking advantage of price drops and deals.
Key features include user-friendly URL input, real-time data scraping using BeautifulSoup,
responsive design for visual presentation, email notification integration, and automatic scheduled
checks for price changes. The project empowers online shoppers to save money and stay informed
without constantly checking the site manually.
Amazon Price Tracker is particularly beneficial in high-volume shopping seasons, limited-time
deals, or daily price fluctuations. It enhances e-commerce experience by introducing price
transparency and decision-making efficiency.
3
ACKNOWLEDGEMENT
We extend our heartfelt gratitude to our project supervisor, Dr. M. Nagaratna, for her continuous
guidance and valuable feedback throughout the development of the Amazon Price Tracker
project. Her knowledge and encouragement played a pivotal role in shaping this work.
We would also like to express appreciation to all our team members for their consistent dedication
and teamwork. Each member played a crucial role, contributing significantly to frontend design,
backend scripting, email integration, and testing.
Lastly, we appreciate the efforts and cooperation of all our team members, whose collaboration
and dedication made this project a success.
4
INDEX
CHAPTER 1: INTRODUCTION
1.1 Project Overview 8
1.2 Problem Statement 9
1.3 Solution Overview 9
CHAPTER 2: EXISTING SYSTEM
2.1 Manual Price Monitoring 10
2.2 Amazon Wishlist and Notifications 10
2.3 Third-Party Tools and Extensions 10
CHAPTER 3: PROPOSED METHOD & IMPLEMENTATION
3.1 Website Structure 11
3.2 Home Page Design 11
3.3 Product URL Input 12
3.4 Product Details Page 12
3.5 Email Alert System 13
CHAPTER 4: SOFTWARE REQUIREMENT SPECIFICATIONS
4.1 Frontend Technologies 14
4.2 Backend Technologies 14
4.3 Database 15
CHAPTER 5: SYSTEM DESIGN
5.1 UML Class Diagram 16
5.2 Entity Relationship (ER) Diagram 17
CHAPTER 6: USER INSTRUCTIONS AND TESTING
6.1 Implementation Details 19
6.2 Code Structure 20
6.3 Key Features 21
6.4 User Guide 21
6.5 Testing and Debugging 22
5
CHAPTER 7: USER INTERACTION RESULTS
7.1 Product URL Input and System Response 23
7.2 Screenshot: Product Details Page 23
7.3 Screenshot: Email Alert Notification 24
7.4 Recieved Email 25
CHAPTER 8: CONCLUSION
8.1 Conclusion 26
8.2 Future Enhancements 26
6
7
CHAPTER 1: INTRODUCTION
1.1 Project Overview
The Amazon Price Tracker project is designed to simplify and enhance the online shopping
experience by enabling users to monitor the price fluctuations of products listed on Amazon. The
primary goal of this tool is to notify users via email when a product's price falls below a user-
defined threshold. By automating the price tracking process, the tool helps users save money and
make informed purchasing decisions.
This web-based platform allows users to enter any Amazon product URL, extract relevant product
details in real-time, and continuously check for price changes using scheduled tasks. Upon
detecting a price drop that meets the user’s target price, the system sends an immediate email
alert to the user.
Objectives and Goals
• Enable Smart Shopping: Help users purchase products at the most affordable time by
tracking price variations.
• Automate Price Checks: Remove the need for users to manually revisit product pages.
• Provide Real-Time Alerts: Ensure users are notified instantly when prices meet their
expectations.
• Improve User Experience: Offer a seamless, user-friendly interface for tracking prices
without needing technical expertise.
Target Audience and Stakeholders
• Online Shoppers: Individuals seeking to purchase products at optimal prices.
• Budget-Conscious Buyers: Users looking for deals, discounts, and price drops.
• Tech Enthusiasts: Individuals interested in automation and real-time data scraping
applications.
1.2 Problem Statement
8
In today’s dynamic e-commerce environment, product prices on platforms like Amazon fluctuate
frequently due to promotions, demand shifts, and algorithmic pricing. Shoppers are often unaware
of these changes or miss limited-time offers. Manually monitoring prices is time-consuming and
unreliable.
Many users face the frustration of purchasing items only to see the price drop shortly afterward.
There is a clear need for a solution that continuously tracks prices and informs users when the
product reaches their budget.
Failing to address this need leads to financial inefficiencies for consumers and missed
opportunities to save money during sales events or discounts.
1.3. Solution Overview
The Amazon Price Tracker solves this challenge by providing a smart, automated system that
tracks prices and notifies users in real-time. It leverages web scraping to gather current product
data from Amazon product pages and uses email notifications to inform users when their desired
price is met.
Users simply provide the product URL and a target price. The system fetches the current price,
stores the user’s email and price limit, and schedules periodic checks to identify changes. If a
price drop occurs that matches the user’s criteria, a notification is triggered via email.
Key Features:
• Real-Time Product Scraping: Extracts product name, current price, image, and description
from Amazon.
• Email Notifications: Alerts the user instantly when the price meets the specified limit.
• Responsive Design: Ensures usability across desktops, tablets, and mobile devices.
• Manual Test Tool: Users can test the price and prediction manually via an input form.
• No Login Required: Quick access without user registration.
9
CHAPTER 2: EXISTING SYSTEM
2.1 Manual Price Monitoring
In the traditional e-commerce environment, users who wished to purchase products at
discounted rates had no choice but to manually monitor product prices on platforms like
Amazon. This typically involved bookmarking product pages or frequently checking their
wishlists for any price changes. However, this method was highly time-consuming, inconsistent,
and not scalable for users who wanted to track multiple items. Moreover, manual monitoring
was prone to human error and often resulted in missed deals. Many users reported purchasing a
product only to discover later that the price had dropped soon after, causing frustration and
dissatisfaction.
2.2 Amazon Wishlist and Notifications
Amazon does provide a basic notification system for items added to a user's wishlist. While
somewhat helpful, these notifications have significant limitations. They are not customizable,
meaning users cannot set a specific target price to trigger alerts. Additionally, such alerts are
often delayed or unreliable, and there is no guarantee that the user will be notified promptly.
These notifications only work for items that are explicitly added to a wishlist and require that
notifications be enabled in the user's account settings.
2.3 Third-Party Tools and Extensions
Various third-party browser extensions and tools—such as Keepa, Honey, and
CamelCamelCamel—offer historical price charts and alert services. While useful to some extent,
they come with their own set of limitations. Most of these tools require users to create accounts
and log in to access alert functionalities. They often do not support price alerts based on a user-
defined target price, especially for regional Amazon domains like Amazon.in. Some of their
advanced features are locked behind paid subscriptions, and their updates can be slower due to
server-side caching. Furthermore, the user interfaces of these tools can be complex and not
very user-friendly, especially for non-technical users.
10
CHAPTER 3: PROPOSED METHOD & IMPLEMENTATION
3.1. Website Structure
The Amazon Price Tracker website is structured to offer an intuitive and efficient user
experience. It consists of a clean layout with a form-based input system for product URLs, a
dynamic display page for fetched product details, and a background system for price checking
and email alert delivery.
Main Components:
• Home Page: Input form for Amazon product URL and desired price limit.
• Product Details Page: Displays product title, image, current price, description, and status
of tracking.
• Email Alert Module: Automatically checks the product's price and sends alert emails.
• Manual Check Tool: Allows users to verify real-time price of the same or different product
manually.
3.2. Home Page Design
The home page serves as the entry point for users to initiate price tracking. It features a simple
and minimalistic design focusing on user input and call-to-action.
Features:
• URL Input Box: Accepts valid Amazon product URLs.
• Price Threshold Input: Allows users to set their target price.
• Track Now Button: Starts the tracking process and redirects to product preview.
• Responsive Design: Works smoothly on desktop and mobile devices.
The design ensures that even non-technical users can easily start tracking a product without
needing registration or account setup.
11
3.3. Product URL Input
After accessing the homepage, users provide:
1. Amazon Product URL: Copied directly from Amazon.
2. Price Limit: Desired price below which user wants to be notified.
3. Email ID: Where alerts will be sent.
Once submitted, the backend uses BeautifulSoup to scrape the product's:
• Title
• Current Price
• Image URL
• Product Description (if available)
This real-time data is shown to the user for confirmation before activating background tracking.
3.4. Product Details Page
This page displays all the scraped data and confirms whether the current price is already lower
than the user’s set price limit.
Information Displayed:
• Product Title: Highlighted at the top.
• Product Image: Fetched directly from the product’s Amazon page.
• Current Price: Fetched in real-time using BeautifulSoup.
• Target Price: Entered by the user.
• Alert Status: Indicates if an email has already been sent.
Features:
• Manual Price Refresh Button: Let users recheck the current price manually.
• Tracking Confirmation: Displays a success message once tracking is activated.
12
• Visual Feedback: Color-coded indicators for price match status (e.g., green if current price
≤ limit).
3.5 Email Alert System
This is the core automation component of the project. Once a user has entered their product URL
and price threshold:
• The product is added to a background job queue (can use schedule, cron, or threading in
Flask).
• Periodically (e.g., every 6 hours), the system checks the product’s price from Amazon
again.
• If the price has dropped below or equals the user’s set limit, an email alert is sent
immediately using SMTP protocol.
Email Features:
• Subject: “Price Drop Alert: Your Amazon Product is Now ₹XXX!”
• Body: Contains the product title, image, current price, product link, and a message
indicating it's time to buy.
• No Duplicate Alerts: Once an alert is sent, tracking is paused to avoid repeated emails.
13
CHAPTER 4: SOFTWARE REQUIREMENT SPECIFICATIONS
4.1. Frontend Technologies
The frontend of the Amazon Price Tracker is designed to be clean, interactive, and responsive.
It is built using standard web development technologies to ensure cross-browser compatibility and
ease of use.
Technologies Used:
• HTML5
o Structure: Defines the layout and structure of the webpages.
o Form Elements: Used for user input like URL, email, and price limit.
• CSS3
o Styling: Provides consistent and modern styling for a professional UI.
o Responsive Design: Media queries ensure usability on mobile and tablet screens.
• JavaScript
o User Interaction: Handles form validation and dynamic button states.
o AJAX (Optional): Can be used for real-time updates or manual price refreshes
without reloading the page.
4.2. Backend Technologies
The backend handles core functionality, including web scraping, email sending, and scheduled
background tasks. It is built using Flask, a lightweight Python web framework, to keep the
structure modular and scalable.
Key Technologies:
• Python 3.x
o Language for backend logic, web scraping, and email automation.
• Flask
o Framework used to serve webpages, handle form submissions, and route user
requests.
• BeautifulSoup (bs4)
o Library used for parsing and extracting product data from Amazon HTML content.
14
• Requests
o Used to send HTTP requests to fetch Amazon product pages.
• smtplib / email.message
o Python libraries used for composing and sending email alerts via SMTP.
• Schedule / Threading / Cron (Linux)
o Manages periodic price checks in the background.
4.3. Database
The base version of the Amazon Price Tracker can work without a database by running lightweight
scripts. However, for improved user management and persistent logging, an optional database
system like SQLite or MySQL can be used.
Example Schema:
Table: TrackedProducts
Field Type Description
id INT (Auto) Unique ID
product_url VARCHAR Amazon product link
target_price FLOAT User’s desired price
user_email VARCHAR Email for alerts
alert_sent BOOLEAN Whether the alert has been sent
last_checked DATETIME Timestamp of last price check
Note: In simpler versions, this can be maintained in-memory or via a text/CSV file.
15
CHAPTER 5: SYSTEM DESIGN
5.1 UML Class Diagram
The UML Class Diagram provides a high-level view of the object-oriented structure of the Amazon
Price Tracker system. It identifies the major classes involved, their attributes, methods, and the
relationships between them.
Key classes in the system include:
• UserInput: Captures Amazon URL, target price, and email ID.
• Product: Represents the Amazon product, containing attributes like title, price, image
URL, and description.
• Scraper: Contains methods to extract product details using BeautifulSoup.
• Tracker: Responsible for managing periodic checks and validating if the price condition is
met.
• EmailAlert: Sends an email notification when the price drops below the user-defined limit.
The relationships between these classes are designed to ensure modularity, ease of debugging,
and separation of concerns across the system.
16
UML Class Diagram
5.2 Entity Relationship (ER) Diagram
The ER Diagram defines the database design (optional for this project) used to store and manage
product tracking data. Though the basic version operates without persistent storage, an ER model
helps extend the application for multi-user support and product history.
17
Entities and Relationships:
• User (email, user_id) → tracks multiple → TrackedProduct
• TrackedProduct (product_id, URL, title, current_price, target_price, alert_sent)
• PriceLog (log_id, product_id, timestamp, logged_price) → helps maintain price history
The relationships illustrate how each user can track multiple products, and each product can
maintain historical price logs for trend analysis.
ER-DIAGRAM
18
CHAPTER 6: USER INSTRUCTIONS AND TESTING
6.1. Implementation Details
This section outlines the step-by-step guide to set up, run, and test the Amazon Price Tracker
project on a local development environment.
Prerequisites
• Python 3.x
• Flask
• BeautifulSoup4
• Requests
• smtplib (for email notifications)
• Any SMTP Email Account (e.g., Gmail)
Step-by-Step Guide
1. Clone the Repository
bash
CopyEdit
git clone https://github.com/your-username/amazon-price-tracker.git
cd amazon-price-tracker
2. Set Up Virtual Environment
bash
CopyEdit
python -m venv venv
source venv/bin/activate # For Linux/Mac
venv\Scripts\activate # For Windows
3. Install Dependencies
bash
CopyEdit
pip install -r requirements.txt
19
4. Configure Email Settings
Edit the Python script (email_alert.py or main.py) to add your SMTP credentials:
python
CopyEdit
EMAIL = "your_email@gmail.com"
PASSWORD = "your_password_or_app_key"
5. Run the Web Server
bash
CopyEdit
python app.py
Access the site at http://127.0.0.1:5000
6. Start Background Scheduler (Optional)
Use a script or cron job to schedule periodic checks or integrate background threading within
Flask.
6.2. Code Structure
The project follows a modular architecture, separating UI, scraping, and alerting logic.
Directory Overview
csharp
CopyEdit
amazon-price-tracker/
│
├── static/ # CSS and image files
├── templates/ # HTML templates
│ ├── index.html
│ └── result.html
│
├── app.py # Flask main app
20
├── scraper.py # BeautifulSoup scraping logic
├── email_alert.py # Email notification script
├── tracker.py # Periodic check scheduler
├── requirements.txt # Dependencies
└── README.md
Key Files
• app.py: Main entry for Flask application.
• scraper.py: Extracts product data from the provided Amazon URL.
• email_alert.py: Sends an email when price is below threshold.
• result.html: Displays fetched product info and tracking status.
6.3. Key Features
1. Amazon Product Scraper
o Extracts live product data: name, image, price, about section.
2. Price Limit Alert System
o Sends email to user when price ≤ desired value.
3. Clean UI and User Inputs
o Accepts Amazon link, price, and email from user on homepage.
4. Dynamic Product View
o Displays fetched product info on result page in a responsive layout.
5. Email Integration with SMTP
o Secure and instant email delivery using Gmail/Yahoo SMTP.
6. Manual and Automated Modes
o User can check price manually or wait for background scan.
6.4.User Guide
How to Use:
1. Open Home Page
Navigate to the homepage (http://localhost:5000) in any browser.
2. Enter Details
o Paste the Amazon Product URL
21
o Set a Price Limit (e.g., ₹999)
o Enter your Email Address
3. Track Product
o Click "Track Now"
o The app fetches product details and displays them on the next screen.
4. Email Notification
o If the current price is below the threshold, you'll get an alert instantly.
o Otherwise, you’ll get notified when it drops later.
5. Re-check Price
o Use the "Refresh" button on the result page to check again manually.
6.5. Testing and Debugging
Testing Procedures
1. Unit Testing
o Validate functions for scraping and email formatting.
2. Manual Testing
o Use sample product URLs to test form submission and alerts.
3. Scheduler Test
o Simulate periodic price drop by adjusting HTML locally.
4. Cross-Browser Testing
o Test site on Chrome, Firefox, Edge, and Safari.
5. Email Delivery Test
o Check delivery to Gmail, Outlook, Yahoo to avoid spam folder.
22
CHAPTER 7: USER INTERACTION RESULTS
7.1 Product URL Input and System Response
Users start by entering the Amazon product URL, desired price limit, and their email address
into the form on the homepage. Upon submission, the system uses BeautifulSoup to scrape the
live product data from Amazon and responds instantly with the relevant product information.
7.2 Screenshot: Product Details Page
After submission, a result page is displayed showing the product title, current price, image,
user-defined target price, and tracking status. This page confirms whether the alert condition is
already met or if background tracking is active.
23
7.3 Screenshot: Email Alert Notification
If the current price is equal to or below the entered target price, the system sends an
automated email to the user. This email includes the product name, current price, image, and a
direct link to the Amazon product page.
7.4 Received Email
During testing, the system consistently provided accurate and real-time price updates. When the
current product price dropped below the user's specified limit, an email was automatically sent
to the registered email address. The email included the product name, current price, product
24
image, and a direct link to the Amazon page. The alerts were delivered promptly without any
duplication, ensuring users were notified at the right time. The manual refresh option also
functioned properly, and scraping remained stable across multiple product categories
25
CHAPTER 8: CONCLUSION
8.1.Conclusion
The Amazon Price Tracker project offers a practical and impactful solution to a common issue
faced by online shoppers: tracking price fluctuations on Amazon. By leveraging real-time web
scraping, user-defined alerts, and automated background monitoring, this tool enables users to
make informed and cost-effective purchasing decisions.
Prior to such a solution, users had to manually revisit product pages multiple times a day, often
missing discounts or temporary price drops. The Amazon Price Tracker automates this entire
process, providing a user-friendly interface for price input, instant price fetching, and timely
email notifications.
Technologies like Flask, BeautifulSoup, and SMTP integration have been effectively utilized to
build a lightweight yet robust application. The responsive frontend ensures that users across
various devices can access the system without any hurdles. Moreover, the system's design supports
both manual interaction and automatic background execution, making it flexible for different
user needs.
Overall, this project not only showcases a technical understanding of web scraping and backend
automation but also provides a highly useful tool for the everyday consumer.
8.2.Future Enhancements
As technology and user needs evolve, the Amazon Price Tracker has great potential for further
improvement and feature expansion. The following are proposed enhancements for future
versions:
1. Mobile App Integration
o Develop dedicated apps for Android and iOS to allow users to track prices on the go.
o Include push notifications for instant alerts.
2. User Authentication and Dashboard
o Allow users to register and log in to view all tracked products in one place.
o Enable multiple product tracking per user.
26
3. Price History Graphs
o Show users visual insights by storing and displaying historical price trends.
4. Multi-Product Comparison
o Compare prices of the same product across different Amazon sellers or similar
platforms (Flipkart, Snapdeal).
5. Browser Extension
o Build a Chrome/Edge extension to allow users to track products directly from
Amazon pages without visiting the tracker site.
6. Advanced Scheduler
o Move from simple interval-based checking to AI-optimized check timing based on
user behavior or product trends.
7. Telegram/WhatsApp Bot Integration
o Send instant alerts via chat platforms in addition to email.
8. Currency Conversion
o Auto-convert prices for users tracking products across international Amazon domains
(like .com, .in, .uk).
9. Product Availability Alerts
o Notify users when an out-of-stock product becomes available again.
10. Multilingual Support
o Add interface and notification support for major Indian and global languages.
27