A library and CLI tool to sync your SoundCloud likes to local files.
- 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
# 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)
# 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
});
Published automatically to:
- npm
- GitHub Releases (pre-built binaries)