Skip to content

galti3r/filejump-v1-api-recursive-downloader

Repository files navigation

FileJump Downloader CLI

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.

Quick install

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Installation via uv

If 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 /

Usage

python filejump_downloader.py --token <YOUR_TOKEN> --output ./my_files -r /

Key arguments:

  • --token or the FILEJUMP_TOKEN environment variable: API token provided by FileJump.
  • --api-base: Base API URL (defaults to https://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 /

Full download example

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.

Known limitations

  • The FileJump API returns at least 50 items per page. Adjust --per-page if you run into pagination limits.
  • The program assumes that the url field of a file points to a resource downloadable via an authenticated GET request. If FileJump changes that behavior, use --download-base to override the origin.
  • Downloads are sequential for maximum reliability. You can add parallelism if you need higher throughput.

Automated tests

Run the test suite and style checks with tox:

tox -e py311

You can forward additional arguments to pytest via tox -e py311 -- -k client.

About

Use to download all files from FileJump (v1) for backup/migration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors