Manage Applications

    Download a file


    Returns the contents of a file in binary format.



    Path Parameters

    stringin pathrequired

    The unique identifier that represent a file.

    The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the url https://* the file_id is 123.

    Query Parameters

    stringin queryoptional

    The file version to download

    Request Headers

    stringin headeroptional

    The URL and password for a file that has been shared using a shared link, as this file would otherwise not be accessible to the user.

    Use the format shared_link=SHARED_LINK_URL or if a password was set use shared_link=[link]&shared_link_password=[password]

    stringin headeroptional

    The byte range of the content to download.

    The format {start_byte}-{end_byte} can be used to specify what section of the file to download.



    If the file is not ready to be downloaded yet Retry-After header will be returned indicating the time in seconds after which the file will be available for the client to download.

    This response can occur when the file was uploaded immediately before the download request.


    If the file is available to be downloaded the response will include a Location header for the file on

    The URL is not persistent and clients will need to follow the redirect in order to actually download the file.

    You can now try out some of our APIs live, right here in the documentation.
    Log In

    Request Example

    curl -X GET \
         -H "Authorization: Bearer <ACCESS_TOKEN>"
    Stream fileContents = await client.FilesManager.DownloadStreamAsync(id: "11111");
    BoxFile file = new BoxFile(api, "id");
    List<BoxFileVersion> versions = file.getVersions();
    BoxFileVersion firstVersion = versions.get(0);
    FileOutputStream stream = new FileOutputStream(firstVersion.getName());;
    file_id = '11111'
    # Download the entire file into memory
    file_content = client.file(file_id).content()
    # Download a specific file verison
    file_version = client.file_version('12345')
    version_content = client.file(file_id).content(file_version=file_version)
    # Download the first 100 bytes of the file
    beginning_of_file_content = client.file(file_id).content(byte_range=(0,99))
    var fs = require('fs');
    client.files.getReadStream('12345', null, function(error, stream) {
    	if (error) {
    		// handle error
    	// write the file to disk
    	var output = fs.createWriteStream('/path/to/file');