Downloading iCloud photos

I take a lot of photos and try to be very careful with their management and storage. Everything gets included in Lightroom, and backed up in a variety of ways.

The photos on my and my wife’s iPhone live in the cloud, outside the rest of my archive. This is something that’s always irked me.

Downloading directly from is not the easiest task. Although possible to download using a browser, it does so as multiple files which have to be manually selected. This is fine for a handful of images, but not great when you want to download several years.

I came across a great Python tool that automates this:

It’s installed simply with:

pip install icloudpd

Supply it with appropriate login arguments (it supports 2FA accounts) and it will dutifully download every file from your iCloud account, including Live Photos (which are downloaded as video files).

You can configure it for specific date ranges, making it suitable for automation, and it can use your keychain for storing login details.

It does tend to freeze occasionally, although I suspect this is more an unofficial-iCloud-API kind of fault. Fortunately it figures out what has already downloaded, and you can restart from your last position.

Downloading the last three years worth of photos and videos took several days. This was a combination of size (there’s about 200GB of stuff), and having to restart the process every few hours.



4 responses to “Downloading iCloud photos”

  1. Hi John, I am trying to use iCloudpd tool to download all my icloud photos to my local machine but with no luck. I followed the directions icloudpd github page but I am not able to get it work. Could you make a blog post or give me some directions how to use it?


    1. Sorry, you’ll need to contact the author of the tool. It worked for me when I tried it.


  2. Hi John. Thanks for introducing me to this tool. I ran into the same problem and had a lot of friends with the same issue. Unfortunately, most of us can’t run Python scrips from the command line. So I founded a company a few months ago to build a cloud service to sync photos and videos from many sources to one. We just started coding, so there’s no product to test, but there’s a website describing the product here: I’d be very interested in your opinion on such a product. It’s for the folks for whom Lightroom is too extensive a solution.


    1. Although the python script mostly works, it’s certainly not easy to use and can be flaky. It also leaves you with a big de-duplication job. Pickle Pics sounds like an ideal kind of setup, and any improvement in reliability and ease of use, as well as a reduction in effort, would be a big benefit.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: