cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to know what we learned at IBC? Check out our learnings on media, remote working and more right here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Folder download

Folder download

jjsk
Helpful | Level 5

Per  https://www.dropbox.com/help/desktop-web/download-entire-folders  I can download any folder through the dropbox web interface.  How can I do this via the API? 

 

I'm guessing the web client uses some form of API for this so this should be doable from scripts as well?

 

Thanks

9 Replies 9

Greg-DB
Dropbox Staff
The Dropbox API doesn't offer the ability to download entire folders like this, but I'll be sure to pass this along as a feature request. (The Dropbox web site uses a different, internal interface for this.)

jjsk
Helpful | Level 5

I think this would be nice resource saving feature.  I've seen all kinds of recursive download scripts that basically inundate the dropbox API with requests for each individual file.  Seems rather inefficient.   Thanks.

deFreitas
New member | Level 2

Here is a workaround, you can create a sharedlink for that folder

 

curl -X POST https://api.dropboxapi.com/2/sharing/share_folder \
--header "Authorization: Bearer $TK" \
--header "Content-Type: application/json" \
--data '{"path": "/legacy/teste-curl","acl_update_policy": "editors","force_async": true,"member_policy": "anyone"}'

 

then download it using the preview_url

 

 

wget -v https://www.dropbox.com/sh/{shared_link_id}?dl=1

 

 

Like this example

 

 

wget -v https://www.dropbox.com/sh/j1msw4e8dup2c5q/AAANYUWXcyBDgxVGkveU7AFla?dl=1

 

 

After all you can unshare this folder for security reasons

 

 

curl -X POST https://api.dropboxapi.com/2/sharing/unshare_folder \
--header "Authorization: Bearer $TK" \
--header "Content-Type: application/json" \
--data "{\"shared_folder_id\": \"1896934208\",\"leave_a_copy\": false}"

 

jjsk
Helpful | Level 5


This is nice thanks. I was also trying to decipher the download call through web client but it got a bit hairy.   The zip file comes from 

https://dl-web.dropbox.com/zip_batch?_subject_uid=<dropbox id>

  but I could not figure out in developers tools panel what all the POST parameters were.

Greg-DB
Dropbox Staff
The zip_batch endpoint isn't part of the public API, so I can't offer information on it or recommend trying to use it, as it is subject to change without warning.

Greg-DB
Dropbox Staff
The Dropbox API now offers the ability to download folders as zips:

https://www.dropbox.com/developers/documentation/http/documentation#files-download_zip

If you're using an official SDK, there will also be a corresponding method for this endpoint.

jjsk
Helpful | Level 5

Hi Greg

 

This is good news. thanks for the update to the API.

jjsk
Helpful | Level 5

I just tried this API call and it worked great.

 

the only hiccup is an error when trying to d/l the root folder

 

"Dropbox-API-Arg": path: The root folder is unsupported

 

some files are saved in the application's root folder and the method seems to fail to get them zipped up

 

Greg-DB
Dropbox Staff

That's the expected behavior. Downloading the root folder is not supported unfortunately, but I'll pass this along as a feature request. 

Need more support?
Who's talking

Top contributors to this post

  • User avatar
    Greg-DB Dropbox Staff
  • User avatar
    jjsk Helpful | Level 5
What do Dropbox user levels mean?