Audiomack Music API

Songs, albums, streaming, favorites, reposts, and metrics.

Operations 15

GET /music/{id} Get Music By Id #
GET /music/{type}/{artist}/{slug} Get Music By Slug #
PATCH /music/{type}/{artist}/{slug} Flag Music Unplayable #
GET /music/preview/{id} Get Music Preview #
GET /music/recent List Recent Music #
GET /music/{genre}/recent List Recent Music By Genre #
GET /music/trending List Trending Music #
GET /music/{genre}/trending List Trending Music By Genre #
POST /music/{id}/play Get Music Stream Url #
POST /music/{id}/ads Record Music Ad Event #
PUT /music/{id}/favorite Favorite Music #
DELETE /music/{id}/favorite Unfavorite Music #
PUT /music/{id}/repost Repost Music #
DELETE /music/{id}/repost Remove Music Repost #
GET /music/{id}/metrics Get Music Metrics #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/audiomack-music-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

audiomack-music-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Audiomack Data Artist Music API
  version: '1.0'
  description: The Audiomack Data API provides programmatic access to Audiomack's music streaming catalog, artists, playlists, charts, search, and authenticated user resources. All requests use HTTPS against https://api.audiomack.com/v1 and authenticated requests are signed with OAuth 1.0a. Response payloads are JSON and most list endpoints support page-based pagination, the `fields` parameter for sparse fieldsets, and a `limit` parameter.
  contact:
    name: Audiomack Business
    url: https://creators.audiomack.com/contact-us
  license:
    name: Audiomack Terms of Service
    url: https://audiomack.com/about/terms-of-service
servers:
- url: https://api.audiomack.com/v1
  description: Production
security:
- oauth1: []
tags:
- name: Music
  description: Songs, albums, streaming, favorites, reposts, and metrics.
paths:
  /music/{id}:
    get:
      tags:
      - Music
      summary: Get Music By Id
      description: Retrieve song or album metadata by Audiomack music ID.
      operationId: getMusicById
      parameters:
      - $ref: '#/components/parameters/MusicId'
      - $ref: '#/components/parameters/Key'
      responses:
        '200':
          description: Music object.
  /music/{type}/{artist}/{slug}:
    get:
      tags:
      - Music
      summary: Get Music By Slug
      description: Retrieve a song or album by artist slug and music slug.
      operationId: getMusicBySlug
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          enum:
          - song
          - album
      - $ref: '#/components/parameters/ArtistSlug'
      - in: path
        name: slug
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/Key'
      responses:
        '200':
          description: Music object.
    patch:
      tags:
      - Music
      summary: Flag Music Unplayable
      description: Report a song or album as unplayable.
      operationId: patchMusicBySlug
      parameters:
      - in: path
        name: type
        required: true
        schema:
          type: string
          enum:
          - song
          - album
      - $ref: '#/components/parameters/ArtistSlug'
      - in: path
        name: slug
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                  - unplayable
      responses:
        '200':
          description: Status updated.
  /music/preview/{id}:
    get:
      tags:
      - Music
      summary: Get Music Preview
      description: Fetch the preview audio resource for a given music ID.
      operationId: getMusicPreview
      parameters:
      - $ref: '#/components/parameters/MusicId'
      responses:
        '200':
          description: Preview metadata.
  /music/recent:
    get:
      tags:
      - Music
      summary: List Recent Music
      description: List most recently uploaded music.
      operationId: getRecentMusic
      parameters:
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Music collection.
  /music/{genre}/recent:
    get:
      tags:
      - Music
      summary: List Recent Music By Genre
      description: List most recently uploaded music for a specific genre (e.g. `hip-hop-rap`, `afrobeats`).
      operationId: getRecentMusicByGenre
      parameters:
      - $ref: '#/components/parameters/Genre'
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Music collection.
  /music/trending:
    get:
      tags:
      - Music
      summary: List Trending Music
      description: List trending music across all genres.
      operationId: getTrendingMusic
      parameters:
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Music collection.
  /music/{genre}/trending:
    get:
      tags:
      - Music
      summary: List Trending Music By Genre
      description: List trending music for a specific genre.
      operationId: getTrendingMusicByGenre
      parameters:
      - $ref: '#/components/parameters/Genre'
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Music collection.
  /music/{id}/play:
    post:
      tags:
      - Music
      summary: Get Music Stream Url
      description: Request a streaming URL for a music resource. The returned URL is valid for approximately 10 seconds.
      operationId: postMusicPlay
      parameters:
      - $ref: '#/components/parameters/MusicId'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                session:
                  type: string
                album_id:
                  type: string
                playlist_id:
                  type: string
                hq:
                  type: boolean
                key:
                  type: string
      responses:
        '200':
          description: Stream URL response.
  /music/{id}/ads:
    post:
      tags:
      - Music
      summary: Record Music Ad Event
      description: Track an advertisement event for a music resource.
      operationId: postMusicAd
      parameters:
      - $ref: '#/components/parameters/MusicId'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                status:
                  type: string
      responses:
        '200':
          description: Ad event recorded.
  /music/{id}/favorite:
    put:
      tags:
      - Music
      summary: Favorite Music
      operationId: favoriteMusic
      parameters:
      - $ref: '#/components/parameters/MusicId'
      responses:
        '200':
          description: Favorited.
    delete:
      tags:
      - Music
      summary: Unfavorite Music
      operationId: unfavoriteMusic
      parameters:
      - $ref: '#/components/parameters/MusicId'
      responses:
        '200':
          description: Unfavorited.
  /music/{id}/repost:
    put:
      tags:
      - Music
      summary: Repost Music
      operationId: repostMusic
      parameters:
      - $ref: '#/components/parameters/MusicId'
      responses:
        '200':
          description: Reposted.
    delete:
      tags:
      - Music
      summary: Remove Music Repost
      operationId: deleteMusicRepost
      parameters:
      - $ref: '#/components/parameters/MusicId'
      responses:
        '200':
          description: Repost removed.
  /music/{id}/metrics:
    get:
      tags:
      - Music
      summary: Get Music Metrics
      description: Retrieve play and engagement metrics for a music resource.
      operationId: getMusicMetrics
      parameters:
      - $ref: '#/components/parameters/MusicId'
      responses:
        '200':
          description: Metrics response.
components:
  parameters:
    Key:
      in: query
      name: key
      schema:
        type: string
      description: Optional consumer key for unauthenticated read access.
    ArtistSlug:
      in: path
      name: slug
      required: true
      schema:
        type: string
      description: Artist slug (e.g. `drake`).
    MusicId:
      in: path
      name: id
      required: true
      schema:
        type: string
      description: Audiomack music identifier.
    Genre:
      in: path
      name: genre
      required: true
      schema:
        type: string
      description: Audiomack genre slug (e.g. `hip-hop-rap`, `afrobeats`, `reggae`, `electronic`).
    Limit:
      in: query
      name: limit
      schema:
        type: integer
        default: 20
      description: Maximum results to return. Pass `0` to return all results.
    Fields:
      in: query
      name: fields
      schema:
        type: string
      description: Comma-separated list of fields to include (sparse fieldsets), e.g. `id,title,artist:name`.
  securitySchemes:
    oauth1:
      type: http
      scheme: OAuth
      description: OAuth 1.0a signed request. Obtain a request token via `POST /v1/request_token`, redirect the user to `https://audiomack.com/oauth/authenticate?oauth_token=...`, then exchange for an access token via `POST /v1/access_token`. Access tokens are valid for one year.