function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

How to download all the files from salesforce with out using any apps from appexchange

Hi Fellows,

Great day!!! 
I am trying to download all the files there in my org at once into my local drive. Is there any way to achieve this, tried export option that does not worked for me. Please suggest any other ways to achieve this.

Thanks in advance.

Best Answer chosen by Pradnethas
Thanks Every one for your suggestions and responses, our client has choosen appexchange app.

All Answers

Apologies for the rewriting its not files its attachments which goes into content version.
Khan AnasKhan Anas (Salesforce Developers) 
Hi Prad,

Greetings to you!

If you don't want to use the app from Appexchange then you can use or Data Export feature of Salesforce.
1. Login to with your login to Salesforce, it uses SSO.
2. Click "New Task" and select the "Export" button.
3. Select the Attachment object, click Next.
4. You can select just the Body field, or with some fields, or all fields. Click Next.
5. Click "Save & Run".
6. Wait for the process.
7. Once the task is done, you can download the attachments by clicking on the task manager on the link next to the export task. This will download all of the attachments compressed into a .zip file.
Note: is not Salesforce product

Data Export:
You can export the data in your organization through the Data Export feature, which can be found on Setup > Data Export. You can choose to schedule that export or choose to export now. On the same page, you can select which objects to include.

You can also export attachment using Data Loader. But the files exported will be in binary format in a CSV file, it will not be in the original filename and format.

I hope it helps you.

Kindly let me know if it helps you and close your query by marking it as solved so that it can help others in the future. It will help to keep this community clean.

Thanks and Regards,
Khan Anas
Hi Khan,

Thank you for replying back. Actually we have done using dataloader and data export but problem is .zip format if we use dataloader, we are unable to unzip them and even after unzipping them the file formats are not proper. So that is the reason searching for other approaches.

Sumit Kumar Singh 9Sumit Kumar Singh 9
Hello Pradnethas, 
You can use data export feature of Salesforce, OR if you want to download only subset of files then I would highly recommend this tool -
Thanks Every one for your suggestions and responses, our client has choosen appexchange app.
This was selected as the best answer
Nikita Meshram 2Nikita Meshram 2

Hi Pradnethas, 

You can use Satrang Mass File Download AppExchange App, With this App you can download bulk of Attachments/Files/Documents, or Static resources hassle-free. You can select multiple records under different objects, find their respective files, and download them as a single zip file. This Works for all Standard & Custom Objects.

AppExchange URL -

Goutham VutukuriGoutham Vutukuri
Hi Pradnethas,

I am also trying to download all the content bodies for my org. Can you tell what app you used was successful?
Amit Kapur 27Amit Kapur 27
Hi - This approach I'm outlining below is a little more involved but this allows you to download all (or specific) Files from your Org. 

1. Install wget in your OS
2. install curlwget (chrome extension)
3. Install dataloader
4. Use dataloader to extract all ContentVersion (ID, Title, and VersionDataURL) that you need (3 columns of data only)
5. In chrome, login to your org, paste one of the VersionDataURLs in your extract file into Chrome
6. Use curlwget to get the "wget command" - This will include all header data required to make secure calls using wget
7. Create a csv file that has JUST the versionDataURLs in it (No IDs, No Titles, and No header row)
8. Update your wget command with the following parameters: 
a. Replace " with ' (At least this was required for MacOS)
b. Modify the wget command to remove the specified URL from step 5, remove "-c -O and the file name"
c. Add the following wget parameters "--content-disposition --trust-server-names -q --show-progress -i listOfURLs.csv"

Your final wget command should look something like : 
wget --header='Host: [YOURHOST]' --header='User-Agent: xx' --header='xx;q=xx;q=xx' --header='Accept-Language: en-US,en;q=0.9' --header='Cookie: LSKey-c$_ga=GA1.1.96339574.1693929415; LSKey-c$_ga_NZ3TP9TK4V=xx; BrowserId_sec=xxxxx; clientSrc=xxxx; CookieConsentPolicy=xxx; LSKey-c$CookieConsentPolicy=0:1; inst=APP_Hs; sid=xxx; sid_Client=xx; BrowserId=xxx' --header='Connection: keep-alive'  --content-disposition --trust-server-names -q --show-progress -i listofURLs.csv

{Only the bold part above was modified and added... everything else is auto generated by step 6}