How to Export File Metadata from Dropbox
Dropbox has no built-in metadata export feature. Here are three approaches, from no-code to developer-level, to get your file inventory into a spreadsheet.
Dropbox does not provide a way to export file metadata as a spreadsheet from its web or desktop interface. Dropbox Business admins can export activity logs, but those are event-based (who did what when), not a file inventory. The methods below get you a complete file listing with metadata.
Local Sync + OS File Listing
The simplest approach requires no coding or API setup. Sync your Dropbox to your computer, then use a built-in OS command to list all files with their metadata. The trade-off: you get OS-level metadata (file name, size, dates) but miss Dropbox-specific fields like sharing info and content hashes.
macOS / Linux:
find ~/Dropbox -type f -exec stat -f '%N,%z,%m,%Sc' {} \; > dropbox_files.csv
# Creates: full path, size in bytes, modification timestamp, status change timeWindows PowerShell:
Get-ChildItem -Path "C:\Users\You\Dropbox" -Recurse -File |
Select-Object FullName, Length, LastWriteTime, CreationTime, Extension |
Export-Csv -Path "dropbox_files.csv" -NoTypeInformationPython + Dropbox SDK
The Dropbox API is the most complete way to extract file metadata. The /2/files/list_folder endpoint with recursive=True returns every file in your Dropbox with rich metadata including content hashes, sharing info, and server timestamps.
dropbox.com/developers/apps and create a new app. Choose Scoped access and Full Dropbox access. Generate an access token from the app settings page.pip install dropboximport dropbox
import csv
dbx = dropbox.Dropbox("YOUR_ACCESS_TOKEN")
def list_all_files(path=""):
"""List all files recursively, handling pagination."""
result = dbx.files_list_folder(path, recursive=True)
entries = result.entries
while result.has_more:
result = dbx.files_list_folder_continue(result.cursor)
entries.extend(result.entries)
return entries
entries = list_all_files()
with open("dropbox_metadata.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow([
"Name", "Path", "Size (bytes)", "Client Modified",
"Server Modified", "Content Hash", "File ID", "Revision"
])
for entry in entries:
if isinstance(entry, dropbox.files.FileMetadata):
writer.writerow([
entry.name,
entry.path_display,
entry.size,
entry.client_modified,
entry.server_modified,
entry.content_hash,
entry.id,
entry.rev,
])
print(f"Exported {sum(1 for e in entries if isinstance(e, dropbox.files.FileMetadata))} files")/2/team/members/list endpoint to iterate through members, then list each member's files. This is the fastest path for organization-wide metadata inventories.Rclone CLI
Rclone supports Dropbox as a remote and can list all files with metadata in a single command. No Python or SDK setup required — just install Rclone and authorize it.
rclone config. Choose "Dropbox" as the storage type and follow the OAuth authorization flow.# List all files as JSON
rclone lsjson dropbox: --recursive > dropbox_files.json
# Convert to CSV
python3 -c "
import json, csv, sys
with open('dropbox_files.json') as f:
data = json.load(f)
w = csv.DictWriter(sys.stdout,
fieldnames=['Path','Name','Size','MimeType','ModTime','IsDir'])
w.writeheader()
for item in data:
w.writerow(item)
" > dropbox_metadata.csvWhat metadata fields can you export?
| Field | Local Sync | Dropbox SDK | Rclone |
|---|---|---|---|
| File name | ✓ | ✓ | ✓ |
| Full path | ✓ | ✓ | ✓ |
| File size | ✓ | ✓ | ✓ |
| Modified date (client) | ✓ | ✓ | ✓ |
| Modified date (server) | ✕ | ✓ | ✕ |
| Content hash | ✕ | ✓ | ✕ |
| File ID | ✕ | ✓ | ✕ |
| Revision | ✕ | ✓ | ✕ |
| Sharing info | ✕ | ✓ | ✕ |
| Shared link details | ✕ | Separate call | ✕ |
| File extension | ✓ | Derive from name | ✓ |
| MIME type | ✕ | ✕ | ✓ |
| Created date | OS only | Not available | ✕ |
- No "created date": Dropbox does not store a file creation timestamp in its data model. The
client_modifiedfield is the closest analog, but it reflects the modification time reported by the uploading client, not when the file was first created. - No native tags: Core Dropbox does not have a user-facing tagging system. File properties exist but are API-set and rarely populated by end users. Some newer Dropbox Business plans include tags, but API support for reading them may be limited.
- Owner field: There is no first-class "owner" field on individual files. In team contexts, the namespace owner or the
modified_byaccount ID is the closest proxy.
You have your metadata export.
Now score it.
Upload your CSV or Excel file to MQS and get a structural metadata health score out of 100 with dimension breakdowns and actionable diagnostics.