Build powerful music applications using the Macky Player API. Access millions of tracks, artists, playlists, and user data programmatically.
The Macky Player API provides programmatic access to our music streaming platform. Our RESTful API allows developers to:
https://api.mackyplayer.com/v1
The Macky Player API uses OAuth 2.0 for authentication. You'll need to register your application to receive API credentials:
All requests must be sent over HTTPS. The API accepts JSON payloads and returns JSON responses.
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
Successful responses return HTTP 200 with a JSON payload. Error responses include an error code and message.
{
"status": "success",
"data": { ... }
}
/v1/music/search
Search for songs, albums, and artists
Parameters: q (query), type (song|album|artist), limit, offset
/v1/music/trending
Get trending tracks
Parameters: genre (optional), limit, time_range (day|week|month)
/v1/music/:id
Get details for a specific track
Returns: Track metadata, streaming URL, artist info
/v1/music/:id/play
Record a play event and get streaming URL
Parameters: session_id, quality (low|medium|high)
/v1/artist/:slug
Get artist information
Returns: Bio, stats, social links, verified status
/v1/artist/:slug/tracks
Get tracks uploaded by an artist
Parameters: limit, offset, sort (recent|popular)
/v1/artist/:slug/follow
Follow an artist (requires authentication)
/v1/artist/:slug/follow
Unfollow an artist (requires authentication)
/v1/playlists/:id
Get playlist details and tracks
/v1/playlists
Create a new playlist (requires authentication)
Body: title, description, public (boolean), tracks (array)
/v1/playlists/:id
Update playlist (requires authentication)
/v1/playlists/:id
Delete playlist (requires authentication)
/v1/user/me
Get current user profile (requires authentication)
/v1/user/me/favorites
Get user's favorited tracks (requires authentication)
/v1/music/:id/favorite
Add track to favorites (requires authentication)
API requests are rate limited to ensure fair usage:
Rate limit information is included in response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1638360000
The API uses standard HTTP status codes:
Error responses include details:
{
"status": "error",
"error_code": "INVALID_TOKEN",
"message": "The access token is invalid or expired"
}
List endpoints support pagination using limit and offset parameters:
GET /v1/music/search?q=rock&limit=20&offset=40
Response includes pagination metadata:
{
"data": [...],
"pagination": {
"total": 500,
"limit": 20,
"offset": 40,
"has_more": true
}
}
Many endpoints support filtering and sorting:
Configure webhooks to receive real-time notifications for events:
You agree to:
You may not:
Commercial API usage requires a paid subscription or partnership agreement. Contact us at api@mackyplayer.com for enterprise licensing.
We strive for 99.9% API uptime but do not guarantee uninterrupted service. We may perform maintenance with reasonable notice.
We may modify the API, add features, or deprecate endpoints. Breaking changes will be announced 90 days in advance when possible.
For API support and questions:
const axios = require('axios');
const API_BASE = 'https://api.mackyplayer.com/v1';
const ACCESS_TOKEN = 'your_access_token';
async function searchMusic(query) {
const response = await axios.get(`${API_BASE}/music/search`, {
params: { q: query, limit: 10 },
headers: { 'Authorization': `Bearer ${ACCESS_TOKEN}` }
});
return response.data;
}
import requests
API_BASE = 'https://api.mackyplayer.com/v1'
ACCESS_TOKEN = 'your_access_token'
def search_music(query):
headers = {'Authorization': f'Bearer {ACCESS_TOKEN}'}
params = {'q': query, 'limit': 10}
response = requests.get(f'{API_BASE}/music/search',
headers=headers, params=params)
return response.json()
API Version: 1.0 | Last updated: December 6, 2025