Skip to Content
SourcesDropbox

Dropbox

Dropbox

Scan documents, spreadsheets, images, and Paper docs stored in a Dropbox account.

Category
Collaboration
Source type
DROPBOX
Produces
fileimageaudiovideoarchive

Dropbox holds the documents that get shared outside the company — contracts sent to counsel, files exchanged with vendors, the folder a departing employee still has a link to.

What you need to connect

A Dropbox app, and one of three credential shapes:

MethodWhat you supply
OAuthApp key, app secret and a refresh token — the durable option
OAuth (PKCE)App key and refresh token, no secret
Access tokenA single short-lived token, easiest for a quick test

For Dropbox Business, the same credential can scan the whole team: the team space, each member’s own folder, or a named list of members. Team-owned folders can be traversed with administrator privileges to reach content no individual member has mounted.

What Classifyre reads

Everything under the folder you choose — recursively if you want, including shared folders mounted into the account — filtered by extension.

Dropbox Paper docs have no downloadable file behind them, so they’re exported to Markdown and scanned as text.

Shared behaviour · File and object sources

Every object in the folder becomes one asset. What it is — a PDF, a spreadsheet, a screenshot, a video — is worked out from the bytes themselves, not from the file name, because storage systems routinely label everything as generic binary data. The full list of readable types is on File Formats.

Files hidden inside other files are pulled out and scanned in their own right: images embedded in a document, and every member of a ZIP, TAR, 7z or RAR archive. Images, audio and video need OCR and transcription switched on before their content can be read.

Large objects are streamed rather than loaded whole, so a multi-gigabyte file costs disk rather than memory, and only the part a sampling window asks for is read.

Files in Dropbox are read with the shared file pipeline: see Supported File Formats for everything it can open, and OCR & Transcription for reading text out of images, audio and video.

Metadata on every asset

Asset kind · file

FieldTypeAlways presentWhat it is
size_bytesintegerYesRaw byte size of the content
mime_typestringYesResolved MIME type
parse_errorstringNoSet when content extraction failed
image_widthintegerNoWidth in pixels
image_heightintegerNoHeight in pixels
page_countintegerNoNumber of pages (pdf)
paragraph_countintegerNoNumber of paragraphs (docx)
table_countintegerNoNumber of tables (docx)
row_countintegerNoNumber of data rows
columnsobject[]NoColumns as {name, type} objects (type may be empty for csv/xlsx)
encodingstringNoDetected character encoding
json_root_typestringNoRoot JSON type: object, array, or scalar
top_level_keysintegerNoNumber of top-level keys when the root is an object
array_lengthintegerNoLength when the root is an array
providerstringYesStorage provider label
object_keystringYesDisplay path of the file inside the Dropbox account
etagstringNoDropbox content hash (changes only when the bytes change)
file_idstringYesImmutable Dropbox file ID (id:...), stable across moves and renames
revstringNoDropbox revision identifier of the scanned version
web_urlstringNoBrowser-accessible Dropbox preview URL, when the API returns one
team_member_emailstringNoEmail of the Dropbox Business team member whose namespace the file was scanned from
team_member_idstringNoDropbox Business team member ID used to reach the file
team_namespacestringNoNamespace the file lives in: account, member_folder or team_folder
exported_asstringNoExport MIME type used for non-downloadable files such as Paper docs
source_hashstringNoHash of the parent asset (embedded files and archive members only)
locationstringNoLocation within the parent (embedded file location or archive member path)

Asset kind · image

FieldTypeAlways presentWhat it is
size_bytesintegerYesRaw byte size of the content
mime_typestringYesResolved MIME type
parse_errorstringNoSet when content extraction failed
image_widthintegerNoWidth in pixels
image_heightintegerNoHeight in pixels
providerstringNoStorage provider label
object_keystringNoDisplay path of the file inside the Dropbox account
etagstringNoDropbox content hash (changes only when the bytes change)
file_idstringNoImmutable Dropbox file ID (id:...), stable across moves and renames
revstringNoDropbox revision identifier of the scanned version
web_urlstringNoBrowser-accessible Dropbox preview URL, when the API returns one
team_member_emailstringNoEmail of the Dropbox Business team member whose namespace the file was scanned from
team_member_idstringNoDropbox Business team member ID used to reach the file
team_namespacestringNoNamespace the file lives in: account, member_folder or team_folder
source_hashstringNoHash of the parent asset (embedded files and archive members only)
locationstringNoLocation within the parent (embedded file location or archive member path)

