Projects › Everyday tools › Price tracker
Free Amazon price tracker: make your own price-drop alert with AI
Before Black Friday, use the checker below to see if a deal is really a deal, and keep a watch list of what you're waiting to drop. It works in your browser and can't visit shops itself. For that, the guide shows you how to ask AI for a small script that checks prices for you once or twice a day and tells you when one falls.
Shops often compare against a "was" price the item rarely sold at. Add the lowest price you've seen in the last few months to see the real saving. We've filled in an example; type over it.
A price tracker that checks for you
You'll ask a free AI assistant for a small Python script, add the things you want and the price you'd pay, and let your computer check them once or twice a day. When something drops below your target, it tells you.
- A script that checks one or more product pages and reads the current price
- A simple list at the top of the file: each product's name, link and target price
- A desktop notification when a price falls below your target
- An email alert too, if you want one, sent from your own Gmail
- A "back in stock" alert for things that have sold out
- A spreadsheet file of every price it finds, and a chart of the price over time
- A daily schedule, so it runs without you remembering
Good for: anyone waiting for Black Friday or the January sales, people saving up for one big thing, and anyone who'd like to learn what a script can do without a big project.
What you need
Build it in seven steps
Install Python and two add-ons
Follow How to install Python first. Then ask the AI to walk you through the two add-ons the script will use:
Copy this promptI've just installed Python on my [Windows / Mac] computer and I don't know how to code. In very simple steps, tell me how to: - check Python is working - install the "requests" and "beautifulsoup4" add-ons with pip - make a new folder called price-watch in my Documents folder, and open a terminal in that folder Tell me exactly what to type and what I should see if it worked.
Ask for the script
Copy this prompt into your AI assistant:
Copy this promptI don't know how to code. Please write me a Python script called price_watch.py that checks the prices of a few products I want to buy and tells me when one drops below my target price. It's for my own personal use. Requirements: - ONE complete Python file. It can use the "requests" and "beautifulsoup4" add-ons, which I have installed. - At the very top, a simple list I can edit, like this: PRODUCTS = [ {"name": "Air fryer", "url": "PASTE LINK HERE", "target": 80.00}, ] - For each product: download the page once, find the current price, and print it, e.g. "Air fryer: £84.99 (target £80.00)". - Be gentle: use a normal browser user agent, wait 10 to 20 seconds between products, and never retry more than once. - If the price is at or below the target, show a desktop notification on my [Windows / Mac] computer. Use the simplest reliable way for my system. - Add a line to price_history.csv each time (date, time, product name, price), creating the file if it doesn't exist. - If it can't find the price, print "Price not found for [name]" and save the page it got to a file called debug_page.html, so I can show you what it saw. Don't crash; carry on with the next product. Please give me the complete file in one code block, then tell me in simple steps how to save it in my price-watch folder and run it.Copy the code, paste it into your text editor, and save it as price_watch.py in your price-watch folder.
Add your products and target prices
Open price_watch.py and edit the list at the top. Paste each product's link from your browser's address bar, between the quote marks, and set the price you'd happily pay. Keep the commas and brackets exactly as they are. Start with one or two products.
Want to know when something sold out comes back? Ask for a "back in stock" option:
Copy this promptPlease add a "back in stock" option. In my PRODUCTS list, a product can have "alert": "price" (the normal price check) or "alert": "in_stock". For in_stock products, look for words like "Currently unavailable", "Out of stock" or "Sold out" on the page, and notify me when they've gone and an "Add to basket" or "Add to cart" button is there instead. Only notify me once each time it comes back in stock. Send me the complete updated file.
Run it
Open a terminal in your price-watch folder and type python price_watch.py (on a Mac, python3 price_watch.py). You should see each product and its price, and a new price_history.csv file in the folder. To test the alert, set one target a little above today's price and run it again.
If anything looks wrong, paste what you saw straight back into the chat:
Copy this promptI ran price_watch.py and got this: [paste everything the terminal printed] Please explain what it means in plain English. If something needs fixing, send me the complete fixed file.
Schedule it to run every day
Your computer has a built-in way to run things on a timetable: Task Scheduler on Windows, and launchd (or the older cron) on a Mac. You set it up once and forget it. The script only runs while your computer is on, so pick times when it usually is.
Copy this promptI want price_watch.py to run automatically at 9am and 6pm every day on my [Windows / Mac] computer. It's in my Documents/price-watch folder. Please: - give me click-by-click steps (for Windows Task Scheduler) or the complete file and exact commands (for a Mac launchd job), using full file paths - make it run as soon as possible if the computer was off or asleep at the scheduled time - add a few lines to the script so each run writes a short note to run_log.txt, so I can see it worked Send me the complete updated price_watch.py as well.
Twice a day is plenty. Prices rarely change by the hour, and checking more often is the quickest way to get blocked.Add email alerts
A notification only helps if you're at your computer. An email reaches your phone. With Gmail, you'll need an app password: a separate 16-letter password just for this script. Turn on 2-Step Verification in your Google account first, then search your Google account settings for "App passwords".
Copy this promptPlease add email alerts to price_watch.py. When a price is at or below my target (or something is back in stock), send me one email from my Gmail account with the product name, the price, my target and the link. - Use Gmail's SMTP server with an app password. - Keep my email address and app password in a separate file called settings.txt next to the script, not in the script itself. Show me exactly what to put in settings.txt. - Don't email me about the same product more than once a day. - Keep the desktop notification as well. Send me the complete updated file, and simple steps for creating a Gmail app password.
Never paste your real app password into the AI chat. You don't need to. Type it into settings.txt on your own computer. If you ever share the script, leave settings.txt out.Add a price-history chart
Your price_history.csv opens in Excel, Google Sheets or Numbers. A chart makes the pattern easier to see:
Copy this promptPlease write me a second script called price_chart.py. It reads price_history.csv and makes one chart image per product (save them as PNG files in a "charts" folder), showing the price over time as a line, my target price as a dashed line, and the lowest price so far labelled. Use the matplotlib add-on and tell me how to install it. Give me the complete file and simple steps to run it.
Tip: the lowest price from your chart is exactly what to type into the deal checker at the top of this page when Black Friday arrives.
Quick fixes
It says "Price not found"
Shops change their pages often, so this is the most common problem. Open debug_page.html in your browser and look at what the script saw. If it's the product page, use Ctrl+F (Cmd+F on a Mac) to find the price in the file in your text editor, copy a few lines around it, and tell the AI:
price_watch.py says "Price not found for [product name]". Here's the part of debug_page.html around the price: [paste the lines here] Please update how the script finds the price on this shop's page and send me the complete file.
The page is a robot check or captcha
If debug_page.html says something like "Enter the characters you see" or "Are you a robot?", the shop has blocked the check. Don't try to get round it. Wait a day, check less often, and keep to a handful of products. If it keeps happening for one shop, use a free service like CamelCamelCamel or Keepa for that shop instead.
It picks up the wrong price
Some pages show several prices: other sellers, a monthly payment, or the old "was" price. Tell the AI which number you expected and which one it found, and paste the bit of debug_page.html around both.
"python is not recognised" or "command not found"
On a Mac, type python3 instead of python. On Windows, reinstall Python and tick Add python.exe to PATH. Our Install Python guide has pictures.
"No module named requests"
The add-ons aren't installed yet. Type pip install requests beautifulsoup4 (on a Mac, pip3) and run the script again.
The email doesn't arrive
Check it isn't in spam. Gmail needs an app password, not your normal password, and 2-Step Verification has to be on. Paste any error the terminal shows into the chat; leave the password out.
The scheduled run never happens
Check run_log.txt. If it's empty, the computer was probably asleep, or the schedule is using the wrong folder. Paste your schedule settings into the chat and ask the AI to check the file paths.
Twist it into something else
The same idea, a script that checks a page and tells you when something changes, works for lots of things. Change the prompt in step 2 to build:
A concert ticket watcher
checks an event page for "on sale" or returned tickets and emails you straight away
A back-in-stock alert
for the sold-out console, trainers or toy everyone wants in December
A flight price watcher
logs the fare for your dates each day and tells you when it dips
A job listings watcher
checks a careers page and emails you any new job with your keywords in the title
A second-hand bargain finder
looks for new listings under your price for the thing you're after
A rent listings watcher
new flats in your area and budget, with the link, before everyone else sees them
Same rules apply: check gently, for your own use, and respect each site's terms.
It watches what you care about
Price-tracking apps and browser extensions often want an account, a browser add-on that can read every page you visit, or a subscription. Yours works with any shop, keeps your wish list on your own computer, and alerts you the way you want. It's also a gentle first script: once you've built one thing that checks a web page for you, you'll spot lots of other jobs it could do.