How to Bulk Download Files from Salesforce in 2026

Salesforce makes it easy to upload files. Getting them back out — in bulk — is a different story. There's no "Download All Files" button in the Salesforce UI. This guide covers every method available in 2026, from the manual approach to the fastest automated option.

Why Bulk Downloading Salesforce Files Is Hard

Salesforce stores uploaded files in the ContentDocument and ContentVersion objects (for modern Files), and in the Attachment object (for legacy classic attachments). The actual binary file data lives in the VersionData or Body field — which is a Base64-encoded blob in the API.

To download a file, you need to:

  1. Query the ContentVersion or Attachment object to get the file's ID and metadata
  2. Make an authenticated HTTP request to the Salesforce REST API to fetch the binary content
  3. Decode it and save it to disk with the correct filename and extension
  4. Repeat for every file, respecting API governor limits

For a handful of files, that's manageable. For thousands — or tens of thousands — you need automation.

Method 1: Download Files One by One from the UI

Best for: 1–10 files

From any record's Files related list, you can click the dropdown next to a file and choose Download. For ContentDocument files, you can also navigate to Files in the App Launcher and download from there.

This is fine for individual files but completely impractical at scale. There is no "select all and download" option in the Salesforce UI.

Method 2: Use Salesforce Data Export (Doesn't Download Files)

Best for: Record data only — not actual files

Salesforce's weekly Data Export does not download your binary files. It exports the ContentDocument and Attachment records as CSV rows — but the VersionData field contains a URL, not the actual file content. Many admins discover this the hard way after a migration.

If you need the actual PDF, image, Word document, or other file that was uploaded to Salesforce, the Data Export is not the right tool.

Method 3: Write a Custom Script (Python / Node.js)

Best for: Developers comfortable with APIs who need custom logic

You can write a script using the Salesforce REST API or Bulk API to query ContentVersion records and then fetch each file's binary content. A typical Python approach:

# Pseudocode — actual implementation requires simple-salesforce or requests
# 1. Query ContentVersion for all files
# 2. For each record, GET /services/data/vX.X/sobjects/ContentVersion/{Id}/VersionData
# 3. Write binary response to disk as filename + extension

This works, but it requires API credentials, handling OAuth token refresh, staying under governor limits (concurrent API calls, daily API limit), and writing error handling for large batches. For most Salesforce admins, this isn't practical.

Method 4: Use Data Loader with a Post-Process Script

Best for: Technical admins who already use Data Loader

Data Loader can export ContentVersion records to CSV, giving you file IDs and download URLs. You then need a separate script to actually fetch the files using those URLs with a valid session token. This is a two-step process and the session token expires, making large exports fragile.

Method 5: Use SFDC File Exporter (Fastest, No Coding Required)

Best for: Any Salesforce admin or team — especially for large volumes

SFDC File Exporter by RASPSYS LLP was built specifically to solve the bulk file download problem. It handles authentication, querying, batching, binary download, and local file organization automatically.

What SFDC File Exporter Supports

  • ContentDocument (Files) — the modern Salesforce Files system, including files linked to any record
  • Classic Attachments — older orgs that still use the Attachment object
  • ContentNote (Enhanced Notes) — Notes created in Salesforce Lightning
  • Documents — files from the legacy Documents tab

How to Use SFDC File Exporter

  1. Download and install — it's a Windows desktop app, free to download. No Salesforce package installation required.
  2. Connect your org — authenticate via OAuth 2.0. Your credentials never leave your machine.
  3. Select your export criteria — choose object type, filter by record type, owner, date range, or file type.
  4. Start the export — SFDC File Exporter downloads everything in the background, organizing files into subfolders by object and record.
  5. Find your files — files are saved locally with their original names, ready to use or archive.
For large orgs: use the date range filter to export in batches — "last 30 days", "last 90 days", etc. This avoids hitting API limits in one session and makes the export more manageable.

Method Comparison

Method Downloads Actual Files? Coding Required? Good for Large Volumes?
UI (one by one) Yes No No
Data Export No (CSV only) No Records only
Custom script Yes Yes Yes (if well written)
Data Loader + script Yes Partly Fragile at scale
SFDC File Exporter Yes No Yes

Common Use Cases for Bulk File Download

Migrating Away from Salesforce

If your org is moving to a different CRM, ERP, or document management system, you need all your files before deactivating the Salesforce org. SFDC File Exporter can export the entire file library organized by record, making it straightforward to import into the destination system.

Compliance and Data Retention

Many industries require long-term retention of signed documents, contracts, and correspondence. SFDC File Exporter can be run on a schedule to maintain an off-Salesforce archive, ensuring compliance even if your Salesforce subscription lapses.

Pre-Deployment Backup

Before any major change to your Salesforce org, a file backup is essential. See our Salesforce Backup Checklist for a complete pre-change procedure.

Audit and Legal Holds

When legal or compliance teams need all files related to a specific account, project, or time period, SFDC File Exporter's filtering capabilities make it easy to export exactly the files in scope — not the entire org.

Storage Cost Reduction

Salesforce file storage is expensive. Teams sometimes archive older files externally and remove them from Salesforce to reduce storage costs. SFDC File Exporter handles the export side of this workflow.

Security Note: Your Files Stay on Your Machine

SFDC File Exporter authenticates directly with your Salesforce org via OAuth 2.0. Files are downloaded directly from Salesforce to your local machine. There is no RASPSYS server in between — your data never leaves your control.

This is especially important for orgs with sensitive data (legal, healthcare, financial services). Read more on our Security Architecture page.

Need Help With a Large Export or Migration?

For orgs with complex structures, very large file volumes, or migration projects with tight deadlines, RASPSYS LLP offers hands-on professional services. We can handle the full export process, validate completeness, and support the file import into your destination system.

Learn about RASPSYS Salesforce Services or contact us for a free consultation.

Bulk Download Your Salesforce Files Today

SFDC File Exporter is the simplest way to export files, attachments, and notes from any Salesforce org — no coding, no package installation.