Built for developers

A contract-first REST API, SDKs for TypeScript, Python and Go, and a CLI that backs up a folder incrementally. Uploads go straight to our edge network in parallel, resumable parts.

API access, webhooks, the SDKs, the CLI and sync are Pro features

API keys and webhooks are part of the Pro plan. The web app works on every plan.

Upgrade

Quickstart

# Who am I?
curl -H "Authorization: Bearer $KDRIVE_API_KEY" https://api.kdrive.io/v1/me

# Upload a file: measure it, start the upload, send the bytes, complete it.
# Files up to 16 MiB are a single part; larger files return part_url_template
# instead of upload_url, which the CLI and the SDKs handle for you.
FILE=report.pdf
SIZE=$(wc -c < "$FILE" | tr -d ' ')

UPLOAD=$(curl -s -X POST https://api.kdrive.io/v1/uploads \
  -H "Authorization: Bearer $KDRIVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"path\":\"/backups\",\"name\":\"$FILE\",\"size\":$SIZE}")

curl -s -X PUT --data-binary @"$FILE" "$(echo "$UPLOAD" | jq -r .upload_url)"

curl -s -X POST https://api.kdrive.io/v1/uploads/$(echo "$UPLOAD" | jq -r .id)/complete \
  -H "Authorization: Bearer $KDRIVE_API_KEY"