VOOZH about

URL: https://apify.com/nec/photos-to-drive-backup

⇱ Download Google Photos Album to Google Drive Automatically Β· Apify


Pricing

from $30.00 / 1,000 results

Go to Apify Store

Google Photos to Drive Backup

Download photos from public or shared Google Photos album links and upload them directly to your Google Drive. Automatically transfer images in bulk with no manual saving required.

Pricing

from $30.00 / 1,000 results

Rating

0.0

(0)

Developer

πŸ‘ NEC

NEC

Maintained by Community

Actor stats

2

Bookmarked

3

Total users

2

Monthly active users

17 days ago

Last modified

Share

Back up photos from any public Google Photos share link directly to your Google Drive with automatic folder organization, metadata preservation, and robust error handling.

πŸ“Έ What does Google Photos to Drive Backup do?

This Apify Actor takes a public Google Photos share link and downloads every photo from it, then uploads them to a folder in your Google Drive. It handles the entire process automatically β€” loading the share page in a browser, scrolling to discover all photos, downloading them with parallel streams, and uploading to Drive with organized folder structures.

βœ… Why use Google Photos to Drive Backup?

  • 🧑 Preserve shared memories β€” Back up family photo albums, event collections, or travel photos shared via Google Photos before the link expires or gets removed
  • πŸ”„ Migrate between accounts β€” Move photos from one Google account to another without manual downloading
  • πŸ—‚οΈ Automatic organization β€” Photos are sorted into monthly subfolders (2026-01, 2026-02) based on when they were taken
  • 🏷️ Metadata preservation β€” Each photo gets a JSON sidecar file with the original URL, date taken, file size, and format
  • ⚑ Handles large collections β€” Supports albums with thousands of photos using concurrent downloads and memory-efficient streaming
  • πŸ›‘οΈ Anti-bot measures β€” Uses stealth browser techniques to avoid Google's rate limiting and CAPTCHA challenges

