1
0
Fork
You've already forked export-soundcloud-data
0
No description
  • Python 91.9%
  • Shell 8.1%
2026年02月07日 13:34:43 +01:00
.prompt feat: consolidate data export and add markdown processing for albums, playlists, and likes 2026年02月07日 13:26:57 +01:00
.gitignore feat: consolidate data export and add markdown processing for albums, playlists, and likes 2026年02月07日 13:26:57 +01:00
AGENTS.md feat: init auth and exporter 2026年02月06日 19:34:41 +01:00
LICENSE feat: init auth and exporter 2026年02月06日 19:34:41 +01:00
process_soundcloud_data.py feat: add URL cleaning to remove tracking parameters from links in markdown tables 2026年02月07日 13:34:43 +01:00
pyproject.toml feat: init auth and exporter 2026年02月06日 19:34:41 +01:00
README.md feat: consolidate data export and add markdown processing for albums, playlists, and likes 2026年02月07日 13:26:57 +01:00
soundcloud_exporter.py feat: consolidate data export and add markdown processing for albums, playlists, and likes 2026年02月07日 13:26:57 +01:00
soundcloud_oauth.py feat: init auth and exporter 2026年02月06日 19:34:41 +01:00
task feat: consolidate data export and add markdown processing for albums, playlists, and likes 2026年02月07日 13:26:57 +01:00
uv.lock feat: init auth and exporter 2026年02月06日 19:34:41 +01:00

Export SoundCloud Data

A Python script to export your SoundCloud data including likes, playlists, and albums.

Setup

Before running the export, you need to authenticate with SoundCloud using OAuth and set up your environment.

Getting SoundCloud API Access

  1. Visit the SoundCloud Developers Page
  2. Sign up or log in to your account
  3. Create a new app to obtain your Client ID and Secret
  4. Note down your Client ID and Client Secret
  5. Set your redirect URI to http://localhost:8080/callback

Environment Variables

Create a .env file in the project root with the following variables:

SOUNDCLOUD_CLIENT_ID=your_client_id_here
SOUNDCLOUD_CLIENT_SECRET=your_client_secret_here
SOUNDCLOUD_REDIRECT_URI=http://localhost:8080/callback

Replace:

  • your_client_id_here with the Client ID you obtained from SoundCloud Developer Portal
  • your_client_secret_here with the Client Secret you obtained from SoundCloud Developer Portal

Authentication

Before exporting data, you need to authenticate with SoundCloud using OAuth:

./task auth

This will guide you through the OAuth flow to generate an access token, which will be saved to oauth-token.txt for use with the export command.

Usage

After authentication, run the export script using the task runner:

./task export-data

The script will fetch all your tracks and save them to data.json:

  • Liked tracks (with cover link, artist, title, and creation date)
  • Tracks from playlists (with cover link, artist, title, and creation date)
  • Tracks from albums (with cover link, artist, title, and creation date)

Note: The script consolidates all track data into a single data.json file, eliminating the need for separate files.

To process the exported data into markdown tables:

./task process-data

This creates three markdown files in the output/ directory:

  • output/albums.md - Table of all album tracks
  • output/playlists.md - Table of all playlist tracks
  • output/likes.md - Table of all liked tracks

Only the data.json file is required to generate these tables.