Behind the Build

How I Built Amazon Price Tracker

Steve Vogt · February 2026 · 6 min read

I bought a pair of noise-canceling headphones on Amazon in early 2024. Two weeks later, a friend sent me a link to the same headphones, $60 cheaper. I checked my order. Same listing, same seller. The price had simply dropped, and I had no idea. Amazon does not notify you when something you bought gets cheaper. Why would they?

There are browser extensions that track Amazon prices before you buy. CamelCamelCamel and Keepa are the big ones. But they are designed for pre-purchase decisions: should I buy now or wait? Nobody was tracking post-purchase prices. Once you click "Place your order," the conventional wisdom is that the price is locked and you move on. But prices on Amazon fluctuate constantly, and some sellers do offer price adjustments or easy returns-and-repurchases within the return window.

Gmail Import

The feature that makes this tool different from a generic price watcher is automatic order import. When you connect your Gmail account using an App Password, the tracker scans your inbox for Amazon order confirmation emails and adds those items to the watch list automatically. No manual entry, no pasting URLs. Every Amazon purchase you have made shows up in the dashboard with the price you paid and the current price.

The import runs on first setup and then periodically checks for new order emails. It parses the order confirmation format to extract the product name, ASIN, price paid, and order date. This was the most annoying part of the build because Amazon's email format is not consistent. Different product categories, marketplace sellers, and international orders all have slightly different layouts. The parser handles the common variations, and items it cannot parse get flagged for manual review.

How Price Checking Works

Like the Delta Price Tracker, this runs a headless browser to check prices. I use Playwright to load each product page, wait for the price element to appear, and capture both the new and used/renewed prices. Screenshots are taken at every check so you have a visual record of the price at that moment.

Checks run on a randomized schedule, roughly every 2 to 4 hours during the day. Each product gets its own browser session with delays between requests. The randomization is important because Amazon is aggressive about detecting and blocking automated access. Even with these precautions, some products occasionally return a CAPTCHA or a different price than what a normal browser session would show. The tracker detects these anomalies and retries later rather than logging a false price.

Alert Thresholds

You can set alerts globally or per product. The options are percentage drop, dollar amount drop, or a specific target price. The default is a 10% drop, which catches meaningful price changes without flooding you with $0.50 fluctuations on a $30 item. When an alert fires, the email includes the product name, old price, new price, percentage change, and a direct link to the Amazon listing so you can act on it immediately.

The Recall Scanner

This was a feature I added after reading about a product recall that affected something I owned. The tracker periodically checks the CPSC (Consumer Product Safety Commission) and FDA recall databases against your purchased items. If something you bought shows up in a recall, you get an alert. It matches on product name and manufacturer, so it is not perfect, but it catches the obvious cases. Most people have no idea whether any of their purchases have been recalled unless they happen to see it in the news.

The Local Dashboard

The app runs a small local web server that serves a dashboard at localhost. From there you can see every tracked item, its price history chart, alert settings, screenshots, and recall status. You can also manually add products by pasting an Amazon URL if the Gmail import missed something or if you want to track an item you have not purchased yet.

Why Self-Hosted

Same reason as the Delta Price Tracker. Running headless browsers at scale on a server is expensive and fragile, and centralizing scraping activity from one IP address is a fast way to get blocked. Running locally means your residential IP makes the requests, which looks like normal browsing. Your data stays on your machine. There is no account, no cloud service, and nothing to pay for.

The tradeoff is that the app only checks prices when your computer is on. If you put your laptop to sleep for a week, you miss a week of price checks. For most people this is fine because Amazon's return window is 30 days and meaningful price drops tend to persist for at least a few days.

What I Learned

The biggest surprise was how often prices drop after purchase. Across my own tracked items over about eight months, roughly 30% saw a price decrease of 10% or more within the return window. Some of those were seasonal sales I would have caught anyway, but most were random fluctuations I never would have noticed. The tracker has saved me a few hundred dollars in rebuys and price adjustments, which is more than enough to justify the time I spent building it.

Try Amazon Price Tracker
Free. Self-hosted. Your data stays on your machine.
View on GitHub
More Projects
Finance
BridgeToFI
FIRE planning calculator
Rewards
Churning Hub
Credit card bonus tracker
Travel
Delta Price Tracker
Flight price drop alerts
Education
Spanish Spelling Test
Spelling practice with auto-grading