Audiomack Music API
Songs, albums, streaming, favorites, reposts, and metrics.
Documentation
Documentation
https://www.audiomack.com/data-api/docs
Authentication
https://www.audiomack.com/data-api/docs
Songs, albums, streaming, favorites, reposts, and metrics.
openapi: 3.0.3
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:
Fields:
in: query
name: fields
schema:
type: string
description: Comma-separated list of fields to include (sparse fieldsets), e.g. `id,title,artist:name`.
Key:
in: query
name: key
schema:
type: string
description: Optional consumer key for unauthenticated read access.
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.
MusicId:
in: path
name: id
required: true
schema:
type: string
description: Audiomack music identifier.
ArtistSlug:
in: path
name: slug
required: true
schema:
type: string
description: Artist slug (e.g. `drake`).
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.