Search API Documentation

Search Endpoint

GET /api/search

Authorization

This endpoint requires authentication. Include the following header in your requests:

{
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}

Try it out

Response Types

MusicTrack

{
    id: string;
    artist: string;
    title: string;
    label: string;
    labelSlug: string;
    slug: string;
}

AudioStream

{
    id: string;
    url: string;
    title: string;
    channel: string;
    duration: string;
    imageUrl: string;
    slug: string;
}

SearchResponse

{
    results: (MusicTrack | AudioStream | string)[];
    total: number;
    page: number;
    pageSize: number;
}

TrackListResponse

{
    results: Array<{
        id: string;
        url: string;
        title: string;
        channel: string;
        duration: string;
        imageUrl: string;
        slug: string;
    }>;
    total: number;
}

Track List Endpoint

GET /api/track/list

Get track list with pagination and filtering

Response Type

TrackListResponse
{
    results: Array<{
        id: string;
        url: string;
        title: string;
        channel: string;
        duration: string;
        imageUrl: string;
        slug: string;
    }>;
    total: number;
}

Track Details

Note: You can get the audio_stream_slug from the search results. First use the /api/search endpoint with track_search_text parameter to find tracks, then use their slug values here.

GET /api/track

Get track details by slug

Response Type

Slug
{
  result: {
    id: number,
    url: string,
    slug: string,
    audioStreamType: number,
    externalId: string,
    artworkUrl: string,
    title: string,
    channel: string,
    duration: string,
    createdOn: string,
    addedOn: string,
    addedBy: string,
    addedById: number,
    favouriteCount: number,
    likeCount: number,
    averageRating: number,
    processingPriority: number,
    favouriteDate: null,
    styles: Array<string>,
    status: number,
    detectionProcesses: Array<any>,
    amendments: Array<any>,
    audioStreamReprocesses: Array<any>,
    accountAudiostream: null,
    canReprocess: boolean
  }
}