Skip to content

realies/soundcloud-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

665 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoundCloud Sync

GitHub Last Commit GitHub Workflow Status CodeQL NPM Version NPM Downloads

A library and CLI tool to sync your SoundCloud likes to local files.

Features

  • Download liked tracks from any SoundCloud profile
  • Automatic metadata tagging (title, artist, artwork) using ID3v2
  • Preserves like dates as file modification times
  • Verify and update timestamps of existing files
  • Supports incremental syncing (only downloads new likes)
  • Can be used as a library in other projects
  • Minimal dependencies with pure TypeScript implementation
  • Cross-platform support with pre-built binaries

Quick Start

CLI Usage

# Install globally
npm install -g soundcloud-sync

# Download your likes
soundcloud-sync -u your-username

# Download with limit
soundcloud-sync -u your-username --limit 100

# Download with limit and custom folder
soundcloud-sync -u your-username --limit 100 --folder ./my-music

# Download and verify timestamps
soundcloud-sync -u your-username --limit 100 --folder ./my-music --verify-timestamps

# Only verify timestamps of existing files
soundcloud-sync -u your-username --limit 100 --folder ./my-music --verify-timestamps --no-download

Pre-built binaries are also available from the releases page for:

  • Linux (x64, ARM64)
  • macOS (x64, ARM64/Apple Silicon)
  • Windows (x64, ARM64)

Library Usage

# Install in your project
npm install soundcloud-sync
# or
yarn add soundcloud-sync
import { soundCloudSync } from 'soundcloud-sync';

// Download latest likes
await soundCloudSync({
  username: 'your-username',
  limit: 100,
  folder: './my-music'
});

// Only verify timestamps of existing files
await soundCloudSync({
  username: 'your-username',
  limit: 100,
  verifyTimestamps: true,
  noDownload: true
});

// Verify timestamps and download new tracks
await soundCloudSync({
  username: 'your-username',
  limit: 100,
  verifyTimestamps: true
});

Documentation

Releases

Published automatically to: