Skip to main content
To download all files in a folder or an entire folder structure, you have to create and download a ZIP archive.

Create a ZIP Archive

First, you need to create a ZIP archive containing the files or the folder structure. You can include up to 10,000 file and folder IDs unless you reach the account’s upload limit.
The response will look similar to the following:

File and folder names in the archive

Names inside the ZIP archive can differ from the names you see in Box. Box adjusts names so the archive extracts on Windows, and so each path fits in the archive. Box makes each file and folder name Windows-safe:
  • Names are normalized to Unicode NFC, so names that macOS stores in NFD form, including CJK and Japanese names, stay intact.
  • Characters that Windows does not allow (<, >, :, ", /, \, |, ?, and *) and control characters are replaced with _.
  • Windows reserved names, such as CON, PRN, NUL, ., and .., get a trailing _.
  • A file name cannot end with a period. A trailing period is replaced with _.
A full path in the archive is limited to 245 characters. When a path is longer than that limit:
  1. Folder names are replaced with _, starting at the folder level that makes the path too long, until the path fits.
  2. If the path is still too long, the file name is shortened. The extension is kept when possible.
  3. If the path is still longer than 245 characters, the download fails.
Duplicate names in the same folder get a numeric suffix. For example, report.pdf is saved as report(1).pdf. Files from one Box folder stay in that one folder in the archive. Shortening a file name does not place those files in an extra folder. When the request includes items that share a name, name_conflicts maps each original_name to the download_name used in the archive.

Extract the ZIP download ID

To download the ZIP archive, you need the ZIP download ID. You can find it in the response you got when you created the archive. Go to status_url and copy the ID located between zip_downloads and content:
Download URL is valid only for the time specified in expires_at parameter.

Download files

Place the download ID in the file location URL as in the sample below to point to the right files.
For downloads that take longer, you can monitor the download status using the . This allows you to inspect the progress of the download as well as the number of items that might have been skipped.
If you want to use SDKs to download the contents of the folder, follow guide.
Last modified on October 15, 2026