Amazon has unilaterally decided to disable your ability to download any Kindle books you bought from them to your PC for backup or manual upload to a Kindle device in just 3 days time. This was the feature known as “Download and transfer via USB”. If you only read books on official Kindle devices or apps, and trust Amazon to forever allow you to access both your account and all the content you currently own (note: it has history on both fronts) then there’s nothing to worry about.

If you’re as paranoid regarding backups as me, or want to - of course only if it’s legal in your country! - download and de-DRM them so they can be read on a non-Kindle device, then it’s probably a good idea to download, download, download whilst you can - although there may well be residual ways left to do it after the change, depending on what you read.

If you’ve got more than a few books then this is very laborious to do. Luckily I’ve been systematically doing this for my own purchases for a while. However the previous method I used to bulk-download didn’t retrieve any books that were shared with me via the “household” feature, so I didn’t have backups of those.

However this helpful script seems to be working for me - and doesn’t require fiddling around with Python . It’s basically simulating clicking the buttons Amazon provides on its website to do this (for the next 3 days or so) so I can’t imagine it’ll cause any problems with your account, but I suppose, as always, Caveat Emptor.

You need to install Tampermonkey extension in your Chrome browser first (it also worked in the Brave browser for me), then follow the instructions here. Allow at least 10 seconds per book as it deliberately slows itself down to that rate.

The one code modification I made was due to the fact I already had my own books saved. I only therefore wanted to download the ones shared with me by members of my household. For me, when managing my Amazon content they appeared at a URL in this kind of format:

https://www.amazon.co.uk/aa/aaaa/digital-console/contentlist/booksBorrows/dateDsc?pageNumber=1

So I added a line 11 to the script reading:

// [@match](https://micro.blog/match) https://www.amazon.co.uk/*/*/digital-console/contentlist/booksBorrows/*

Then I navigated to that page, in question, hit refresh, and so far so good. 40 down, a number too embarrassing to reveal to go.

You won’t need to make that change if you simply want all your books. I also temporarily disabled the web browser feature to always ask where to save a file, because I didn’t want to have to click OK for every single book.