Getting Started with the Audius SDK
Overview
The Audius JavaScript (TypeScript) SDK allows you to easily interact with the Audius protocol. Use the SDK to:
- 🔍 Search and display users, tracks, and playlists
- 🎵 Stream and upload tracks
- ❤️ Favorite, repost, and curate playlists
- ✍️ Allow your users to log in with their Audius account and act on their behalf
...and much more!
API Plans
Audius offers two API plans:
| Plan | Rate Limit | Monthly Requests |
|---|---|---|
| Free | 10 requests/second | 500,000 requests/month |
| Unlimited | Unlimited | Unlimited |
The Free plan is always free with no restrictions. For higher limits and support, contact [email protected] about the Unlimited plan.
Get Your API Key and Bearer Token
-
Visit the Audius API Plans page and click "Create API Key" to generate your credentials.
-
You will receive an API Key and a Bearer Token. Save both securely — treat them like passwords.
Install the SDK
Node.js
If your project is in a Node.js environment, run this in your terminal:
npm install @audius/sdkHTML + JS
Otherwise, include the SDK script tag in your web page. The Audius SDK will then be assigned to
window.audiusSdk.
<script src="https://cdn.jsdelivr.net/npm/@audius/sdk@latest/dist/sdk.min.js"></script>Initialize the SDK
Initialize the SDK with your API key and bearer token.
Node.js example
import { sdk } from '@audius/sdk'
const audiusSdk = sdk({
apiKey: 'Your API Key goes here',
bearerToken: 'Your Bearer Token goes here',
})HTML + JS example
const audiusSdk = window.audiusSdk({
apiKey: 'Your API Key goes here',
})Make your first API call using the SDK!
Once you have the initialized SDK instance, it's smooth sailing to making your first API calls.
// Fetch your first track!
const track = await audiusSdk.tracks.getTrack({ trackId: 'D7KyD' })
console.log(track, 'Track fetched!')
// Favorite a track
const userId = (
await audiusSdk.users.getUserByHandle({
handle: 'Your Audius handle goes here',
})
).data?.id
await audiusSdk.tracks.favoriteTrack({
trackId: 'D7KyD',
userId,
})Full Node.js example
import { sdk } from '@audius/sdk'
const audiusSdk = sdk({
apiKey: 'Your API Key goes here',
bearerToken: 'Your Bearer Token goes here',
})
const track = await audiusSdk.tracks.getTrack({ trackId: 'D7KyD' })
console.log(track, 'Track fetched!')
const userId = (
await audiusSdk.users.getUserByHandle({
handle: 'Your Audius handle goes here',
})
).data?.id
await audiusSdk.tracks.favoriteTrack({
trackId: 'D7KyD',
userId,
})
console.log('Track favorited!')Full HTML + JS example
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@audius/sdk@latest/dist/sdk.min.js"></script>
<script>
const fn = async () => {
const audiusSdk = window.audiusSdk({
apiKey: 'Your API Key goes here',
})
const track = await audiusSdk.tracks.getTrack({ trackId: 'D7KyD' })
console.log(track, 'Track fetched!')
}
fn()
</script>
</head>
<body>
<h1>Example content</h1>
</body>
</html>What's next?
-
Get authorization to access your app's users' Audius accounts
-
Explore the API docs to see what else you can do with the Audius SDK
Direct API Access
You can also access the Audius API directly without the SDK:
REST API:curl -X GET "https://api.audius.co/v1/tracks/trending" \
-H "Authorization: Bearer <YOUR-API-BEARER-TOKEN>"grpcurl -H "authorization: Bearer <YOUR-API-BEARER-TOKEN>" \
grpc.audius.co:443 listFor more details, visit the API documentation or the Swagger definition.