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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/audius-developer-apps-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
openapi: 3.2.0
info:
title: Audius Developer Apps API
description: '## Overview
The Audius API provides REST access to the world''s largest open music catalog, built on the Open Audio Protocol.'
version: '1.0'
contact:
name: Audius
url: https://audius.co
x-logo:
url: https://audius.co/favicons/favicon.ico
servers:
- url: https://api.audius.co/v1
description: Production
tags:
- name: Developer Apps
description: Developer app related operations
paths:
/developer-apps:
post:
tags:
- Developer Apps
description: Create a new developer app. Indexer validates grants.
operationId: Create Developer App
parameters:
- name: user_id
in: query
description: The user ID of the user creating the developer app
required: true
schema:
type: string
requestBody:
x-codegen-request-body-name: metadata
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/create_developer_app_request_body'
responses:
'200':
description: Developer app created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/create_developer_app_response'
'400':
description: Bad request
content: {}
'401':
description: Unauthorized
content: {}
'500':
description: Server error
content: {}
summary: Create developer app
x-summary-source: derived
/developer-apps/{address}:
get:
tags:
- Developer Apps
description: Gets developer app matching given address (API key)
operationId: Get Developer App
parameters:
- name: address
in: path
description: A developer app address (API Key)
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/developer_app_response'
'400':
description: Bad request
content: {}
'404':
description: Not found
content: {}
'500':
description: Server error
content: {}
summary: Get developer app
x-summary-source: derived
delete:
tags:
- Developer Apps
description: Deletes a developer app. Indexer validates grants.
operationId: Delete Developer App
parameters:
- name: user_id
in: query
description: The user ID of the user who owns the developer app
required: true
schema:
type: string
- name: address
in: path
description: Developer app address (API Key)
required: true
schema:
type: string
responses:
'200':
description: Developer app deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/write_response'
'401':
description: Unauthorized
content: {}
'404':
description: Not found
content: {}
'500':
description: Server error
content: {}
summary: Delete developer app
x-summary-source: derived
put:
tags:
- Developer Apps
description: Updates a developer app. Indexer validates grants.
operationId: Update Developer App
parameters:
- name: user_id
in: query
description: The user ID of the user who owns the developer app
required: true
schema:
type: string
- name: address
in: path
description: Developer app address (API Key)
required: true
schema:
type: string
requestBody:
x-codegen-request-body-name: metadata
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/update_developer_app_request_body'
responses:
'200':
description: Developer app updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/write_response'
'400':
description: Bad request
content: {}
'401':
description: Unauthorized
content: {}
'404':
description: Developer app not found
content: {}
'500':
description: Server error
content: {}
summary: Update developer app
x-summary-source: derived
/developer-apps/{address}/register-api-key:
post:
tags:
- Developer Apps
description: 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.
operationId: Register Developer App API Key
security:
- BearerAuth: []
- BasicAuth: []
- OAuth2:
- write
parameters:
- name: user_id
in: query
description: The user ID of the user who owns the developer app
required: true
schema:
type: string
- name: address
in: path
description: Developer app address (API key)
required: true
schema:
type: string
requestBody:
x-codegen-request-body-name: metadata
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/register_api_key_request_body'
responses:
'200':
description: API key registered successfully
content:
application/json:
schema:
$ref: '#/components/schemas/register_api_key_response'
'400':
description: Bad request (api_secret required)
content: {}
'401':
description: Unauthorized
content: {}
'404':
description: Developer app not found
content: {}
'500':
description: Server error
content: {}
summary: Register developer app API key
x-summary-source: derived
/developer-apps/{address}/access-keys/deactivate:
post:
tags:
- Developer Apps
description: Deactivate a bearer token (API access key) for a developer app. Indexer validates grants.
operationId: Deactivate Developer App Access Key
parameters:
- name: user_id
in: query
description: The user ID of the user who owns the developer app
required: true
schema:
type: string
- name: address
in: path
description: Developer app address (API Key)
required: true
schema:
type: string
requestBody:
x-codegen-request-body-name: metadata
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/deactivate_access_key_request_body'
responses:
'200':
description: Access key deactivated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/deactivate_access_key_response'
'400':
description: Bad request (api_access_key required)
content: {}
'401':
description: Unauthorized
content: {}
'404':
description: Developer app or access key not found
content: {}
'500':
description: Server error
content: {}
summary: Deactivate developer app access key
x-summary-source: derived
/developer-apps/{address}/access-keys:
post:
tags:
- Developer Apps
description: Create a new bearer token (API access key) for a developer app. Indexer validates grants.
operationId: Create Developer App Access Key
parameters:
- name: user_id
in: query
description: The user ID of the user who owns the developer app
required: true
schema:
type: string
- name: address
in: path
description: Developer app address (API Key)
required: true
schema:
type: string
responses:
'200':
description: Access key created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/create_access_key_response'
'401':
description: Unauthorized
content: {}
'404':
description: Developer app not found
content: {}
'500':
description: Server error
content: {}
summary: Create developer app access key
x-summary-source: derived
/users/{id}/developer-apps:
get:
tags:
- Developer Apps
description: Get developer apps for the user.
operationId: Get Developer Apps
parameters:
- name: id
in: path
description: The user ID whose developer apps to list
required: true
schema:
type: string
- name: include
in: query
description: Include metrics when set to "metrics"
schema:
type: string
enum:
- metrics
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/developer_apps_response'
'400':
description: Bad request
content: {}
'500':
description: Server error
content: {}
summary: Get developer apps
x-summary-source: derived
components:
schemas:
create_access_key_response:
type: object
required:
- api_access_key
properties:
api_access_key:
type: string
description: The newly created bearer token (API access key)
deactivate_access_key_request_body:
type: object
required:
- api_access_key
properties:
api_access_key:
type: string
description: The bearer token (API access key) to deactivate
developer_app_response:
type: object
properties:
data:
$ref: '#/components/schemas/developer_app'
create_developer_app_request_body:
type: object
required:
- name
properties:
name:
type: string
description: Developer app name
example: My API Key
description:
type: string
description: App description
image_url:
type: string
description: App logo/image URL
redirect_uris:
type: array
maxItems: 50
items:
type: string
maxLength: 2000
description: Pre-registered OAuth redirect/callback URIs
register_api_key_response:
type: object
properties:
success:
type: boolean
description: Whether the registration was successful
register_api_key_request_body:
type: object
required:
- api_secret
properties:
api_secret:
type: string
description: The API secret (private key hex) for the developer app
deactivate_access_key_response:
type: object
properties:
success:
type: boolean
description: Whether the deactivation was successful
write_response:
type: object
properties:
transaction_hash:
type: string
description: The blockchain transaction hash
block_hash:
type: string
description: The blockchain block hash
block_number:
type: integer
format: int64
description: The blockchain block number/height
developer_app:
required:
- address
- name
- user_id
type: object
properties:
address:
type: string
user_id:
type: string
name:
type: string
description:
type: string
image_url:
type: string
redirect_uris:
type: array
maxItems: 50
items:
type: string
maxLength: 2000
description: Pre-registered OAuth callback URLs for this app
developer_apps_response:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/developer_app'
create_developer_app_response:
type: object
properties:
api_key:
type: string
description: The API key (address) for the developer app
api_secret:
type: string
description: The private key for the developer app (for signing)
bearer_token:
type: string
description: The bearer token for API authentication (use in Authorization header)
transaction_hash:
type: string
description: Transaction hash of the creation
block_hash:
type: string
description: The blockchain block hash
block_number:
type: integer
format: int64
description: The blockchain block number/height
update_developer_app_request_body:
type: object
required:
- name
properties:
name:
type: string
description: Developer app name
description:
type: string
description: App description
image_url:
type: string
description: App logo/image URL
redirect_uris:
type: array
maxItems: 50
items:
type: string
maxLength: 2000
description: Pre-registered OAuth redirect/callback URIs
securitySchemes:
OAuth2:
type: oauth2
description: 'OAuth 2.0 Authorization Code flow with PKCE for third-party applications.
Allows apps to authenticate users and obtain access tokens scoped to read or read+write permissions on behalf of the user.
**Scopes:**
- `read` — Read-only access to the user''s public and private data.
- `write` — Read and write access, allowing mutations on behalf of the user.
**PKCE Required:**
All authorization code requests must include `code_challenge` and `code_challenge_method=S256` parameters.
'
flows:
authorizationCode:
authorizationUrl: /v1/oauth/authorize
tokenUrl: /v1/oauth/token
scopes:
read: Read-only access to user data
write: Read and write access on behalf of the user
BasicAuth:
type: http
scheme: basic
description: 'HTTP Basic Authentication with Ethereum private key for write operations.
**Authentication**
Use HTTP Basic Authentication where the password field contains your Ethereum private key:
```
Authorization: Basic <base64(username:privatekey)>
```
The username can be any value. The password must be your Ethereum private key in hex format (with or without 0x prefix).
Example:
```
Authorization: Basic dXNlcm5hbWU6MHgxMjM0NTY3ODkwYWJjZGVmLi4u
```
**How it works:**
1. The API decodes the Basic Auth credentials
2. Extracts the private key from the password field
3. Derives the Ethereum address from the private key
4. Uses this address for authorization checks
**Authorization**
The derived wallet address must be either:
- The wallet of the user being acted upon (direct ownership)
- A wallet with an approved, non-revoked grant for the user (manager mode)
'
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'The API bearer token or OAuth JWT token for the user.
'
x-original-swagger-version: '2.0'