title: How to take a list of DownloadURLs and donwload a .ZIP folder of all the files from Firebase Storage
body: <p>I have many files in folders and subfolders in my Firebase Storage bucket.
  I have a list of DownloadURLs of all of these files in my Realtime Firebase Database.
  I'm trying to do a bulk download, ideally creating a .ZIP folder for the end user to download at once.</p>
  
  <p>Several other posts (eg <a href="https://stackoverflow.com/questions/41461337/how-to-download-entire-folder-from-firebase-storage#41467036">How to download entire folder from Firebase Storage?</a>) note that there is no built in API to do bulk downloads, such as downloading an entire folder from a bucket. As far as I know this has not changed.</p>
  
  <p>However a related answer (<a href="https://stackoverflow.com/questions/41461337/how-to-download-entire-folder-from-firebase-storage#41467036">How to download entire folder from Firebase Storage?</a>) suggests that creating a .ZIP folder may be possible, but does not elaborate on how.</p>
  
  <p>How can I either...</p>
  
  <p>... A) use pure JS on the client side to allow the end user to collect all the DownloadURLs and download the files at once?...</p>
  
  <p>...OR...</p>
  
  <p>... B) Use a Cloud Function written in Node.JS to use the DownloadURLs to create a .ZIP file that can be downloaded by the end user as one file. (I'm assuming a .ZIP file can be stored in the Storage bucket as another file with its own DownloadURL and be downloaded like any other file, then unzipped locally and all the original files be extracted. Please correct me if this is not the case)</p>
  
  <p>... Or are neither of those approaches feasible? If not why, what functionality is missing?</p>
  
  <p>Thanks in advance for any insights!</p>