I’ve been on the hunt for a decent used Model 3 and was stunned that most inventory tracking sites or Telegram bots cannot track individual VIN’s price fluctuations. This is pretty surprizing as Tesla’s used inventory pricing is dynamic (price can increase or decrease), and can change daily on some inventory items.
To circumvent this, I decided it would be easiest to create my own application that tracks specific VINs in Tesla’s used (CPO - Certified Pre Owned) inventory. I accomplished this by semi-reverse engineering Tesla’s Inventory API.
What it does
The add-on allows you to configure and track which used models you want (3/Y/S/Cybertruck) and any specific VINs that fall within those categories.
Whenever there is a price change, the add-on will send you a push notification with the model, VIN, and price change via Home Assistant. If you tap on the notification, it’s configured to send you directly to the vehicle on Tesla’s website (not an affiliate link).
Configuring the add-on
You’ll need to know a couple things before you can enable it. Luckily this is really easy and all you need to do is find a vehicle you’re interested in tracking on Tesla’s website.
Let’s say you found a vehicle in their used inventory. Now copy the link to that vehicle out of your browser’s window. It should look something like this:
https://www.tesla.com/en_CA/m3/order/5YJ3E1ECXNF253729
This URL breaks down into the following format:
https://www.tesla.com/{LANGUAGE}_{REGION}/{MODEL}/order/{VIN}
Looking back at our original URL, let’s decode it:
https://www.tesla.com/en_CA/m3/order/5YJ3E1ECXNF253729
en
is the Language; EnglishCA
is the Region and Market; Canadam3
is the Model; Model 35YJ3E1ECXNF253729
is the vehicle’s VIN- Note, if a
?
comes after the VIN (for example.../m3/order/5YJ3E1ECXNF253729?postalCode=90210&coord=....
) you can safely remove everything that comes after the?
including the?
Note - if your URL doesn’t have a language or region, that likely means you’re based in the USA. You can substitute the following values in that case:
- Language:
en
- Region:
US
- Market:
US
Now that you’ve got the Language, Region, Market, Model, and a VIN, you can stick those into the add-on’s configuration.
Lastly add which devices you want to send a notification to; this typically follows a common naming convention like: mobile_app_{YOUR-DEVICE}
.
Click Save and away you go!