# Audius API
> Audius as an API — the decentralised music streaming platform, returned as clean JSON, no key. Search tracks, artists and playlists; pull trending tracks by genre and time window; look up a track (genre, mood, bpm, musical key, ISRC, play/favourite/repost counts, artwork and a durable stream URL), an artist (followers, track and playlist counts, bio, location) by id or @handle, an artist's own tracks, and a playlist or album with its full track list. Every track comes with a ready-to-play stream URL and a preview URL. Live data straight from the Audius discovery network. Distinct from mainstream catalogues: Audius is an independent, creator-owned catalogue of electronic, hip-hop and underground music with actual streamable audio — ideal for music-discovery apps, players, DJ tools and Web3 music projects. 8 data endpoints. Authenticated with an x-oanor-key; fair-use rate limits per plan.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/audius-api/..."
```

## Pricing
- **Free** (Free) — 2,000 calls/Mo, 5 req/s
- **Starter** ($10/Mo) — 45,000 calls/Mo, 15 req/s
- **Pro** ($38/Mo) — 270,000 calls/Mo, 30 req/s
- **Mega** ($125/Mo) — 1,300,000 calls/Mo, 80 req/s

## Endpoints

### Search

#### `GET /v1/search/playlists` — Search playlists

**Parameters:**
- `query` (query, required, string) — Playlist query Example: `chill`
- `limit` (query, optional, string) — Max results Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/search/playlists?query=chill&limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 10,
        "query": "chill",
        "playlists": [
            {
                "id": "Dv9QV",
                "url": "https://audius.co/solanaMBS/playlist/monkeys-chill-63514",
                "name": "MONKEYS CHILL",
                "user": {
                    "id": "91GBG",
                    "name": "SMB",
                    "handle": "solanaMBS",
                    "is_verified": false
                },
                "tracks": [],
                "artwork": "https://creatornode2.audius.co/content/QmY3KHSqRCWj1cKi678Gc5TsGcyventVWTpng5VbZXNcVA/1000x1000.jpg",
                "is_album": false,
                "description": "🍌",
                "track_count": 10,
                "release_date": "2021-08-30T23:19:55Z",
                "repost_count": 248,
                "favorite_count": 549,
                "total_play_count": 565314
            },
            {
                "id": "ebd1O",
                "url": "https://audius.co/blaketree/playlist/lofi-road-trip-chill-lofi-hiphop-jazz-pop-13491",
                "name": "lofi road trip - chill lofi, hiphop & jazz pop",
                "user": {
                    "id": "LMQaZ",
                    "name": "Blake Tree",
                    "handle": "blaketree",
                    "is_verified": false
                },
                "tracks": [],
                "artwork": "https://audius-content-2.figment.io/content/QmdhNNYqk4K1Pnb3gCFpakNaaYcFiz5owecDSwRG5SokNZ/10
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search/tracks` — Search tracks

