Audius
Audius is a decentralized open-source music streaming platform built on the Open Audio Protocol. It exposes a public REST API for tracks, users, playlists, search, and resolve, plus a JavaScript SDK. The protocol layer is open-source on GitHub.
1 APIs
0 Features
MusicStreamingDecentralizedWeb3Open SourceBlockchain
APIs
Audius REST API
Public REST API for the Audius network. Endpoints cover tracks (metadata, stream, trending), users (profile, followers), playlists, search, and resolve (lookup by URL). API host...
Collections
Audius API
OPENGraphQL
Audius GraphQL Schema
This directory contains a conceptual GraphQL schema for the [Audius](https://audius.co/) decentralized music streaming platform, derived from the [Audius REST API](https://docs....
GRAPHQLPricing Plans
Rate Limits
FinOps
Audius Finops
FINOPSResources
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🌐
DeveloperPortal
DeveloperPortal
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
LlmsText
LlmsText
Sources
opencollection: 1.0.0
info:
name: Audius API
version: '1.0'
items:
- info:
name: challenges
type: folder
items:
- info:
name: Get Undisbursed Challenges
type: http
http:
method: GET
url: https://api.audius.co/v1/challenges/undisbursed
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: A User ID to filter the undisbursed challenges to a particular user
- name: completed_blocknumber
value: ''
type: query
description: Starting blocknumber to retrieve completed undisbursed challenges
- name: challenge_id
value: ''
type: query
description: A challenge ID to filter the undisbursed challenges to a particular challenge
docs: Get all undisbursed challenges
- info:
name: Get Undisbursed Challenges For User
type: http
http:
method: GET
url: https://api.audius.co/v1/challenges/undisbursed/:user_id
params:
- name: user_id
value: ''
type: path
description: A User ID to filter the undisbursed challenges to a particular user
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: completed_blocknumber
value: ''
type: query
description: Starting blocknumber to retrieve completed undisbursed challenges
- name: challenge_id
value: ''
type: query
description: A challenge ID to filter the undisbursed challenges to a particular challenge
docs: Get all undisbursed challenges for a user
- info:
name: Get Challenge Attestation
type: http
http:
method: GET
url: https://api.audius.co/v1/challenges/:challenge_id/attest
params:
- name: challenge_id
value: ''
type: path
description: The challenge ID of the user challenge requiring the attestation
- name: oracle
value: ''
type: query
description: The address of a valid, registered Anti-Abuse Oracle
- name: specifier
value: ''
type: query
description: The specifier of the user challenge requiring the attestation
- name: user_id
value: ''
type: query
description: The user ID of the user challenge requiring the attestation
docs: Produces an attestation that a given user has completed a challenge, or errors.
- info:
name: comments
type: folder
items:
- info:
name: Get unclaimed comment ID
type: http
http:
method: GET
url: https://api.audius.co/v1/comments/unclaimed_id
docs: Gets an unclaimed blockchain comment ID
- info:
name: Create Comment
type: http
http:
method: POST
url: https://api.audius.co/v1/comments
params:
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Creates a new comment
- info:
name: Get Comment
type: http
http:
method: GET
url: https://api.audius.co/v1/comments/:comment_id
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
docs: Gets a comment by ID
- info:
name: Update Comment
type: http
http:
method: PUT
url: https://api.audius.co/v1/comments/:comment_id
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Updates a comment
- info:
name: Delete Comment
type: http
http:
method: DELETE
url: https://api.audius.co/v1/comments/:comment_id
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
auth:
type: bearer
token: '{{bearerToken}}'
docs: Deletes a comment
- info:
name: React to Comment
type: http
http:
method: POST
url: https://api.audius.co/v1/comments/:comment_id/react
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: React to a comment
- info:
name: Unreact to Comment
type: http
http:
method: DELETE
url: https://api.audius.co/v1/comments/:comment_id/react
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Unreact to a comment
- info:
name: Pin Comment
type: http
http:
method: POST
url: https://api.audius.co/v1/comments/:comment_id/pin
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Pin a comment
- info:
name: Unpin Comment
type: http
http:
method: DELETE
url: https://api.audius.co/v1/comments/:comment_id/pin
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Unpin a comment
- info:
name: Report Comment
type: http
http:
method: POST
url: https://api.audius.co/v1/comments/:comment_id/report
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
auth:
type: bearer
token: '{{bearerToken}}'
docs: Report a comment
- info:
name: Get Comment Replies
type: http
http:
method: GET
url: https://api.audius.co/v1/comments/:comment_id/replies
params:
- name: comment_id
value: ''
type: path
description: A Comment ID
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
docs: Gets replies to a parent comment
- info:
name: developer_apps
type: folder
items:
- info:
name: Create Developer App
type: http
http:
method: POST
url: https://api.audius.co/v1/developer-apps
params:
- name: user_id
value: ''
type: query
description: The user ID of the user creating the developer app
body:
type: json
data: '{}'
docs: Create a new developer app. Indexer validates grants.
- info:
name: Get Developer App
type: http
http:
method: GET
url: https://api.audius.co/v1/developer-apps/:address
params:
- name: address
value: ''
type: path
description: A developer app address (API Key)
docs: Gets developer app matching given address (API key)
- info:
name: Update Developer App
type: http
http:
method: PUT
url: https://api.audius.co/v1/developer-apps/:address
params:
- name: user_id
value: ''
type: query
description: The user ID of the user who owns the developer app
- name: address
value: ''
type: path
description: Developer app address (API Key)
body:
type: json
data: '{}'
docs: Updates a developer app. Indexer validates grants.
- info:
name: Delete Developer App
type: http
http:
method: DELETE
url: https://api.audius.co/v1/developer-apps/:address
params:
- name: user_id
value: ''
type: query
description: The user ID of the user who owns the developer app
- name: address
value: ''
type: path
description: Developer app address (API Key)
docs: Deletes a developer app. Indexer validates grants.
- info:
name: Register Developer App API Key
type: http
http:
method: POST
url: https://api.audius.co/v1/developer-apps/:address/register-api-key
params:
- name: user_id
value: ''
type: query
description: The user ID of the user who owns the developer app
- name: address
value: ''
type: path
description: Developer app address (API key)
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Register api_key and api_secret in api_keys table for developer apps created via entity manager transactions. Use
when the client sends raw ManageEntity tx instead of POST /developer-apps. Inserts with rps=10, rpm=500000. Requires
the app to exist in developer_apps and belong to the authenticated user.
- info:
name: Deactivate Developer App Access Key
type: http
http:
method: POST
url: https://api.audius.co/v1/developer-apps/:address/access-keys/deactivate
params:
- name: user_id
value: ''
type: query
description: The user ID of the user who owns the developer app
- name: address
value: ''
type: path
description: Developer app address (API Key)
body:
type: json
data: '{}'
docs: Deactivate a bearer token (API access key) for a developer app. Indexer validates grants.
- info:
name: Create Developer App Access Key
type: http
http:
method: POST
url: https://api.audius.co/v1/developer-apps/:address/access-keys
params:
- name: user_id
value: ''
type: query
description: The user ID of the user who owns the developer app
- name: address
value: ''
type: path
description: Developer app address (API Key)
docs: Create a new bearer token (API access key) for a developer app. Indexer validates grants.
- info:
name: Get Developer Apps
type: http
http:
method: GET
url: https://api.audius.co/v1/users/:id/developer-apps
params:
- name: id
value: ''
type: path
description: The user ID whose developer apps to list
- name: include
value: ''
type: query
description: Include metrics when set to "metrics"
docs: Get developer apps for the user.
- info:
name: dashboard_wallet_users
type: folder
items:
- info:
name: Bulk get dashboard wallet users
type: http
http:
method: GET
url: https://api.audius.co/v1/dashboard_wallet_users
params:
- name: wallets
value: ''
type: query
description: The wallets for which to fetch connected Audius user profiles.
docs: Gets Audius user profiles connected to given dashboard wallet addresses
- info:
name: events
type: folder
items:
- info:
name: Get Bulk Events
type: http
http:
method: GET
url: https://api.audius.co/v1/events
params:
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: id
value: ''
type: query
description: The ID of the event(s) to retrieve
- name: event_type
value: ''
type: query
description: The type of event to filter by
docs: Get a list of events by ID
- info:
name: Get all events
type: http
http:
method: GET
url: https://api.audius.co/v1/events/all
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: sort_method
value: ''
type: query
description: The sort method
- name: event_type
value: ''
type: query
description: The type of event to filter by
docs: Get all events
- info:
name: Get events for a specific entity
type: http
http:
method: GET
url: https://api.audius.co/v1/events/entity
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: entity_id
value: ''
type: query
description: The ID of the entity to get events for
- name: entity_type
value: ''
type: query
description: The type of entity to get events for
- name: filter_deleted
value: ''
type: query
description: Whether to filter deleted events
docs: Get events for a specific entity
- info:
name: Get unclaimed event ID
type: http
http:
method: GET
url: https://api.audius.co/v1/events/unclaimed_id
docs: Gets an unclaimed blockchain event ID
- info:
name: explore
type: folder
items:
- info:
name: Get best selling tracks and playlists with related entities
type: http
http:
method: GET
url: https://api.audius.co/v1/explore/best-selling
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: type
value: ''
type: query
description: The type of content to filter by
docs: Get best selling tracks and/or albums with related entities
- info:
name: playlists
type: folder
items:
- info:
name: Get Bulk Playlists
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists
params:
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: id
value: ''
type: query
description: The ID of the playlist(s)
- name: permalink
value: ''
type: query
description: The permalink(s) of the playlist(s)
- name: upc
value: ''
type: query
description: The UPC of the playlist(s)
docs: Gets a list of playlists by ID, UPC, or permalink
- info:
name: Create Playlist
type: http
http:
method: POST
url: https://api.audius.co/v1/playlists
params:
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Creates a new playlist or album
- info:
name: Search Playlists
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/search
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: query
value: ''
type: query
description: The search query
- name: genre
value: ''
type: query
description: The genres to filter by
- name: sort_method
value: ''
type: query
description: The sort method
- name: mood
value: ''
type: query
description: The moods to filter by
- name: includePurchaseable
value: ''
type: query
description: Whether or not to include purchaseable content
- name: has_downloads
value: ''
type: query
description: Only include tracks that have downloads in the track results
docs: Search for a playlist
- info:
name: Get Trending Playlists
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/trending
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: time
value: ''
type: query
description: Calculate trending over a specified time range
- name: type
value: ''
type: query
description: The type of content to filter by
- name: omit_tracks
value: ''
type: query
description: Whether to omit tracks from the response
docs: Returns trending playlists for a time period
- info:
name: Get Playlist
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/:playlist_id
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
docs: Get a playlist by ID
- info:
name: Update Playlist
type: http
http:
method: PUT
url: https://api.audius.co/v1/playlists/:playlist_id
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Updates an existing playlist or album
- info:
name: Delete Playlist
type: http
http:
method: DELETE
url: https://api.audius.co/v1/playlists/:playlist_id
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
auth:
type: bearer
token: '{{bearerToken}}'
docs: Deletes a playlist or album
- info:
name: Get Playlist Access Info
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/:playlist_id/access-info
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
docs: Gets the information necessary to access the playlist and what access the given user has.
- info:
name: Get Playlist Tracks
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/:playlist_id/tracks
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
docs: Fetch tracks within a playlist.
- info:
name: Get Users From Playlist Favorites
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/:playlist_id/favorites
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
docs: Get users that favorited a playlist
- info:
name: Favorite Playlist
type: http
http:
method: POST
url: https://api.audius.co/v1/playlists/:playlist_id/favorites
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Favorite a playlist
- info:
name: Unfavorite Playlist
type: http
http:
method: DELETE
url: https://api.audius.co/v1/playlists/:playlist_id/favorites
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
auth:
type: bearer
token: '{{bearerToken}}'
docs: Unfavorite a playlist
- info:
name: Get Users From Playlist Reposts
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/:playlist_id/reposts
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
docs: Get users that reposted a playlist
- info:
name: Repost Playlist
type: http
http:
method: POST
url: https://api.audius.co/v1/playlists/:playlist_id/reposts
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Repost a playlist
- info:
name: Unrepost Playlist
type: http
http:
method: DELETE
url: https://api.audius.co/v1/playlists/:playlist_id/reposts
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
auth:
type: bearer
token: '{{bearerToken}}'
docs: Unrepost a playlist
- info:
name: Share Playlist
type: http
http:
method: POST
url: https://api.audius.co/v1/playlists/:playlist_id/shares
params:
- name: playlist_id
value: ''
type: path
description: A Playlist ID
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
auth:
type: bearer
token: '{{bearerToken}}'
docs: Record a playlist share event
- info:
name: Get Trending Playlists With Version
type: http
http:
method: GET
url: https://api.audius.co/v1/playlists/trending/:version
params:
- name: version
value: ''
type: path
description: The strategy version of trending to use
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: time
value: ''
type: query
description: Calculate trending over a specified time range
docs: Returns trending playlists for a time period based on the given trending version
- info:
name: resolve
type: folder
items:
- info:
name: Resolves and redirects a provided Audius app URL to the API resource URL it represents
type: http
http:
method: GET
url: https://api.audius.co/v1/resolve
params:
- name: url
value: ''
type: query
description: URL to resolve. Either fully formed URL (https://audius.co) or just the absolute path
docs: 'This endpoint allows you to lookup and access API resources when you only know the
audius.co URL.
Tracks, Playlists, and Users are supported.'
- info:
name: tips
type: folder
items:
- info:
name: Get Tips
type: http
http:
method: GET
url: https://api.audius.co/v1/tips
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: receiver_min_followers
value: ''
type: query
description: Only include tips to recipients that have this many followers
- name: receiver_is_verified
value: ''
type: query
description: Only include tips to recipients that are verified
- name: current_user_follows
value: ''
type: query
description: Only include tips involving the user's followers in the given capacity. Requires user_id to be set.
- name: unique_by
value: ''
type: query
description: "Only include the most recent tip for a user was involved in the given capacity.\n\nEg. 'sender' will\
\ ensure that each tip returned has a unique sender, using the most recent tip sent by a user if that user has sent\
\ multiple tips.\n "
- name: min_slot
value: ''
type: query
description: The minimum Solana slot to pull tips from
- name: max_slot
value: ''
type: query
description: The maximum Solana slot to pull tips from
- name: tx_signatures
value: ''
type: query
description: A list of transaction signatures of tips to fetch
docs: Gets the most recent tips on the network
- info:
name: tracks
type: folder
items:
- info:
name: Get Bulk Tracks
type: http
http:
method: GET
url: https://api.audius.co/v1/tracks
params:
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
- name: permalink
value: ''
type: query
description: The permalink of the track(s)
- name: id
value: ''
type: query
description: The ID of the track(s)
- name: isrc
value: ''
type: query
description: The ISRC code of the track(s)
docs: Gets a list of tracks using their IDs or permalinks
- info:
name: Create Track
type: http
http:
method: POST
url: https://api.audius.co/v1/tracks
params:
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
body:
type: json
data: '{}'
auth:
type: bearer
token: '{{bearerToken}}'
docs: Creates a new track
- info:
name: Get Track Download Counts
type: http
http:
method: GET
url: https://api.audius.co/v1/tracks/download_counts
params:
- name: id
value: ''
type: query
description: Track ID(s)
docs: Gets download counts for tracks by ID. Use this instead of loading full track objects when only download counts
are needed.
- info:
name: Inspects the details of the files for multiple tracks
type: http
http:
method: GET
url: https://api.audius.co/v1/tracks/inspect
params:
- name: id
value: ''
type: query
description: List of track IDs to inspect
- name: original
value: ''
type: query
description: Optional - if set to true inspects the original file quality
docs: Inspect multiple tracks
- info:
name: Get Recent Premium Tracks
type: http
http:
method: GET
url: https://api.audius.co/v1/tracks/recent-premium
params:
- name: offset
value: ''
type: query
description: The number of items to skip. Useful for pagination (page number * limit)
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
docs: Gets the most recently listed premium tracks
- info:
name: Get Recommended Tracks
type: http
http:
method: GET
url: https://api.audius.co/v1/tracks/recommended
params:
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: genre
value: ''
type: query
description: Filter trending to a specified genre
- name: time
value: ''
type: query
description: Calculate trending over a specified time range
- name: exclusion_list
value: ''
type: query
description: List of track ids to exclude
- name: user_id
value: ''
type: query
description: The user ID of the user making the request
docs: Get recommended tracks
- info:
name: Get Recommended Tracks With Version
type: http
http:
method: GET
url: https://api.audius.co/v1/tracks/recommended/:version
params:
- name: version
value: ''
type: path
description: The strategy version of trending to use
- name: limit
value: ''
type: query
description: The number of items to fetch
- name: genre
value: ''
type: query
description: Filter trending to a specified genre
- name: time
value: ''
type: quer
# --- truncated at 32 KB (137 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/audius/refs/heads/main/apis.yml