Google Drive Folder Copier
Pricing
from $9.00 / 1,000 results
Google Drive Folder 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.
Pricing
from $9.00 / 1,000 results
Rating
5.0
(1)
Developer
NEC
Actor stats
2
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
π What does Google Drive Copier do?
Google Drive Copier lets you copy files and folders from a public or shared Google Drive link directly into your personal Google Drive account. Just paste a share link, specify where you want the files, and the Actor handles the rest β recursive folder traversal, conflict resolution, file type filtering, and progress tracking. Run it on the Apify platform to take advantage of scheduling, API access, and integrations with other tools.
π‘ Why use Google Drive Copier?
- Bulk copy shared content β Copy entire folder structures with hundreds of files in one run, no manual downloading and re-uploading
- Preserve folder structure β Recreates the exact folder hierarchy from the source in your destination, or flatten everything into one folder
- Smart conflict handling β Choose to skip, overwrite, or rename files when duplicates exist
- Filter by file type β Copy only PDFs, spreadsheets, or any specific file types you need
- Track every file β Get a detailed dataset showing every file copied, skipped, or failed with direct links to the destination
- Schedule recurring copies β Set up automated runs to keep your Drive in sync with shared content
π How to use Google Drive Copier
- Get a Google Drive share link β Right-click a folder or file in Google Drive β Share β Copy link. The link should look like
https://drive.google.com/drive/folders/... - Find your destination folder ID β Open the destination folder in Google Drive. The folder ID is the last part of the URL:
drive.google.com/drive/folders/YOUR_FOLDER_ID - Configure the Actor β Go to the Input tab and paste the share link and destination folder ID
- Run the Actor β Click Start. On the first run, you'll need to authorize Google Drive access via the Live View tab
- Authorize Google Drive β Open the Live View tab, click "Sign in with Google", complete the consent screen, then paste the authorization code back into the form
- Check results β Go to the Output tab to see every file that was copied with status and destination links
πΎ Authorization is a one-time step. Future runs reuse the saved tokens automatically.
Headless / automated runs: If you already have a Google OAuth refresh token, paste it into the oauthRefreshToken field to skip the interactive consent screen entirely.
βοΈ Input
| Field | Type | Required | Description |
|---|---|---|---|
publicDriveLink | String | β Yes | Google Drive share link (folder or file) |
destinationFolderId | String | β Yes | Your destination folder ID from the Drive URL |
conflictResolution | String | No | What to do with duplicates: skip, overwrite, or rename (default: rename) |
maxFolderDepth | Integer | No | How deep to traverse nested folders, 1β10 (default: 10) |
copyFilesOnly | Boolean | No | Skip folder structure, put all files in the destination folder (default: false) |
fileTypeFilter | String | No | Comma-separated extensions to include, e.g. pdf,docx,xlsx. Empty copies all |
maxFilesPerRun | Integer | No | Safety limit on files per run, 1β10,000 (default: 10000) |
oauthRefreshToken | String | No | Pre-obtained OAuth refresh token β skips the interactive sign-in flow. Used when googleClientId/googleClientSecret are not provided. Stored as a secret. |
Example input
{"publicDriveLink": "https://drive.google.com/drive/folders/1abc2def3ghi4jkl5mno6pqr7stu8vwx","destinationFolderId": "1zyx9wvu8tsr7qpo9nml8kji7hug6fed","conflictResolution": "rename","maxFolderDepth": 10,"fileTypeFilter": "pdf,docx"}
Headless example (using a refresh token):
{"publicDriveLink": "https://drive.google.com/drive/folders/1abc2def3ghi4jkl5mno6pqr7stu8vwx","destinationFolderId": "1zyx9wvu8tsr7qpo9nml8kji7hug6fed","oauthRefreshToken": "1//0gABCDEF..."}
π¦ Output
Each copied file is stored as a separate record in the dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Example output
{"name": "quarterly-report.pdf","type": "file","status": "copied","sourceId": "1abc2def3ghi4jkl","destinationId": "9xyz8wvu7tsr6qpo","mimeType": "application/pdf","sizeBytes": 2458624,"skipReason": "","error": "","destinationUrl": "https://drive.google.com/file/d/9xyz8wvu7tsr6qpo/view"}
A run summary with aggregate counts is also saved in the key-value store under the SUMMARY key.
ποΈ Data table
| Field | Description |
|---|---|
name | File or folder name |
type | file or folder |
status | copied, skipped, or failed |
sourceId | Google Drive ID of the source item |
destinationId | Google Drive ID of the copied item |
mimeType | MIME type (e.g. application/pdf) |
sizeBytes | File size in bytes |
skipReason | Why the file was skipped: duplicate, filtered, or maxFilesReached |
error | Error message if the copy failed |
destinationUrl | Direct link to the copied file in your Drive |
π§ Tips and advanced options
- Use
copyFilesOnly: trueto flatten a deeply nested folder structure into a single destination folder - Use
fileTypeFilterto selectively copy only the file types you need (e.g.pdf,xlsxto grab only documents and spreadsheets) - Set
maxFilesPerRunto a lower number for testing or to control costs on large folders - Execution time estimates: Copying 100 files typically takes 2β3 minutes; 1,000 files takes 15β30 minutes (varies by file sizes and API quota)
- Conflict resolution strategies:
rename(default) β adds(1),(2)etc. to duplicate filenamesskipβ leaves existing files untouchedoverwriteβ replaces existing files with the new copy
- Automate without a browser β Provide an
oauthRefreshTokento run fully headlessly, ideal for scheduled or API-triggered runs - Schedule runs using Apify's scheduling feature to periodically sync shared content into your Drive
β FAQ, disclaimers, and support
Is this legal?
This Actor copies files that are shared with you via Google Drive's sharing features. You are responsible for ensuring you have the right to copy the content. The Actor respects Google Drive's API terms of service and rate limits.
What permissions does it need?
The Actor requests full Google Drive access (drive scope) to read shared files and create copies in your account. You can revoke access at any time from your Google Account permissions page.
How do I get an OAuth refresh token?
You can obtain a refresh token using the Google OAuth Playground:
- Select the
https://www.googleapis.com/auth/drivescope - Authorize and exchange the authorization code for tokens
- Copy the Refresh token value and paste it into the
oauthRefreshTokeninput field
Where are my Google tokens stored?
OAuth tokens are stored securely in a named key-value store called google-oauth-tokens-drive within your Apify account. This storage is encrypted and only accessible by your Actor runs. You can delete this store at any time to force re-authentication on the next run.
What if my run times out?
The Actor handles interruptions gracefully. If aborted, it saves a partial summary with accurate counts of everything processed so far. You can run it again β use conflictResolution: skip to avoid re-copying files that were already transferred.
Troubleshooting
Q: "Destination folder is not accessible" error
- Verify the folder ID is correct (copy from the Drive URL:
drive.google.com/drive/folders/YOUR_FOLDER_ID) - Check that you have write permissions to the destination folder
- Ensure the folder hasn't been deleted or moved
Q: "Rate limit exceeded" errors
- Google Drive has a 10,000 API request limit per user per day
- Large folder copies may need to be split across multiple runs
- Use
maxFilesPerRunto limit requests per run
Q: Files are missing from the copied folder
- Check if they were filtered by file type (
fileTypeFilter) - Verify they weren't skipped due to duplicate naming
- Check the Actor's output dataset for details on each file
Q: "Google Drive API is not enabled" error
- Go to Google Cloud Console
- Click Enable to activate the Google Drive API
- Try running the Actor again
Known limitations
- Google Drive API daily quota is 10,000 requests per user. Very large folders (10,000+ files) may require multiple runs
- Maximum folder nesting depth is 10 levels
- Files up to 5 GB are supported
- The Actor cannot copy Google Docs/Sheets/Slides native formats β these are copied as-is using the Drive copy API
Support
Found a bug or have a feature request? Open an issue in the Issues tab on the Actor page.