Integrating Soundstripe's content into your application
Soundstripe's API makes it incredibly easy to bring our content right into your application. Whether your application is a video editing tool, a social media app, or something else entirely, we've done our best to make it as effortless as possible to make Soundstripe's world-class music catalog a first-class citizen of your application.
Whatever route you choose to take for integration, we ask that you prevent Soundstripe's content from being unnecessarily exposed to client-side environments. For instance, we expose lossless WAV file URLs in our API to make integration as easy as possible, but users should not have access to those until absolutely necessary.
Example scenario: 📹 Video editing tool, 📱Social media app, or similar
If you're creating a video editing app, using the MP3 file URLs to stream content to the front-end for previewing/editing should be sufficient. The WAV file URL shouldn't even need to see the front-end, it can just be stitched to the video content on the back-end at export time.
Each application's use case is different, so feel free to run it by us if you have any questions on how best to honor this commitment. Thank you for being considerate of our content, and for helping us to protect what our amazing artists have worked so hard to create!
Option 1 (Recommended): Index Soundstripe's API Nightly
The way most of our clients integrate with Soundstripe's API is by regular indexing of our catalog. This is our recommended way to integrate our catalog into your application due to the flexibility it offers. It allows you to create your own search and filter, group our content with other assets you may offer, etc. In order to get the most out of this setup, there's two general best practices to follow.
- For security reasons, you must serve Soundstripe's content to your users via our CDN. This includes audio files, stem files, artist images, etc. The necessary URLs are provided in the resources returned in API responses, but they expire in 7 days or less depending on when you're retrieving them. We refresh them every few days, so indexing nightly or more often will ensure the content at URLs you surface in your application is always accessible.
- We recommend doing a full reindex every night of all resources and their attributes. From time to time, we might correct or update metadata for songs, add or remove tags, etc. so it's best to regularly index not just content served from Soundstripe-provided URLs, but all metadata. You can loop through paginated resources in our API quickly, so most of our clients typically refresh their entire index of our content in under a minute or two. This also covers cases where we might remove content from our catalog for one reason or another. IDs are guaranteed to be unique, so you'll never see an ID resurface as a different resource. If an ID is gone from the API but reappears later, it's safe to assume it's the same resource in a similar or updated state.
Option 2: Proxy Soundstripe's API
Another way that some of our clients integrate with Soundstripe's API is by proxying to our API through their back-end. Client-side applications are prohibited from communicating with Soundstripe's API due to the privileged nature of API keys which grant direct access to our content, so the way to leverage Soundstripe's API's search and filter capabilities in real-time is by communicating with your own back-end from the client-side, then communicating with our API from your back-end, and returning the requested resources to your client-side from your back-end. This is not recommended due to the increased latency that comes with proxying and the lack of flexibility that this approach ultimately warrants, but it can be helpful for quickly testing our API in your application.
Updated 7 months ago
Next, hop over to our API Reference to get started!