Asset kind · audio

FieldTypeAlways presentWhat it is
size_bytesintegerYesRaw byte size of the content
mime_typestringYesResolved MIME type
parse_errorstringNoSet when content extraction failed
providerstringYesStorage provider label
object_keystringYesDisplay path of the file inside the Dropbox account
file_idstringNoImmutable Dropbox file ID (id:...), stable across moves and renames
revstringNoDropbox revision identifier of the scanned version
web_urlstringNoBrowser-accessible Dropbox preview URL, when the API returns one
team_member_emailstringNoEmail of the Dropbox Business team member whose namespace the file was scanned from
team_member_idstringNoDropbox Business team member ID used to reach the file
team_namespacestringNoNamespace the file lives in: account, member_folder or team_folder
source_hashstringNoHash of the parent asset (embedded files and archive members only)
locationstringNoLocation within the parent (embedded file location or archive member path)

Asset kind · video

FieldTypeAlways presentWhat it is
size_bytesintegerYesRaw byte size of the content
mime_typestringYesResolved MIME type
parse_errorstringNoSet when content extraction failed
providerstringYesStorage provider label
object_keystringYesDisplay path of the file inside the Dropbox account
file_idstringNoImmutable Dropbox file ID (id:...), stable across moves and renames
revstringNoDropbox revision identifier of the scanned version
web_urlstringNoBrowser-accessible Dropbox preview URL, when the API returns one
team_member_emailstringNoEmail of the Dropbox Business team member whose namespace the file was scanned from
team_member_idstringNoDropbox Business team member ID used to reach the file
team_namespacestringNoNamespace the file lives in: account, member_folder or team_folder
source_hashstringNoHash of the parent asset (embedded files and archive members only)
locationstringNoLocation within the parent (embedded file location or archive member path)

Asset kind · archive

FieldTypeAlways presentWhat it is
size_bytesintegerYesRaw byte size of the content
mime_typestringYesResolved MIME type
parse_errorstringNoSet when content extraction failed
providerstringYesStorage provider label
object_keystringYesDisplay path of the file inside the Dropbox account
etagstringNoDropbox content hash (changes only when the bytes change)
file_idstringNoImmutable Dropbox file ID (id:...), stable across moves and renames
revstringNoDropbox revision identifier of the scanned version
web_urlstringNoBrowser-accessible Dropbox preview URL, when the API returns one
team_member_emailstringNoEmail of the Dropbox Business team member whose namespace the file was scanned from
team_member_idstringNoDropbox Business team member ID used to reach the file
team_namespacestringNoNamespace the file lives in: account, member_folder or team_folder
source_hashstringNoHash of the parent asset (embedded files and archive members only)
locationstringNoLocation within the parent (embedded file location or archive member path)

Lineage

Lineage

This source records no lineage. Nothing in the system it reads describes data moving from one place to another, so no FLOW edges are produced. Related items are still linked — see Lineage & Relationships for what those links mean and how they differ from lineage.

Worth knowing

  • Team scans grow fast. Start with the team space or a handful of members before scanning everyone.
  • Suspended members are excluded by default and can be included explicitly — their folders are often exactly the ones worth reviewing.

Configuration

Beyond the fields below, every source also has the settings shared by all of them: the sampling strategy, the detectors to run, the scan schedule, and the compute limits for its scan jobs.

Required

Without these, the source will not save.

This section depends on which authentication method you pick — one of the following applies.

Dropbox OAuth refresh token (recommended)

FieldTypeRequiredWhat it doesDefault
auth_method"oauth"Yes
app_keystringYesDropbox app key (App Console → Settings → App key)

Dropbox OAuth with PKCE (no app secret)

FieldTypeRequiredWhat it doesDefault
auth_method"oauth_pkce"Yes
app_keystringYesDropbox app key (App Console → Settings → App key)

Dropbox access token (short-lived, testing only)

FieldTypeRequiredWhat it doesDefault
auth_method"access_token"Yes

Secrets

Stored encrypted and never shown again after you save them. See Configuration & Fields.

