{"id":15146034,"url":"https://github.com/lbrndnr/soundcloud","last_synced_at":"2026-03-12T05:36:59.746Z","repository":{"id":142333709,"uuid":"323106786","full_name":"lbrndnr/SoundCloud","owner":"lbrndnr","description":"The private SoundCloud API v2 in Swift","archived":false,"fork":false,"pushed_at":"2024-01-16T07:28:53.000Z","size":119,"stargazers_count":34,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-10T00:43:46.867Z","etag":null,"topics":["combine","soundcloud","soundcloud-api","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lbrndnr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-20T15:45:23.000Z","updated_at":"2024-08-28T09:52:18.000Z","dependencies_parsed_at":"2024-01-16T09:35:41.047Z","dependency_job_id":"84485995-242d-4328-a49b-acbd8b0645b3","html_url":"https://github.com/lbrndnr/SoundCloud","commit_stats":{"total_commits":60,"total_committers":1,"mean_commits":60.0,"dds":0.0,"last_synced_commit":"0269982c4193fc5756287095405802b508c45a3f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FSoundCloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FSoundCloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FSoundCloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FSoundCloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lbrndnr","download_url":"https://codeload.github.com/lbrndnr/SoundCloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219867314,"owners_count":16555821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["combine","soundcloud","soundcloud-api","swift"],"created_at":"2024-09-26T12:00:39.164Z","updated_at":"2025-10-24T01:30:23.743Z","avatar_url":"https://github.com/lbrndnr.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SoundCloud\n\n[![Twitter: @lbrndnr](https://img.shields.io/badge/contact-@lbrndnr-blue.svg?style=flat)](https://twitter.com/lbrndnr)\n[![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/lbrndnr/SoundCloud/blob/master/LICENSE)\n\n## About\n\n`SoundCloud` is a Swift package that implements the private SoundCloud API v2. It allows you to login and request the user stream or system playlists, among others. Note that this API is private. I was not granted access to the API nor its documentation, so this package could break at any given moment. This also means that you should definitely use your own client id, since it's likely to expire at some point.\n\n## Usage\n\nYou can login using the following request:\n```swift\n@State private var subscriptions = Set\u003cAnyCancellable\u003e()\n\nSoundCloud.login(username: username, password: password)\n    .receive(on: RunLoop.main)\n    .sink(receiveCompletion: { completion in\n}, receiveValue: { accessToken in\n    print(\"Logged in with access token: \\(accessToken)\")\n})\n.store(in: \u0026subscriptions)\n```\n\nNote that it's currently not possible to login using Google accounts that have been granted access to SoundCloud.\nA typical request to fetch recommendations on whom to follow can be implemented as follows: \n```swift\n@State private var users = [User]()\n@State private var subscriptions = Set\u003cAnyCancellable\u003e()\n\nSoundCloud.shared.get(.whoToFollow())\n    .map { $0.collection }\n    .replaceError(with: [])\n    .receive(on: RunLoop.main)\n    .map { $0.map { $0.user } }\n    .assign(to: \\.users, on: self)\n    .store(in: \u0026subscriptions)\n```\n## Requirements\n`SoundCloud` is built using Swift 5 and Combine.\n\n## Author\nI'm Laurin Brandner, I'm on [Twitter](https://twitter.com/lbrndnr).\n\n## License\n`SoundCloud` is licensed under the [MIT License](http://opensource.org/licenses/mit-license.php).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbrndnr%2Fsoundcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flbrndnr%2Fsoundcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbrndnr%2Fsoundcloud/lists"}