🇩🇪
Back to homepage

API Documentation

Rate Limit: 10 per hour
POST /api/export

Export Komoot tours to your storage. Submit a JSON body with your credentials, date range, and storage configuration.

Request Body
Parameter Type Required Description
komoot_api_key string Yes Komoot credentials in format email:password
start_date string Yes Start date (YYYY-MM-DD)
end_date string Yes End date (YYYY-MM-DD)
storage_type string Yes s3, smb, or nfs
export_name string No Folder name for exported files
exercise_type string No Filter by sport: hiking, running, cycling, mtb, racebike
complete_only boolean No Only export completed tours (default: false)
Storage Parameters

s3_endpointS3 endpoint URL (e.g. https://s3.eu-central-1.amazonaws.com)
s3_bucketS3 bucket name
s3_access_keyS3 access key ID
s3_secret_keyS3 secret access key

smb_serverSMB server hostname or IP
smb_shareSMB share name
smb_usernameSMB username
smb_passwordSMB password
smb_pathSubfolder path (optional)

nfs_pathLocal/NFS path (must exist and be writable)
Example Request
curl -X POST http://komoot.smilebasti.de/api/export \
  -H "Content-Type: application/json" \
  -d '{
    "komoot_api_key": "email@example.com:password",
    "start_date": "2025-01-01",
    "end_date": "2025-12-31",
    "storage_type": "s3",
    "s3_endpoint": "https://s3.eu-central-1.amazonaws.com",
    "s3_bucket": "my-komoot-backup",
    "s3_access_key": "AKIAIOSFODNN7EXAMPLE",
    "s3_secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
  }'
Example Response
{
  "status": "success",
  "message": "Exported 15 tours to S3 bucket my-komoot-backup"
}
GET /health

Health check endpoint. Returns the service status and version.

Example Response
{
  "status": "ok",
  "version": "v0.1.0"
}
Error Responses
Status Code Description
400 Bad Request - Missing required fields or invalid JSON
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error - Export failed (check message for details)