Skip to content

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
Step-by-step guide: how to use iCloud Photos DownloaderInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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.