API Credentials from Your Terminal, and OpenAPI on GitHub

In May we opened self-service app registration for Artist Pro subscribers. That fixed the browser flow. Two requests kept coming up anyway: can I do this from the terminal? and where is the OpenAPI file?

Here is what we shipped.


Register from the terminal

Not everyone wants to fill in a web form. If you live in a shell, or you are wiring up an agent that expects shell steps, we added sc-api-auth.mjs to soundcloud/api.

It opens a browser for OAuth (think aws sso login), registers your app, and prints your Client ID and the credential JSON to stdout. One file, Node.js 18+, no npm install.

SoundCloud API Registration OAuth consent screen

curl -fsSL https://raw.githubusercontent.com/soundcloud/api/master/scripts/sc-api-auth.mjs -o sc-api-auth.mjs
node sc-api-auth.mjs \
  --name "My API App" \
  --description "What my integration does" \
  --website "https://example.com"

Same rules as the website: Artist Pro, app metadata, API Terms of Use. Already have an app? It returns what you have instead of creating a second one.

Docs: Get an API key (command line).


OpenAPI spec on GitHub

The Swagger UI explorer is still the place to click around and try calls.

If you want the spec as a file (codegen, offline reference, LLM context), it now lives on GitHub: openapi/api.yaml in soundcloud/api. Same document as the explorer. We update it when the API changes.

curl -fsSL https://raw.githubusercontent.com/soundcloud/api/master/openapi/api.yaml -o soundcloud-api.yaml

Building with an AI assistant? Point it at the YAML plus our Building with AI page or the LLM context summary so it stops inventing auth headers.


Where to look on GitHub

soundcloud/api is the public repo for API discussion, release notes, the sc-api-auth.mjs script, and openapi/api.yaml. Bugs and feature requests go to GitHub Issues there.


Happy Building!