Audius API
Free streaming catalogue API with no key: trending tracks, artists and playlists from a decentralised network, including streamable audio URLs. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Audius API?
Audius exposes its entire catalogue through a public API needing no key — only a self-declared `app_name` string. Trending tracks come back with full metadata, artwork, play counts and a streamable audio endpoint per track.
What separates Audius from the other catalogue APIs is that it will actually give you the audio. Most services hand over metadata and stop at a thirty-second preview behind a licensing wall; Audius hosts the recordings itself under artist-granted terms, so `/v1/tracks/{id}/stream` returns playable audio for anything marked `is_streamable`. That makes it the rare music API you can build a working player on.
The one piece of setup that trips people up is the host. Audius runs as a network of independent discovery nodes rather than a single API server, and the canonical way to start is to fetch `https://api.audius.co`, which returns a list of healthy node hostnames to pick from. The example here calls one node directly for reproducibility, but a production client should select from that list and fail over when a node goes quiet. The `app_name` parameter is required on every request — it is a courtesy identifier you invent yourself, not a key to register for.
Quick facts
- Base URL
https://discoveryprovider.audius.co/v1- Authentication
- No API key or account. Every request must carry an `app_name` query parameter, which is a string you choose yourself so the network can attribute traffic.
- Rate limit
- Set per discovery node rather than centrally. Rotate across nodes from the api.audius.co list for anything sustained.
- Pricing
- Free. The protocol is open and the nodes are community-operated.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Audius API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Fetch currently trending tracks
GET https://discoveryprovider.audius.co/v1/tracks/trending?app_name=ByteToolsDirectory
curl 'https://discoveryprovider.audius.co/v1/tracks/trending?app_name=ByteToolsDirectory'const res = await fetch("https://discoveryprovider.audius.co/v1/tracks/trending?app_name=ByteToolsDirectory");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://discoveryprovider.audius.co/v1/tracks/trending?app_name=ByteToolsDirectory", timeout=20)
res.raise_for_status()
print(res.json()){
"data": [
{
"track_id": 1561303129,
"description": "Like the track? Click the [↻ Repost] button!\n\nNEW ONE FOR THA CULTURE\nSHOUTOUT STUNNA POSSE X ARTIST INFLUENCE\n\nM?STIC\nwww.facebook.com/soundsbymystic\nwww.twitter.com/soundsbymystic\nwww.instagram.com/soundsbymystic\nwww.facebook.com/badmouthrecs\nwww.badmouthmgmt.com\n\n@STUNNAPOSSECULT\n\nPATREON:\nwww.patreon.com/soundsbymystic\n\nSAMPLE PACKS:\nwww.stunnaposse.gumroad.com",
"genre": "Electronic",
"id": "qb1AW4E",
"track_cid": "baeaaaiqseddqcd2ki2msxebm32fs2vkoyp5sr6op575g7beaoqvri4lvasd7y",
"preview_cid": null,
"orig_file_cid": "baeaaaiqsed5oflfvh3t6dy4o74uo2biz7lchxcmcxqctpuxz73y33lwch2doe",
"orig_filename": "M?STIC & SPECKZ - PAIN KILLER (MASTERED).wav",
"is_original_available": false,
"mood": "Gritty",
"release_date": "2026-08-14T19:22:19Z",
"repost_count": 31,
"favorite_count": 38,
"comment_count": 6,
"tags": "mstic,speckz,painkiller,artistinfluence",
"title": "M?STIC & SPECKZ - PAIN KILLER ",
"slug": "mstic-speckz-pain-killer",
"duration": 195,
"is_downloadable": false,
"play_count": 464,
"ddex_app": null,
"pinned_comment_id": null,
"playlists_containing_track": [
1795117483,
1078557990
],
"playlists_previously_containing_track": {},
"album_backlink": null,
"blocknumber": 120712437,
"create_date": null,
"created_at": "2026-08-14T19:22:19.170262Z",
"cover_art_sizes": "baeaaaiqsebjzyngiazcgayukx47wvt3ydu7ekpqParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
app_name | query | Required | Identifier for your application. Any descriptive string; there is nothing to register. ByteToolsDirectory |
limit | query | Optional | How many tracks to return. 10 |
genre | query | Optional | Restrict trending to one genre, such as `Electronic` or `Hip-Hop`. Electronic |
time | query | Optional | Trending window: `week`, `month`, `year` or `allTime`. week |
Response fields
data[].idstring- Short base-encoded track id used everywhere else in the API — this, not `track_id`, is what the stream and detail endpoints take.
data[].title / descriptionstring- Track title and the artist's own description, which is free text and frequently long.
data[].genre / moodstring- Artist-declared genre and mood tags.
data[].durationinteger- Length in seconds.
data[].play_count / favorite_count / repost_count / comment_countinteger- Engagement counters, which are what the trending ranking is built on.
data[].is_streamable / is_downloadableboolean- Whether audio can be streamed or downloaded. Check `is_streamable` before building a player URL.
data[].bpm / musical_keyinteger / string- Tempo and key, where the uploader supplied or the network analysed them.
data[].artworkobject- Cover art at several square sizes, keyed by pixel dimensions.
data[].userobject- The uploading artist — handle, display name, follower count and profile art.
data[].permalinkstring- Path on audius.co for the human-facing page.
data[].release_date / created_at / updated_atstring- Timestamps. `release_date` is artist-declared and can differ sharply from `created_at`.
What you can build with the Audius API
- Build a working music player with genuinely streamable audio
- Surface trending independent tracks by genre in a discovery app
- Analyse engagement patterns across a decentralised music network
- Pull BPM and key metadata for a DJ or set-planning tool
Common errors and how to fix them
400 missing app_name
The parameter is mandatory on every request.
Fix: Append `app_name=YourApp`. It needs no registration but the request is rejected without it.
Node returns 5xx or hangs
Discovery nodes are independently operated and go down individually.
Fix: Fetch the node list from `https://api.audius.co` and fail over to another host rather than hard-coding one.
Stream URL 404s
The track is not streamable, or you used `track_id` instead of `id`.
Fix: Check `is_streamable` first, and pass the short string `id` — the numeric `track_id` is an internal value.
Descriptions full of promotional text
`description` is uploader-controlled free text.
Fix: Truncate it for display and escape it. Some entries run to hundreds of characters of social links.
Audius API — frequently asked questions
Does the Audius API need an API key?
No key and no account. It does require an `app_name` query parameter on every request, but that is a string you invent yourself so the network can attribute traffic.
Can I actually stream the audio?
Yes, which is unusual. Audius hosts the recordings under artist-granted terms, so `/v1/tracks/{id}/stream` serves playable audio for any track flagged `is_streamable`.
Which host should I call?
Fetch `https://api.audius.co` for a list of healthy discovery nodes and pick one, rather than pinning a single hostname. Nodes are independently run and go down individually.
Why are there two different track ids?
`id` is the short base-encoded identifier the API uses in paths and is what you should pass everywhere. `track_id` is an internal numeric value that appears in responses but is not the one endpoints accept.
Tools that pair with this API
BPM Detector
Find the tempo of any song in beats per minute. Upload nothing: the track is decoded and analysed in your browser, with alternates and a confidence score.
Audio Converter
Convert audio online for free. Turn any file into MP3, WAV, OGG, M4A or FLAC right in your browser with one tool — nothing is ever uploaded to a server.
Audio Waveform Generator
Turn any audio file into a waveform image online for free. Customize colors, bars and size, then download a transparent PNG — audio never leaves your device.
Audius is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.