BYTETOOLS

Mixcloud API

Free Mixcloud API with no key for public reads: user profiles, follower and listen counts, and the shows they have uploaded. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Mixcloud API?

Mixcloud's public data is readable without any API key. Requesting a username returns the profile — display name, biography, location, picture set — along with follower, following, upload, favourite and listen counts.

Mixcloud occupies a specific niche: long-form DJ mixes, radio shows and podcasts, licensed so that continuous mixes containing other people's records can legally exist. Its public API mirrors the site's URL structure exactly, which is unusually pleasant to work with — whatever path you see in the browser, put `api.` in front of the host and you get the JSON for it.

Reading public objects needs no credentials whatsoever; OAuth only enters the picture for actions on behalf of a user. The counters returned on a profile are the useful part for anything analytical — `listen_count`, `follower_count` and `cloudcast_count` together tell you far more about a show's reach than a follower number alone. One quirk worth noting: the response declares `text/javascript` as its content type, a leftover from the days of JSONP, although the body is plain JSON.

Quick facts

Base URL
https://api.mixcloud.com
Authentication
No key for reading public users, shows and tags. OAuth is required only to act on behalf of a user, such as following or favouriting.
Rate limit
Not published as a fixed figure. Mixcloud throttles aggressive clients — keep concurrency low and cache.
Pricing
Free for public reads.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Mixcloud 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 a public Mixcloud profile

GET https://api.mixcloud.com/spartacus/

curl
curl 'https://api.mixcloud.com/spartacus/'
JavaScript (fetch)
const res = await fetch("https://api.mixcloud.com/spartacus/");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.mixcloud.com/spartacus/", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "key": "/spartacus/",
  "url": "https://www.mixcloud.com/spartacus/",
  "name": "Spartacus",
  "username": "spartacus",
  "pictures": {
    "small": "https://thumbnailer.mixcloud.com/unsafe/25x25/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9",
    "thumbnail": "https://thumbnailer.mixcloud.com/unsafe/50x50/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9",
    "medium_mobile": "https://thumbnailer.mixcloud.com/unsafe/80x80/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9",
    "medium": "https://thumbnailer.mixcloud.com/unsafe/100x100/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9",
    "large": "https://thumbnailer.mixcloud.com/unsafe/300x300/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9",
    "320wx320h": "https://thumbnailer.mixcloud.com/unsafe/320x320/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9",
    "extra_large": "https://thumbnailer.mixcloud.com/unsafe/600x600/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9",
    "640wx640h": "https://thumbnailer.mixcloud.com/unsafe/640x640/profile/2/7/9/e/c70a-cdba-4fb6-a57d-c16f5520fdc9"
  },
  "biog": "Part of the Mixcloud team - since Mixcloud was just a good idea.",
  "created_time": "2009-03-10T07:32:56Z",
  "updated_time": "2009-03-10T07:32:56Z",
  "follower_count": 771,
  "following_count": 102,
  "cloudcast_count": 5,
  "favorite_count": 74,
  "listen_count": 2503,
  "is_pro": true,
  "is_premium": true,
  "city": "London",
  "country": "United Kingdom",
  "cover_pictures": {
    "835wx120h": "https://thumbnailer.mixcloud.com/unsafe/835x120/profile_cover/d/b/9/0/4328-5114-4c10-adcb-613d0c92337f.jpg",
    "1

Parameters

ParameterTypeRequiredDescription
(username)pathRequiredThe account's Mixcloud username, exactly as it appears in the site URL. spartacus
/cloudcasts/pathOptionalAppend to a username to list that account's uploaded shows, paginated.
metadataqueryOptionalSet to 1 to include extra relationship metadata on the object. 1
limit / offsetqueryOptionalStandard paging controls on list endpoints. 20

Response fields

username / namestring
Account handle and display name.
key / urlstring
API path for the object and the human-facing web URL. `key` is what you append to the base URL to re-fetch it.
biogstring
Profile biography as free text.
city / countrystring
Self-declared location. Frequently null.
follower_count / following_countinteger
Social graph size.
cloudcast_countinteger
How many shows the account has uploaded — a cloudcast is Mixcloud's term for a mix or episode.
listen_count / favorite_countinteger
Total plays and favourites across everything the account has posted.
pictures / cover_picturesobject
Profile and cover images at several named sizes, from `small` through `extra_large`.
picture_primary_colorstring
Dominant colour of the profile picture as a hex string — handy for theming a card.
is_pro / is_premiumboolean
Account tier flags.
created_time / updated_timestring
ISO 8601 timestamps for account creation and last change.

What you can build with the Mixcloud API

  • Show a DJ's latest mixes on their own website
  • Track listen and follower growth for a radio show
  • Build a directory of stations or selectors with live counts
  • Theme a profile card automatically using the picture's primary colour

Common errors and how to fix them

Client rejects the content type

Responses are labelled `text/javascript` for historical JSONP reasons.

Fix: Parse the body as JSON regardless of the header.

404

The username does not exist or the account was renamed.

Fix: Usernames are mutable on Mixcloud. Store the `key` and re-resolve rather than caching a name forever.

Throttled or blocked

Too many concurrent requests.

Fix: Mixcloud does not publish a figure but does throttle. Serialise your requests and cache profile data for hours.

Audio is not in the response

The API returns metadata only.

Fix: Mixcloud's licensing does not permit third-party audio streaming. Use their embed player if you need playback.

Mixcloud API — frequently asked questions

Does the Mixcloud API need a key?

Not for reading public data — profiles, shows and tags all answer unauthenticated. OAuth is needed only to act on behalf of a user, such as following an account.

How do I find the API URL for something I can see on the site?

Take the web URL and put `api.` in front of the host. The API mirrors the site's path structure exactly, which makes discovery trivial.

What is a cloudcast?

Mixcloud's term for an upload — a DJ mix, a radio episode or a podcast. `cloudcast_count` on a profile is how many the account has published.

Can I stream the audio?

No. The API is metadata only; Mixcloud's licensing arrangements do not allow third-party playback. Their embeddable player is the supported route.

Tools that pair with this API

Mixcloud 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.