This section depends on which authentication method you pick — one of the following applies.

Dropbox OAuth

FieldTypeRequiredWhat it doesDefault
app_secretstringYesDropbox app secret (App Console → Settings → App secret)
refresh_tokenstringYesLong-lived refresh token issued with token_access_type=offline

Dropbox OAuth (PKCE)

FieldTypeRequiredWhat it doesDefault
refresh_tokenstringYesLong-lived refresh token issued by the PKCE flow with token_access_type=offline

Dropbox Access Token

FieldTypeRequiredWhat it doesDefault
access_tokenstringYesShort-lived Dropbox access token (starts with sl.). Expires roughly four hours after it is generated.

Optional

Everything you can tune. Sensible defaults apply when you leave them alone.

FieldTypeRequiredWhat it doesDefault
optionalobjectNono extra properties
connectionobjectNoNetwork and pagination controls for Dropbox API requests.no extra properties
connection.max_archive_member_bytesintegerNoMaximum uncompressed bytes read from a single archive membermin 102410485760
connection.max_archive_membersintegerNoMaximum member files expanded from one archive into child assets. Bounds fan-out, and is the guard against a zip bomb.min 1, max 10000200
connection.max_archive_total_bytesintegerNoMaximum uncompressed bytes read across all members of one archive. The decompression-ratio ceiling: a zip bomb hits this before it hits memory.min 1024104857600
connection.max_embedded_filesintegerNoMaximum embedded files (parquet image/audio columns, office media) expanded from one container into child assets per runmin 1, max 10000200
connection.max_entries_per_pageintegerNoMaximum entries requested per list_folder callmin 1, max 2000500
connection.max_file_bytesintegerNoRefuse any object larger than this many bytes. 0 or unset means no limit: an object above max_object_bytes is spooled to disk rather than held in memory, so file size is bounded by free disk, not by RAM.min 0
connection.max_object_bytesintegerNoMaximum bytes of one object held in memory. Larger objects are streamed to a temporary file (or read by byte range where the provider supports it), so this bounds memory rather than the size of file that can be scanned. See max_file_bytes to refuse large objects outright.min 10245242880
connection.max_retriesintegerNoMaximum retries on transient Dropbox errors (5xx and rate limits)min 0, max 104
connection.request_timeout_secondsnumberNoNetwork timeout in seconds for list/download operationsmin 1, max 30060
scopeobjectNoFolder selection and content filtering.no extra properties
scope.exclude_extensionsarrayNoOptional extension denylist
scope.exclude_extensions[]stringNo
scope.export_non_downloadablebooleanNoExport files that have no direct download (Dropbox Paper docs) to Markdown so their text can be scannedtrue
scope.folder_pathstringNoFolder to scan, for example /Finance/Exports. Leave empty to scan the whole account root.
scope.include_content_previewbooleanNoDownload file bytes to infer MIME and extract detector-ready text previewstrue
scope.include_empty_objectsbooleanNoInclude zero-byte files in extraction resultsfalse
scope.include_extensionsarrayNoOptional extension allowlist (for example, .pdf, .csv, .docx)
scope.include_extensions[]stringNo
scope.include_mounted_foldersbooleanNoInclude shared folders mounted into the accounttrue
scope.include_object_metadatabooleanNoAttach Dropbox metadata (content hash, size, revision, timestamps) to asset checksumstrue
scope.recursivebooleanNoDescend into subfolders of the selected foldertrue
teamobjectNoDropbox Business team scanning. The credential shape is the same as for an individual account, but the Dropbox app must be created with a team access type ('Team member file access' plus 'Team information'). Leave disabled for individual accounts.no extra properties
team.as_adminbooleanNoTraverse team-owned folders with a team administrator's privileges instead of acting as each member. Reaches content a member cannot list themselves and does not mark files as viewed by them. Requires at least one team admin on the team.false
team.enabledbooleanNoScan the whole Dropbox Business team instead of a single accountfalse
team.include_member_foldersbooleanNoScan each selected member's own Dropbox foldertrue
team.include_suspended_membersbooleanNoAlso scan members whose account is suspendedfalse
team.include_team_spacebooleanNoScan the shared team folders in the team spacetrue
team.member_emailsarrayNoOnly scan these team members (empty = every active member)
team.member_emails[]stringNo
Last updated on