BEATSTORE

Docs / BeatStore WordPress Plugin

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

  1. A SoundCloud API application (SoundCloud for Developers). SoundCloud currently gates apps (Artist Pro may be required: check their latest developer policy).
  2. 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)

  1. In WordPress go to BeatStore → Integrations.
  2. Open the SoundCloud card.
  3. Paste your Client ID and Client Secret.
  4. 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

  1. Edit a Download / Product.
  2. Set Audio Preview Source to SoundCloud.
  3. Paste the public track permalink (for example https://soundcloud.com/yourname/track-name).
  4. 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