πŸš€ How to use Google Photos to Drive Backup

  1. Get your Google Photos share link β€” Open the shared album in Google Photos and copy the share URL
  2. Get your Google Drive folder ID β€” Navigate to the destination folder in Google Drive and copy the folder ID from the URL (https://drive.google.com/drive/folders/{FOLDER_ID})
  3. Configure the Actor β€” Paste the share link and folder ID into the Actor input
  4. Run it β€” Start the Actor. On first run, open the live view tab and click "Authorize" to grant Google Drive access through the OAuth consent screen
  5. Done β€” Subsequent runs reuse the stored token automatically, no re-authorization needed

βš™οΈ Input

FieldTypeRequiredDefaultDescription
googlePhotosShareLinkstringYesβ€”Public Google Photos share URL
sharePasswordstringNoβ€”Password for protected shares
destinationFolderIdstringYesβ€”Google Drive folder ID for uploads
googleClientIdstringNoβ€”Your Google OAuth 2.0 Client ID
googleClientSecretstringNoβ€”Your Google OAuth 2.0 Client Secret
googleRedirectUristringNohttp://localhostOAuth 2.0 redirect URI
oauthRefreshTokenstringNoβ€”OAuth2 refresh token (skips interactive auth)
createMonthlySubfoldersbooleanNotrueOrganize into YYYY-MM subfolders
maxPhotosToDownloadintegerNo100000Safety limit for photo count
concurrentDownloadsintegerNo4Parallel download streams (1-16)
includeMetadataFilesbooleanNotrueCreate .metadata.json sidecars
skipIfDuplicateExistsbooleanNofalseSkip files that already exist

Example input

{
"googlePhotosShareLink":"https://photos.app.goo.gl/AbCdEfGhIjKlMnOp",
"destinationFolderId":"1zyx9wvu8tsr7qpo9nml8kji7hug6fed",
"createMonthlySubfolders":true,
"concurrentDownloads":4,
"includeMetadataFiles":true
}

πŸ“¦ Output

The Actor pushes a summary result to the default dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Example output

{
"success":true,
"summary":{
"photosDiscovered":47,
"photosDownloaded":47,
"photosSkipped":0,
"photosFailed":0,
"photosUploaded":47,
"totalDataDownloaded":156237824,
"totalDataUploaded":156237824,
"executionTimeMs":124532
},
"errors":[],
"destinationFolderName":"Google Photos Backup - 2026-05-01 10:30:00",
"shareLink":"https://photos.app.goo.gl/AbCdEfGhIjKlMnOp",
"metadataFilesCreated":47
}

πŸ—ƒοΈ Data fields

FieldDescription
successWhether all photos were processed without failures
summary.photosDiscoveredTotal photos found on the share page
summary.photosDownloadedPhotos successfully downloaded
summary.photosUploadedPhotos successfully uploaded to Drive
summary.photosSkippedPhotos skipped (duplicates)
summary.photosFailedPhotos that failed after retries
summary.totalDataDownloadedTotal bytes downloaded
summary.totalDataUploadedTotal bytes uploaded
summary.executionTimeMsTotal run time in milliseconds
errorsArray of individual error records
destinationFolderNameName of the root backup folder created
metadataFilesCreatedNumber of .metadata.json sidecar files

πŸ“ Google Drive folder structure

The Actor creates an organized folder structure in your Drive:

Your Destination Folder/
└── Google Photos Backup -2026-05-0110:30:00/
β”œβ”€β”€ 2026-01/
β”‚ β”œβ”€β”€ IMG_20260115_123456.jpg
β”‚ β”œβ”€β”€ IMG_20260115_123456.jpg.metadata.json
β”‚ └── ...
β”œβ”€β”€ 2026-02/
β”‚ └── ...
└── undated/
└── photo_001.jpg

When createMonthlySubfolders is disabled, all photos go directly into the root backup folder.

πŸ’‘ Tips and advanced options

  • Start small β€” Set maxPhotosToDownload to 10 for your first run to verify everything works
  • Concurrency tuning β€” Use 2-4 concurrent downloads for most cases. Higher values (8-16) are faster but more likely to trigger rate limiting
  • Skip duplicates β€” Enable skipIfDuplicateExists if you're re-running the Actor on the same album to avoid uploading photos twice
  • Metadata files β€” The .metadata.json sidecars are useful for tracing photos back to their source. Disable with includeMetadataFiles: false if you don't need them
  • Password-protected shares β€” Provide the sharePassword input if the album requires a password

πŸ” Google authentication

The Actor supports two ways to authenticate with Google Drive:

Interactive flow (recommended for first-time use)

On first run, the Actor opens an authorization page in the live view tab. Click "Authorize" and log in with your Google account to grant Drive access. Tokens are stored automatically and reused on all subsequent runs β€” no re-authorization needed.

πŸ‘ Live View

You can optionally provide googleClientId and googleClientSecret to use your own Google Cloud project instead of Apify's built-in credentials.

Refresh token (for automation and scheduling)

Provide an oauthRefreshToken to skip the interactive flow entirely. This is the recommended approach for scheduled runs. You can also provide googleClientId and googleClientSecret alongside the refresh token to use your own Google Cloud project.

To get a refresh token:

  1. Go to the Google Cloud Console and create an OAuth 2.0 Client ID (type: Web application)
  2. Enable the Google Drive API in your project
  3. Visit the Google OAuth Playground, click the settings gear, check "Use your own OAuth credentials", and enter your Client ID and Secret
  4. Select the https://www.googleapis.com/auth/drive scope, authorize, and exchange for tokens
  5. Copy the Refresh Token (and optionally the Client ID, Client Secret) into the Actor input

Credential priority

The Actor resolves credentials in this order:

  1. googleClientId / googleClientSecret / googleRedirectUri from Actor input
  2. Apify's built-in credentials (interactive flow only)

❓ FAQ, disclaimers, and support

Is this legal? This Actor accesses publicly shared Google Photos links β€” the same content anyone with the link can view in a browser. It does not bypass any authentication or access controls. Always ensure you have permission to download and store the shared content.

Why do I get a CAPTCHA? Google may present a CAPTCHA challenge if it detects automated access. The Actor uses stealth techniques to minimize this, but it can still happen with large albums or frequent runs. If you encounter a CAPTCHA, wait a few hours before retrying.

What image quality do I get? Google Photos public shares serve compressed versions of photos, not the original full-resolution files. This is a limitation of how Google serves shared content.

Can I schedule regular backups? Yes β€” use Apify's built-in scheduling to run the Actor periodically. Enable skipIfDuplicateExists to avoid re-uploading photos that are already in your Drive.

Found a bug or have a feature request? Open an issue in the Actor's Issues tab on the Apify Console.

You might also like

Google Drive

onidivo/google-drive

Transfer files between Apify's key-value stores and Google Drive.

πŸ‘ User avatar

Onidivo Technologies

51

Google Drive Folder Copier

nec/google-drive-copier

Copy entire folders and files from any public or shared Google Drive link directly into your Google Drive. Supports large files, nested folders, and automated structure replication β€” no manual downloads required.

Google Maps Photos Scraper

thescrappa/google-maps-photos-scraper

Extract and download photos from any Google Maps business listing. Get high-quality images including customer photos, owner uploads, and street view photos with metadata like author, date, and engagement metrics.

Google Drive MCP Server

salmon_wildfire/google-drive-mcp-server

A secure and extensible Google Drive MCP (Machine Control Protocol) Server built using Apify Actors. This actor enables AI agents, automation workflows, and applications to safely list, search, and read Google Drive files using user-provided credentials β€” without storing any secrets.

Instagram Photos Downloader

scrapers-hub/instagram-photos-downloader

πŸ“Έ Instagram Photos Downloader lets you quickly download your favorite Instagram photos & reels with ease. ⚑ Fast, simple, and efficientβ€”perfect for saving memories, sharing, and content backup. βœ… Try now!

Yupoo Image & Album Downloader - Download Photos as ZIP

bytebeast/yupoo-album-downloader

Download all photos from any Yupoo album in full resolution and get them as a ZIP file. Fast, proxy-enabled, and perfect for product sourcing, catalog scraping, and backup.

Facebook Photos Scraper ✨

premiumscraper/facebook-photos-scraper

πŸ“Έ Scrape photos from any public Facebook Page or Profile β€” own photos, tagged photos & albums. Get full-res image URLs, thumbnails, captions, photo IDs & album details. Filters by date range. Outputs data in real time. Pay only per photo scraped. 🎯 Facebook Photos Scraper ✨

πŸ‘ User avatar

Premium Scraper

42

5.0

Facebook Photos Scraper

scrapapi/facebook-photos-scraper

Google Maps Shared List Scraper

maximedupre/google-maps-shared-list-scraper

Export places from public Google Maps shared lists. Get names, notes, addresses, coordinates, phones, websites, ratings, reviews, hours, photos, source-list context, and scrape timestamps.

πŸ‘ User avatar

Maxime DuprΓ©

8

Related articles

How to download social media comments into a Google Doc
Read more
How to scrape Google Images in 4 steps
Read more
How to scrape Google search results
Read more