filejump_downloader.py is a small command-line utility that talks to the FileJump REST API to download all your files and folders locally while recreating the original hierarchy.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtIf you prefer uv:
uv tool install --from . filejump-downloader
# then
filejump-download --token <YOUR_TOKEN> -r /To run the script without installing it globally:
uv run filejump_downloader.py --token <YOUR_TOKEN> -r /python filejump_downloader.py --token <YOUR_TOKEN> --output ./my_files -r /Key arguments:
--tokenor theFILEJUMP_TOKENenvironment variable: API token provided by FileJump.--api-base: Base API URL (defaults tohttps://drive.filejump.com/api/v1).--download-base: Host used for raw downloads (defaults to the origin derived from--api-base).-r/--recursive: Enable recursive descent into sub-folders.remote_path(final positional argument): Remote path to download from (defaults to/).--include-trashed: Include items that are currently in the trash.--force: Re-download files even if they already exist locally.--dry-run: Print the actions that would be performed without writing files.
The tool automatically iterates through paginated results (perPage is configurable) and streams files over standard HTTP, so it can download both very large files and collections of small objects reliably.
FILEJUMP_TOKEN="<YOUR_TOKEN>" \
python filejump_downloader.py -r --output ./downloads /Use the following command to fetch every file recursively into the downloads folder when testing the workflow with a fake token:
./filejump_downloader.py --token '123|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' --recursive --output downloads /Warning: never share your personal token in plaintext. Prefer environment variables whenever possible.
- The FileJump API returns at least 50 items per page. Adjust
--per-pageif you run into pagination limits. - The program assumes that the
urlfield of a file points to a resource downloadable via an authenticated GET request. If FileJump changes that behavior, use--download-baseto override the origin. - Downloads are sequential for maximum reliability. You can add parallelism if you need higher throughput.
Run the test suite and style checks with tox:
tox -e py311You can forward additional arguments to pytest via tox -e py311 -- -k client.