Loading Library...
No track playing
Select a track to play
Integrate MusicSeva's audio library into your own apps, websites, or Android applications. Full REST API access — stream, search, and play music programmatically.
Access thousands of songs with metadata, cover art, and direct audio URLs
All audio URLs are optimized for streaming and direct HTML5 audio playback
Simple GET/POST endpoints, JSON responses, easy to integrate in any platform
Works in React, Next.js, Android WebView, Flutter, vanilla JS — anywhere
Authentication Required
All API endpoints require an x-api-key header. This page is publicly viewable, but to generate your API key you need to create a free account.
Up and running in 3 steps
Copy-paste ready for any platform
const res = await fetch("https://musicseva.com/api/v1/songs?limit=20", {
headers: {
"x-api-key": "YOUR_API_KEY"
}
});
const { data } = await res.json();
// Play first track
const audio = new Audio(data[0].url);
audio.play();curl -X GET \ "https://musicseva.com/api/v1/songs?limit=20" \ -H "x-api-key: YOUR_API_KEY"
import { useState, useEffect } from "react";
export default function MusicPlayer() {
const [songs, setSongs] = useState([]);
useEffect(() => {
fetch("/api/v1/songs", {
headers: { "x-api-key": process.env.MUSICSEVA_KEY }
})
.then(r => r.json())
.then(d => setSongs(d.data));
}, []);
return songs.map(song => (
<audio key={song.id} controls src={song.url} />
));
}val client = OkHttpClient()
val request = Request.Builder()
.url("https://musicseva.com/api/v1/songs")
.addHeader("x-api-key", "YOUR_API_KEY")
.build()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
val json = JSONObject(response.body?.string() ?: "")
val songs = json.getJSONArray("data")
// songs[0].getString("url") -> stream URL
}
override fun onFailure(call: Call, e: IOException) {}
})Base URL: https://musicseva.com/api/v1
/api/v1/songs Auth RequiredFetch all songs from the MusicSeva library
Parameters
limitnumber— Max songs to return (default: 50)Response
{
"success": true,
"count": 50,
"data": [
{
"id": 1,
"title": "Song Title",
"artist": "Artist Name",
"url": "https://cdn.example.com/audio.mp3",
"cover_url": "https://cdn.example.com/cover.jpg",
"language": "Hindi",
"mood": "Romantic",
"duration": "3:45"
}
]
}/api/v1/songs?limit=10 Auth RequiredFetch top 10 songs with limit parameter
Response
{
"success": true,
"count": 10,
"data": [...]
}/api/v1/recommendations Auth RequiredGet editorially curated recommended songs
Response
{
"success": true,
"data": [...]
}/api/v1/recommendations Auth RequiredAdd a song to the recommendations list
Parameters
song_idnumber— ID of the song to recommendResponse
{
"success": true,
"message": "Song added to recommendations"
}Every song in the API response contains these fields
idnumberUnique song identifiertitlestringSong titleartiststringArtist / band nameurlstring (URL)Direct audio stream URL (mp3)cover_urlstring (URL)Cover art image URLlanguagestringSong language (Hindi, Bengali, etc.)moodstringMood tag (Romantic, Party, etc.)durationstringTrack length (e.g. '3:45')Create your free account to get an API key and start integrating MusicSeva into your projects in minutes.