
iCloud Photos Downloader
Command-line tool that downloads your iCloud photos to your own computer or NAS.
- Stars
- 12.4k
- Forks
- 861
- Licence
- MIT
- Language
- Python
- Last update
- 5 days ago
- Type
- CLI
What it is
icloudpd is a command-line program that copies your photos and videos from iCloud to a folder you choose. It can run once or keep checking iCloud for new items at a set interval. People use it to keep a local backup of their iCloud Photos library on a laptop, desktop, or NAS.
- Download all iCloud photos to a local folder with one command
- Keep a folder in sync with iCloud on a schedule using --watch-with-interval
- Run --auth-only to create and verify an iCloud session, including two-factor checks
- Set EXIF date metadata on downloaded photos with --set-exif-datetime
Great for
- People who want a local copy of their iCloud Photos library
- Users comfortable running commands in a terminal
- Owners of a NAS or home server who want photos synced automatically
- People who want Live Photos and RAW files kept as separate files
Not ideal for
- People who are uncomfortable with terminal tools; the README assumes command-line use
- Users who cannot change iCloud account settings, since Advanced Data Protection must be disabled and web access enabled
- Anyone needing a supported, funded product: the README says the project is volunteer-run and currently looking for a maintainer
How to get it
- 1
Install with a package manager
You'll need: Python (version not stated in the README excerpt; PyPI install is documented)
Install from PyPI (documented in README as an option; exact command not shown in excerpt)
git clone https://github.com/icloud-photos-downloader/icloud_photos_downloader - 2
Run it
- Configure the iCloud account: enable Access iCloud Data on the Web and disable Advanced Data Protection on your iPhone or iPad
- Install icloudpd using one of the methods in the README (executable, package manager, or source)
- Run icloudpd --auth-only --username your@email to create and authorize a session
- Run icloudpd --directory /data --username your@email --watch-with-interval 3600 to start syncing
- 3
Get the most out of it
- Run icloudpd --help to see the full list of options
- Use --watch-with-interval to keep the folder updated automatically
- Use --until-found or --recent to speed up incremental runs
- Read EXPERIMENTAL.md if you want to try features before they reach the main package
Downloads
Strengths
- Open source under the MIT license, with 12,352 stars on GitHub
- Works on Linux, Windows, and macOS, and is available through Docker, PyPI, AUR, and npm
- Supports Live Photos and RAW images, including RAW+JPEG
Trade-offs
- The README says the project is looking for a maintainer, so long-term upkeep is uncertain
- Requires iCloud account settings to be changed (Access iCloud Data on the Web on, Advanced Data Protection off), which weakens some Apple security defaults
- The move mode deletes photos in iCloud, so mistakes can have real consequences
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.