# Mixcloud API
> Mixcloud as an API — the home of long-form audio: DJ mixes, radio shows and podcasts, returned as clean JSON, no key. Search cloudcasts, users or tags; look up a user profile (followers, listens, location, picture) and their shows; get a cloudcast's full detail — play count, favourites, reposts, listener count, audio length, tags and uploader; read a show's comments; pull the trending cloudcasts for any tag or category; and list Mixcloud's categories. Live data straight from Mixcloud's public API. Distinct from track-based music APIs: Mixcloud is hour-long mixes, broadcast archives and shows — ideal for music-discovery apps, radio and DJ directories, podcast tools and audio dashboards. 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/mixcloud-api/..."
```

## Pricing
- **Free** (Free) — 2,500 calls/Mo, 5 req/s
- **Starter** ($9/Mo) — 42,000 calls/Mo, 15 req/s
- **Pro** ($37/Mo) — 260,000 calls/Mo, 30 req/s
- **Mega** ($119/Mo) — 1,250,000 calls/Mo, 80 req/s

## Endpoints

### Search

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

**Parameters:**
- `query` (query, required, string) — Search query Example: `house`
- `type` (query, optional, string) — cloudcast (default), user or tag Example: `cloudcast`
- `limit` (query, optional, string) — Max results (1–100) Example: `25`

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

**Response:**
```json
{
    "data": {
        "data": [
            {
                "key": "/HSEFM/louie-vega-dance-ritual-04-oct-2019/",
                "url": "https://www.mixcloud.com/HSEFM/louie-vega-dance-ritual-04-oct-2019/",
                "name": "Louie Vega - Dance Ritual 04 OCT 2019",
                "slug": "louie-vega-dance-ritual-04-oct-2019",
                "tags": [
                    {
                        "key": "/genres/house/",
                        "url": "https://www.mixcloud.com/genres/house/",
                        "name": "House"
                    },
                    {
                        "key": "/genres/soulful-house/",
                        "url": "https://www.mixcloud.com/genres/soulful-house/",
                        "name": "Soulful house"
                    },
                    {
                        "key": "/genres/afro-house/",
                        "url": "https://www.mixcloud.com/genres/afro-house/",
                        "name": "Afro house"
                    },
                    {
                        "key": "/genres/deep-house/",
                        "url": "https://www.mixcloud.com/genres/deep-house/",
                        "name": "Deep house"
                    },
                    {
                        "key": "/genres/disco/",
                        "url": "https://www.mixcloud.com/genres/disco/",
                        "name": "Disco"
                    }
                ],
                "user": {
 
…(truncated, see openapi.json for full schema)
```

### Users

#### `GET /v1/user` — User profile

**Parameters:**
- `username` (query, required, string) — Mixcloud username Example: `NTSRadio`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mixcloud-api/v1/user?username=NTSRadio"
```

**Response:**
```json
{
    "data": {
        "user": {
            "bio": "Stream us live here: https://www.nts.live/\n\nFull tracklists available here: https://www.nts.live/latest\n\nNTS is a global radio platform built for an international community of music lovers. A platform for the impassioned, it’s a space for artists, DJs and hosts to explore ideas - through sound or otherwise - without limitation or restriction. Below you’ll find recordings of all previous broadcasts, from our launch in April 2011 up to the present day.\n\nReceive news directly from NTS: https://www.nts.live/newsletter\n\nSupport NTS: https://www.nts.live/supporters",
            "key": "/NTSRadio/",
            "url": "https://www.mixcloud.com/NTSRadio/",
            "city": "London",
            "name": "Mixcloud NTS Radio",
            "cover": null,
            "is_pro": true,
            "country": "United Kingdom",
            "picture": "https://thumbnailer.mixcloud.com/unsafe/600x600/profile/6/c/6/2/4cae-6e61-411c-adb6-9d9cd3e9112c.jpg",
            "username": "NTSRadio",
            "is_premium": true,
            "created_time": "2011-07-28T15:17:56Z",
            "listen_count": 590,
            "favorite_count": 1,
            "follower_count": 232278,
            "cloudcast_count": 87024,
            "following_count": 209
        }
    },
    "meta": {
        "timestamp": "2026-06-07T16:47:05.795Z",
        "request_id": "4cf2a944-f5e9-4b95-9696-9168a43252a0"
    },
    "status": "ok",
    "message": "
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/user/followers` — A user's followers

**Parameters:**
- `username` (query, required, string) — Mixcloud username Example: `NTSRadio`
- `limit` (query, optional, string) — Max results Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mixcloud-api/v1/user/followers?username=NTSRadio&limit=25"
```

**Response:**
```json
{
    "data": {
        "data": [
            {
                "key": "/solarist/",
                "url": "https://www.mixcloud.com/solarist/",
                "name": "solarist",
                "picture": "https://thumbnailer.mixcloud.com/unsafe/600x600/defaults/users/v2/4.png",
                "username": "solarist"
            },
            {
                "key": "/AlexArzt/",
                "url": "https://www.mixcloud.com/AlexArzt/",
                "name": "AlexArzt",
                "picture": "https://thumbnailer.mixcloud.com/unsafe/600x600/defaults/users/v2/5.png",
                "username": "AlexArzt"
            },
            {
                "key": "/Davidrose76/",
                "url": "https://www.mixcloud.com/Davidrose76/",
                "name": "Davidrose76",
                "picture": "https://thumbnailer.mixcloud.com/unsafe/600x600/defaults/users/v2/4.png",
                "username": "Davidrose76"
            },
            {
                "key": "/Aesthetica2001/",
                "url": "https://www.mixcloud.com/Aesthetica2001/",
                "name": "Aesthetica2001",
                "picture": "https://thumbnailer.mixcloud.com/unsafe/600x600/defaults/users/v2/7.png",
                "username": "Aesthetica2001"
            },
            {
                "key": "/mixlo23/",
                "url": "https://www.mixcloud.com/mixlo23/",
                "name": "mixlo23",
                "picture": "https://thumbnailer.mixcloud.com/unsafe/6
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/user/shows` — A user's shows

**Parameters:**
- `username` (query, required, string) — Mixcloud username Example: `NTSRadio`
- `limit` (query, optional, string) — Max results Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mixcloud-api/v1/user/shows?username=NTSRadio&limit=25"
```

**Response:**
```json
{
    "data": {
        "data": [
            {
                "key": "/NTSRadio/the-one-glove-breakfast-show-w-macca-6th-june-2026-1/",
                "url": "https://www.mixcloud.com/NTSRadio/the-one-glove-breakfast-show-w-macca-6th-june-2026-1/",
                "name": "The One Glove Breakfast Show w/ Macca - 6th June 2026",
                "slug": "the-one-glove-breakfast-show-w-macca-6th-june-2026-1",
                "tags": [
                    {
                        "key": "/genres/electronica/",
                        "url": "https://www.mixcloud.com/genres/electronica/",
                        "name": "Electronica"
                    },
                    {
                        "key": "/genres/ambient-jazz/",
                        "url": "https://www.mixcloud.com/genres/ambient-jazz/",
                        "name": "Ambient jazz"
                    },
                    {
                        "key": "/genres/leftfield-pop/",
                        "url": "https://www.mixcloud.com/genres/leftfield-pop/",
                        "name": "Leftfield Pop"
                    },
                    {
                        "key": "/genres/nts/",
                        "url": "https://www.mixcloud.com/genres/nts/",
                        "name": "NTS"
                    },
                    {
                        "key": "/genres/the-one-glove-breakfast-show-w-macca/",
                        "url": "https://www.mixcloud.com/genres/the-one-gl
…(truncated, see openapi.json for full schema)
```

### Cloudcasts

#### `GET /v1/cloudcast` — Cloudcast detail

**Parameters:**
- `username` (query, required, string) — Uploader username Example: `spartacus`
- `slug` (query, required, string) — Cloudcast slug Example: `party-time`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mixcloud-api/v1/cloudcast?username=spartacus&slug=party-time"
```

**Response:**
```json
{
    "data": {
        "cloudcast": {
            "key": "/spartacus/party-time/",
            "url": "https://www.mixcloud.com/spartacus/party-time/",
            "name": "Party Time",
            "slug": "party-time",
            "tags": [
                {
                    "key": "/genres/funky-house/",
                    "url": "https://www.mixcloud.com/genres/funky-house/",
                    "name": "Funky house"
                },
                {
                    "key": "/genres/funk/",
                    "url": "https://www.mixcloud.com/genres/funk/",
                    "name": "Funk"
                },
                {
                    "key": "/genres/soul/",
                    "url": "https://www.mixcloud.com/genres/soul/",
                    "name": "Soul"
                }
            ],
            "user": {
                "key": "/spartacus/",
                "name": "Spartacus",
                "username": "spartacus"
            },
            "picture": "https://thumbnailer.mixcloud.com/unsafe/600x600/extaudio/6/1/a/1/279f-e3c0-4871-aa8e-c4cf5466edb8.png",
            "play_count": 9390,
            "audio_length": 3361,
            "created_time": "2009-08-02T16:55:01Z",
            "repost_count": 7,
            "updated_time": "2026-05-29T17:47:43Z",
            "comment_count": 5,
            "favorite_count": 37,
            "listener_count": 303
        }
    },
    "meta": {
        "timestamp": "2026-06-07T16:47:06.710Z",
        "
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/cloudcast/comments` — Cloudcast comments

**Parameters:**
- `username` (query, required, string) — Uploader username Example: `spartacus`
- `slug` (query, required, string) — Cloudcast slug Example: `party-time`
- `limit` (query, optional, string) — Max results Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mixcloud-api/v1/cloudcast/comments?username=spartacus&slug=party-time&limit=25"
```

**Response:**
```json
{
    "data": {
        "data": [
            {
                "user": {
                    "name": "Neil",
                    "username": "NeilMxCd"
                },
                "comment": "Hey ho!",
                "submit_date": "2024-01-18T11:17:57Z"
            },
            {
                "user": {
                    "name": "myanza",
                    "username": "myanza"
                },
                "comment": "Una de de las mejores canciones del mundo! :)",
                "submit_date": "2019-04-03T00:08:28Z"
            },
            {
                "user": {
                    "name": "0Bah88812.",
                    "username": "mahendrab950"
                },
                "comment": "Good work !!!!",
                "submit_date": "2015-09-11T11:49:29Z"
            },
            {
                "user": {
                    "name": "Nikhil Shah (DJ Sketchy)",
                    "username": "sketchy"
                },
                "comment": "Good work mate! Like it towards the end as it gets a bit deeper. Loving the Elio Isola / Eric Morillo section.",
                "submit_date": "2009-08-02T23:51:54Z"
            },
            {
                "user": {
                    "name": "Rez",
                    "username": "rez"
                },
                "comment": "Big up for bringing the funk Sam!",
                "submit_date": "2009-08-02T17:06:59Z"
            }
        ],
        "slug": "party-time",
    
…(truncated, see openapi.json for full schema)
```

### Discover

#### `GET /v1/categories` — Categories

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

**Response:**
```json
{
    "data": {
        "data": [
            {
                "key": "/categories/ambient/",
                "url": "https://www.mixcloud.com/categories/ambient/",
                "name": "Ambient"
            },
            {
                "key": "/categories/bass/",
                "url": "https://www.mixcloud.com/categories/bass/",
                "name": "Bass"
            },
            {
                "key": "/categories/beats/",
                "url": "https://www.mixcloud.com/categories/beats/",
                "name": "Beats"
            },
            {
                "key": "/categories/chillout/",
                "url": "https://www.mixcloud.com/categories/chillout/",
                "name": "Chillout"
            },
            {
                "key": "/categories/classical/",
                "url": "https://www.mixcloud.com/categories/classical/",
                "name": "Classical"
            },
            {
                "key": "/categories/deep-house/",
                "url": "https://www.mixcloud.com/categories/deep-house/",
                "name": "Deep House"
            },
            {
                "key": "/categories/drum-bass/",
                "url": "https://www.mixcloud.com/categories/drum-bass/",
                "name": "Drum & Bass"
            },
            {
                "key": "/categories/dub/",
                "url": "https://www.mixcloud.com/categories/dub/",
                "name": "Dub"
            },
            {
     
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/tag/popular` — Trending shows per tag

**Parameters:**
- `tag` (query, required, string) — Tag or category slug Example: `house`
- `limit` (query, optional, string) — Max results Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mixcloud-api/v1/tag/popular?tag=house&limit=25"
```

**Response:**
```json
{
    "data": {
        "tag": "house",
        "data": [
            {
                "key": "/djtrieumuzik/nonstop-full-nh%E1%BA%A1c-tr%C3%B4i-tay-tr%C3%A1i-ch%E1%BB%89-tr%C4%83ng-dj-tri%E1%BB%87u-muzik-mix/",
                "url": "https://www.mixcloud.com/djtrieumuzik/nonstop-full-nh%E1%BA%A1c-tr%C3%B4i-tay-tr%C3%A1i-ch%E1%BB%89-tr%C4%83ng-dj-tri%E1%BB%87u-muzik-mix/",
                "name": "NONSTOP - FULL NHẠC TRÔI - TAY TRÁI CHỈ TRĂNG - DJ TRIỆU MUZIK MIX [VIỆT MIX - CHINA MIX]",
                "slug": "nonstop-full-nhạc-trôi-tay-trái-chỉ-trăng-dj-triệu-muzik-mix",
                "tags": [
                    {
                        "key": "/genres/house/",
                        "url": "https://www.mixcloud.com/genres/house/",
                        "name": "House"
                    },
                    {
                        "key": "/genres/dj-tri%E1%BB%87u-muzik/",
                        "url": "https://www.mixcloud.com/genres/dj-tri%E1%BB%87u-muzik/",
                        "name": "DJ Triệu Muzik"
                    },
                    {
                        "key": "/genres/full-nh%E1%BA%A1c-tr%C3%B4i/",
                        "url": "https://www.mixcloud.com/genres/full-nh%E1%BA%A1c-tr%C3%B4i/",
                        "name": "Full nhạc trôi"
                    },
                    {
                        "key": "/genres/li%C3%AAn-h%E1%BB%87-%C4%91%E1%BA%B7t-mua-nh%E1%BA%A1c/",
                        "url"
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "service": "mixcloud-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/user": "User profile by username.",
            "GET /v1/search": "Search cloudcasts, users or tags (type=).",
            "GET /v1/cloudcast": "Cloudcast (show) detail by username + slug.",
            "GET /v1/categories": "Mixcloud categories.",
            "GET /v1/user/shows": "A user's cloudcasts.",
            "GET /v1/tag/popular": "Trending cloudcasts for a tag/category.",
            "GET /v1/user/followers": "A user's followers.",
            "GET /v1/cloudcast/comments": "A cloudcast's comments."
        },
        "description": "Mixcloud: long-form audio (DJ mixes, radio shows, podcasts) — search, user profiles & shows, cloudcast detail & comments, trending shows per tag, categories. Real live data, no key."
    },
    "meta": {
        "timestamp": "2026-06-07T16:47:08.597Z",
        "request_id": "b4256449-c12e-4f4a-8172-d7552cafe37e"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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