Amazon Price Tracker

:shopping_cart: Amazon Price Tracker — because waiting for a price drop shouldn’t mean checking manually every day

New marketplaces added:
- 🇨🇦 amazon.ca (CAD)
- 🇯🇵 amazon.co.jp (JPY)
- 🇦🇺 amazon.com.au (AUD)

13 Amazon marketplaces now supported.

I built this integration after getting tired of opening browser tabs to check if a GPU or a RAM kit had finally dropped to a reasonable price. I wanted Home Assistant to do it for me — and to tell me only when it actually matters.


The idea is simple: you give it an Amazon ASIN, it becomes a sensor. The sensor’s state is the current price. Home Assistant records it over time, so you get a chart, a history, and a minimum price that persists across restarts — all with the tools you already have.

When the price hits your threshold, you get notified. How you get notified is entirely up to you: mobile push, a light that turns red, a TTS announcement, whatever your setup does best. The integration just exposes the data.

What it tracks:

  • Current price

  • Historical minimum (with date)

  • Stock availability — including the actual text Amazon shows (“Only 2 left”, “Usually ships in 3 days”, etc.)

  • Your personal alert threshold, stored on the sensor so automations can reference it directly

  • 13 Amazon marketplaces: IT, DE, FR, ES, NL, BE, PL, SE, UK, US, CA, JP, AU — each with the correct currency and language

You can also import an entire Amazon Wishlist at once if you have a backlog of things you’re waiting on.


No Amazon account required. No API key. No third-party service getting in the middle. Just HA talking directly to Amazon the same way your browser would.

Polling is intentionally conservative (every ~4 hours with some randomization) — this isn’t meant to be a real-time ticker, it’s meant to catch the moment a deal lands before it disappears.


Installation: HACS (pending official listing — you can add the repo manually in the meantime) or copy the folder directly.

GitHub:


Still early days — happy to hear if something doesn’t parse correctly on a specific product type or marketplace. Feedback and PRs welcome :folded_hands:

6 Likes

Great idea, hopefully they don’t mess with their DOM too much. Does Amazon not have an API?

Feature Request: Add support for .ca (Canada, CAD)

getting tired of opening browser tabs to check

That is what I am doing everyday. Please add support for Japan.

If possible, please also add support for Australia.

Great idea! Amazon does have a Product Advertising API (PA-API) but it requires being an affiliate with sales activity to maintain access — making it unsuitable for personal use. Scraping the product page keeps it accessible to everyone with zero setup.

Canada (amazon.ca, CAD) is noted — adding it is straightforward and will be included in an upcoming release!

2 Likes

Japan (amazon.co.jp, JPY) is on the list! The main thing to handle is the Japanese decimal format and yen formatting (no decimals). Will be included in an upcoming release.

Australia (amazon.com.au, AUD) noted as well! Adding it to the roadmap alongside the other requested marketplaces.

1 Like

Canada, Japan and Australia are now supported in v0.2.0 — just released! :tada:
Update via HACS or grab the release at https://github.com/nuggetz/ha-amazon-price-tracker/releases/tag/v0.2.0

Your country now supported in v0.2.0 — just released! :tada:
Update via HACS

1 Like

Australia is now supported in v0.2.0.
Update via HACS or grab the release at https://github.com/nuggetz/ha-amazon-price-tracker/releases/tag/v0.2.0

1 Like

This is excellent! Thank you.

1 Like

Good idea but CamelCamelCamel.

CamelCamelCamel is great, and if you just need price history in a browser it’s the go-to tool. This integration is for a different use case: if you already run Home Assistant, you get price sensors natively in your dashboard, full history via the HA Recorder, and most importantly …. automations. You can trigger a push notification to your phone, flash a light, or run any HA action the moment a price drops below your threshold, with zero polling delay and no third-party account involved. Everything stays local.

i tried to add product name with asin B0DKT7XMRS in amazon.de (see : Reolink 4K 8MP Wi-Fi 6 PTZ Outdoor Surveillance Camera WiFi and i got error message : Configuration failed, retry: CAPTCHA detected for B0DKT7XMRS !!! thanks

Thanks for the report! The CAPTCHA error happens during the initial setup when Amazon serves a bot-detection page instead of the product page — it’s a known limitation of scraping-based integrations and unfortunately there’s no bulletproof fix.

A few things to try:

  • Wait and retry — CAPTCHAs from Amazon are usually temporary and tied to recent traffic from your IP. Trying again after 30–60 minutes often works.

  • Try at a different time of day — Amazon’s bot detection is more aggressive during peak hours.

  • Check your network — if you’re behind a VPN or a shared IP, Amazon may be more suspicious. Temporarily disabling it can help.

Once the integration is successfully set up, occasional CAPTCHAs during scheduled polls are handled gracefully — the coordinator logs a warning and retries at the next cycle (~4h) without raising an error in the UI.

Proxy support is on the roadmap precisely for cases like this — it would let you route requests through a residential IP to avoid detection entirely.

note: I might add a proxy feature in the future.

Thanks for the quick add. Just installed and added my first asin. Sensor created with decimals. Just wondering if removing decimal is still in the works.

Nevermind. I think I can remove it with the Display Precision.

Exactly right — Display Precision in HA is the cleanest way to handle it per-sensor! For JPY specifically we might add automatic zero-decimal formatting in a future release, but for everything else Display Precision gives you full control without any hardcoded rounding on our end. Glad you're up and running! :tada:

Working great so far, thanks.

Another FR: Make the default Amazon store pull from system settings. Eg. I have CA (Canada) set in my home settings so it would default to Amazon[dot]ca

I had like 3 items where I didn't notice that I was tracking in Italy when I added them :rofl:

NICE.....thank you

1 Like

NICE.....thank you

1 Like