**Parameters:**
- `query` (query, required, string) — Search query Example: `techno`
- `genre` (query, optional, string) — Filter by genre Example: `Electronic`
- `limit` (query, optional, string) — Max results (1–100) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/search/tracks?query=techno&genre=Electronic&limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 10,
        "query": "techno",
        "tracks": [
            {
                "id": "apNQJm1",
                "bpm": 159.6,
                "url": "https://audius.co/sammyandlesen/sammy-lesen-gia-koka-techno-king-2-times",
                "isrc": "",
                "mood": "Empowering",
                "tags": "hypertechno",
                "user": {
                    "id": "myAkQ",
                    "name": "SAMMY & LESEN",
                    "handle": "sammyandlesen",
                    "is_verified": true
                },
                "genre": "Electronic",
                "title": "SAMMY & LESEN, Gia Koka, TECHNO KING - 2 Times",
                "artwork": "https://audius-content-10.figment.io/content/01JRHM7WCVS32ESJRN8FDW0ADM/1000x1000.jpg",
                "license": null,
                "duration": 133,
                "play_count": 366,
                "stream_url": "https://api.audius.co/v1/tracks/apNQJm1/stream?app_name=oanor",
                "musical_key": "F major",
                "preview_url": null,
                "downloadable": false,
                "release_date": "2025-04-11T05:14:03Z",
                "repost_count": 60,
                "comment_count": 9,
                "is_streamable": true,
                "favorite_count": 69
            },
            {
                "id": "5QW0lXx",
                "bpm": 133,
                "url": "https://audius.co/djgalactic/techno-mix-0982025",
           
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search/users` — Search artists

**Parameters:**
- `query` (query, required, string) — Artist query Example: `odesza`
- `limit` (query, optional, string) — Max results Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/search/users?query=odesza&limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 10,
        "query": "odesza",
        "users": [
            {
                "id": "2oNg1",
                "bio": "H + C",
                "url": "https://audius.co/odesza",
                "name": "ODESZA",
                "handle": "odesza",
                "location": "Seattle, WA",
                "album_count": 5,
                "cover_photo": null,
                "is_verified": true,
                "track_count": 81,
                "repost_count": 0,
                "follower_count": 220127,
                "playlist_count": 1,
                "following_count": 1,
                "profile_picture": "https://audius-creator-2.theblueprint.xyz/content/QmS1vCfFevBVJRcRmyPTqqHaGw2TG1Pf3d362rDXzyUM6R/1000x1000.jpg"
            },
            {
                "id": "PrW9N",
                "bio": "Stay away from those people who try to disparage your ambitions. Small minds will always do that, but great minds will give you a feeling that you can become great too",
                "url": "https://audius.co/Adesaanya967",
                "name": "Adesaanya Gamoo",
                "handle": "Adesaanya967",
                "location": null,
                "album_count": 0,
                "cover_photo": null,
                "is_verified": false,
                "track_count": 0,
                "repost_count": 0,
                "follower_count": 44,
                "playlist_count": 0,
                "following_count": 120,
          
…(truncated, see openapi.json for full schema)
```

### Discover

#### `GET /v1/tracks/trending` — Trending tracks

**Parameters:**
- `genre` (query, optional, string) — Filter by genre
- `time` (query, optional, string) — week, month, year or allTime Example: `week`
- `limit` (query, optional, string) — Max results Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/tracks/trending?time=week&limit=50"
```

**Response:**
```json
{
    "data": {
        "count": 100,
        "genre": "all",
        "tracks": [
            {
                "id": "BqpPKMP",
                "bpm": 140,
                "url": "https://audius.co/ciaragraves/pump-2",
                "isrc": null,
                "mood": "Fiery",
                "tags": "trap,140,electronic",
                "user": {
                    "id": "aWvp71",
                    "name": "Ciara Graves",
                    "handle": "ciaragraves",
                    "is_verified": true
                },
                "genre": "Dubstep",
                "title": "Pump",
                "artwork": "https://creatornode2.audius.co/content/baeaaaiqsedsizcslowgerwnc7mrwvbzkiog6mckhc77vlk5iplt2tqhddwtoy/1000x1000.jpg",
                "license": null,
                "duration": 178,
                "play_count": 211,
                "stream_url": "https://api.audius.co/v1/tracks/BqpPKMP/stream?app_name=oanor",
                "musical_key": "E flat minor",
                "preview_url": null,
                "downloadable": false,
                "release_date": "2026-06-05T04:00:00Z",
                "repost_count": 37,
                "comment_count": 7,
                "is_streamable": true,
                "favorite_count": 47
            },
            {
                "id": "YVo9amr",
                "bpm": 145,
                "url": "https://audius.co/Hikmetkarakaplan/cash-contact-me",
                "isrc": null,
                "mood": "
…(truncated, see openapi.json for full schema)
```

### Lookup

#### `GET /v1/playlist` — Playlist/album with tracks

**Parameters:**
- `id` (query, required, string) — Audius playlist id Example: `Dv9QV`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/playlist?id=Dv9QV"
```

**Response:**
```json
{
    "data": {
        "playlist": {
            "id": "Dv9QV",
            "url": "https://audius.co/solanaMBS/playlist/monkeys-chill-63514",
            "name": "MONKEYS CHILL",
            "user": {
                "id": "91GBG",
                "name": "SMB",
                "handle": "solanaMBS",
                "is_verified": false
            },
            "tracks": [
                {
                    "id": "J5NMd",
                    "bpm": 86.8,
                    "url": "https://audius.co/lindecis/soulful-110195",
                    "isrc": null,
                    "mood": "Peaceful",
                    "tags": "lindecis,soulful,chillhop,lofi,instrumental,jazz,beat,hiphop,nujabes",
                    "user": {
                        "id": "noBB7",
                        "name": "L'indécis",
                        "handle": "lindecis",
                        "is_verified": false
                    },
                    "genre": "Hip-Hop/Rap",
                    "title": "Soulful",
                    "artwork": "https://cn3.mainnet.audiusindex.org/content/QmbCGGgBHaS1geZ9xnd6GUpyVU6uY7NT1Wg4fG4D5DR3AR/1000x1000.jpg",
                    "license": "All rights reserved",
                    "duration": 221,
                    "play_count": 59455,
                    "stream_url": "https://api.audius.co/v1/tracks/J5NMd/stream?app_name=oanor",
                    "musical_key": "E minor",
                    "preview_url": null,
                    
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/track` — Track detail + stream URL

**Parameters:**
- `id` (query, required, string) — Audius track id Example: `xjadX`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/track?id=xjadX"
```

**Response:**
```json
{
    "data": {
        "track": {
            "id": "xjadX",
            "bpm": 100,
            "url": "https://audius.co/odesza/higher-ground-reprise-instrumental",
            "isrc": null,
            "mood": null,
            "tags": null,
            "user": {
                "id": "2oNg1",
                "name": "ODESZA",
                "handle": "odesza",
                "is_verified": true
            },
            "genre": "Electronic",
            "title": "Higher Ground (Reprise) - Instrumental",
            "artwork": "https://creatornode2.audius.co/content/QmWqUcZu6LVtxyKNHT4xNYyTzFCAgwRtYx4QgyzFnWoarb/1000x1000.jpg",
            "license": null,
            "duration": 228,
            "play_count": 7086,
            "stream_url": "https://api.audius.co/v1/tracks/xjadX/stream?app_name=oanor",
            "musical_key": "G flat major",
            "preview_url": null,
            "downloadable": false,
            "release_date": "2021-11-16T01:41:10Z",
            "repost_count": 114,
            "comment_count": 2,
            "is_streamable": true,
            "favorite_count": 132
        }
    },
    "meta": {
        "timestamp": "2026-06-07T16:47:03.307Z",
        "request_id": "4fb8a82a-264f-4d19-909b-77aaf5b27608"
    },
    "status": "ok",
    "message": "Track retrieved successfully",
    "success": true
}
```

#### `GET /v1/user` — Artist by id or handle

**Parameters:**
- `handle` (query, optional, string) — Audius @handle Example: `odesza`
- `id` (query, optional, string) — Audius user id (if no handle) Example: `2oNg1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/user?handle=odesza&id=2oNg1"
```

**Response:**
```json
{
    "data": {
        "user": {
            "id": "2oNg1",
            "bio": "H + C",
            "url": "https://audius.co/odesza",
            "name": "ODESZA",
            "handle": "odesza",
            "location": "Seattle, WA",
            "album_count": 5,
            "cover_photo": null,
            "is_verified": true,
            "track_count": 81,
            "repost_count": 0,
            "follower_count": 220127,
            "playlist_count": 1,
            "following_count": 1,
            "profile_picture": "https://audius-04.staked.cloud/content/QmS1vCfFevBVJRcRmyPTqqHaGw2TG1Pf3d362rDXzyUM6R/1000x1000.jpg"
        }
    },
    "meta": {
        "timestamp": "2026-06-07T16:47:03.783Z",
        "request_id": "da06b238-21c4-48cc-a67b-31064f03acc8"
    },
    "status": "ok",
    "message": "User retrieved successfully",
    "success": true
}
```

#### `GET /v1/user/tracks` — An artist's tracks

**Parameters:**
- `id` (query, required, string) — Audius user id Example: `2oNg1`
- `limit` (query, optional, string) — Max results Example: `25`
- `sort` (query, optional, string) — date or plays Example: `plays`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/user/tracks?id=2oNg1&limit=25&sort=plays"
```

**Response:**
```json
{
    "data": {
        "count": 25,
        "tracks": [
            {
                "id": "bKpMX",
                "bpm": 140,
                "url": "https://audius.co/odesza/if-theres-time",
                "isrc": null,
                "mood": null,
                "tags": null,
                "user": {
                    "id": "2oNg1",
                    "name": "ODESZA",
                    "handle": "odesza",
                    "is_verified": true
                },
                "genre": "Electronic",
                "title": "If There's Time",
                "artwork": "https://audius-content-13.figment.io/content/QmfH6BGGMG7Rc25noiK76V7AXnytFWPySZiWx5G3fAY6P4/1000x1000.jpg",
                "license": null,
                "duration": 196,
                "play_count": 17345,
                "stream_url": "https://api.audius.co/v1/tracks/bKpMX/stream?app_name=oanor",
                "musical_key": "B flat minor",
                "preview_url": null,
                "downloadable": false,
                "release_date": "2021-10-25T19:59:55Z",
                "repost_count": 112,
                "comment_count": 2,
                "is_streamable": true,
                "favorite_count": 261
            },
            {
                "id": "YR0Zv",
                "bpm": 96,
                "url": "https://audius.co/odesza/how-did-i-get-here",
                "isrc": null,
                "mood": null,
                "tags": null,
                "user": {
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/audius-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "service": "audius-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/user": "User by id or handle.",
            "GET /v1/track": "Track detail + stream URL by id.",
            "GET /v1/playlist": "Playlist/album with its tracks by id.",
            "GET /v1/user/tracks": "A user's tracks by id.",
            "GET /v1/search/users": "Search users/artists.",
            "GET /v1/search/tracks": "Search tracks (genre=).",
            "GET /v1/tracks/trending": "Trending tracks (genre=, time=).",
            "GET /v1/search/playlists": "Search playlists & albums."
        },
        "description": "Audius: the decentralised music streaming platform — search tracks/users/playlists, trending tracks, track/user/playlist detail, a user's tracks, with durable stream URLs. Real live data, no key."
    },
    "meta": {
        "timestamp": "2026-06-07T16:47:04.696Z",
        "request_id": "fd3f076c-5d04-44c5-b762-eb503d33762e"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/audius-api
OpenAPI spec: https://www.oanor.com/api/audius-api/openapi.json
