SoundCloud audio previews
BeatStore can stream a public SoundCloud track as the beat preview in the player. Upload and Dropbox remain fully supported.
What’s new (2026)
SoundCloud previews now use the official OAuth Client Credentials API:
- Resolve track permalinks over HTTPS with an authenticated request
- Fetch stream URLs from SoundCloud’s modern streams endpoints
- Cache the access token and resolved preview per beat (cleared when you save)
The old public client_id query-string URLs and third-party resolve proxies are gone. If SoundCloud previews stopped working on your site, add API credentials as below and re-save any affected beats.
Requirements
- A SoundCloud API application (SoundCloud for Developers). SoundCloud currently gates apps (Artist Pro may be required: check their latest developer policy).
- Your app’s Client ID and Client Secret stored only on the server (never in the repo or front-end JavaScript).
Configure credentials
Option A. Integrations page (recommended)
- In WordPress go to BeatStore → Integrations.
- Open the SoundCloud card.
- Paste your Client ID and Client Secret.
- Click Save & test connection.
A green Connected badge means BeatStore can request stream URLs. Leave the secret blank on later saves to keep the stored value.
Option B: wp-config.php (agencies / locked hosts)
Above the “That’s all, stop editing!” line:
define( 'BEATSTORE_SOUNDCLOUD_CLIENT_ID', 'your-client-id' );
define( 'BEATSTORE_SOUNDCLOUD_CLIENT_SECRET', 'your-client-secret' );
Aliases SOUNDCLOUD_CLIENT_ID / SOUNDCLOUD_CLIENT_SECRET are also accepted. Constants override the Integrations UI (fields appear locked).
If credentials are missing, SoundCloud-sourced beats will not receive a playable preview URL. Upload and Dropbox previews are unaffected.
Per-beat setup
- Edit a Download / Product.
- Set Audio Preview Source to SoundCloud.
- Paste the public track permalink (for example
https://soundcloud.com/yourname/track-name). - Publish / Update.
BeatStore resolves the permalink server-side, prefers a progressive HTTP MP3 when available, caches the result for a few hours, and clears that cache when you save the beat.
Troubleshooting
| Symptom | What to check |
| --- | --- |
| Preview won’t play | Credentials defined in wp-config.php, then clear any page/object cache |
| Still silent after credentials | Track must be public and streamable off-platform; private / blocked / geo-restricted tracks won’t work |
| Artwork missing | Featured image falls back to your WordPress thumbnail if SoundCloud has no artwork |
| Works after save, fails later | Rare CDN expiry: re-save the beat to refresh the cached stream URL |
See also general Troubleshooting (CORS, PHP version, permalinks).
Notes
- Prefer progressive HTTP MP3 when SoundCloud provides it so Howler / jPlayer can play without HLS.
- Attribution rules still apply when embedding SoundCloud audio in a custom player: see SoundCloud’s Terms and Attribution Guidelines.
- Related: Add New Music / Beats · Dropbox audio previews