Skip to main content

Song Search

This page focuses on a single object type.

Refer to the main Advanced Search page for further information regarding the advanced_search method.

Available search rules

Select the type of search based on the type of data you are searching for. (songs, playlists, etc)

rule_1TitleOperator Type
anywhereAny searchable texttext
noneEmpty / No rule searchis_true
titleTitle / Nametext
name(*Alias of title)
song(*Alias of title)
song_title(*Alias of title)
albumAlbumtext
album_title(*Alias of album)
artistSong Artisttext
artist_title(*Alias of artist)
song_artist(*Alias of artist)text
song_artist_title(*Alias of artist)
album_artistAlbum Artisttext
composerComposertext
trackTracknumeric
yearYearnumeric
timeLength (in minutes)numeric
labelLabeltext
commentCommenttext
lyricsLyricstext
idDatabase IDnumeric
myratingMy Ratingnumeric
ratingRating (Average)numeric
albumratingMy Rating (Album)numeric
artistratingMy Rating (Artist)numeric
my_flagged_songMy Favourite Songsboolean
my_flagged_albumMy Favourite Albumsboolean
my_flagged_artistMy Favourite Artistsboolean
favoriteFavouritestext
favorite_albumFavourites (Album)text
favorite_artistFavourites (Artist)text
other_userAnother Useruser_numeric
other_user_albumAnother User (Album)user_numeric
other_user_artistAnother User (Artist)user_numeric
played_times# Playednumeric
skipped_times# Skippednumeric
played_or_skipped_times# Played or Skippednumeric
play_skip_ratioPlayed/Skipped rationumeric
last_playMy Last Playdays
last_skipMy Last Skipdays
last_play_or_skipMy Last Play or Skipdays
playedPlayedboolean
myplayedPlayed by Meboolean
myplayedalbumPlayed by Me (Album)boolean
myplayedartistPlayed by Me (Artist)boolean
myplayed_times# Played by Menumeric
myskipped_times# Skipped by Menumeric
myplayed_or_skipped_times# Played or Skipped by Menumeric
recent_playedRecently Playedrecent_played
genreGenretext
tag(*Alias of genre)
song_genre(*Alias of genre)
song_tag(*Alias of genre)
album_genreAlbum Genretext
album_tag(*Alias of album_genre)
artist_genreArtist Genretext
artist_tag(*Alias of artist_genre)
no_genreNo Genreis_true
no_tag(*Alias of no_genre)
genre_count_songSong Countnumeric
genre_count_albumAlbum Countnumeric
genre_count_artistArtist Countnumeric
playlistPlaylistboolean_subsearch
smartplaylistSmart Playlistboolean_subsearch
playlist_namePlaylist Nametext
fileFilenametext
bitrateBitratenumeric
addedDate Addeddate
updatedDate Updateddate
licenseMusic Licenseboolean_numeric
no_licenseNo Music Licenseis_true
recent_addedRecently Addedrecent_added
recent_updatedRecently Updatedrecent_updated
days_addedAddeddays
days_updatedUpdateddays
possible_duplicatePossible Duplicateis_true
duplicate_tracksDuplicate Album Tracksis_true
possible_duplicate_albumPossible Duplicate Albumsis_true
orphaned_albumOrphaned Albumis_true
catalogCatalogueboolean_numeric
mbidMusicBrainz IDtext
mbid_albumMusicBrainz ID (Album)text
mbid_artistMusicBrainz ID (Artist)text

Available operator values

Select your operator (integer only!) based on the type or your selected search

NOTE with the numeric_limit and is_true operators the operator is ignored, but still required

rule_1_operatortext / tagsnumeric / user_numericdateboolean, boolean_numeric, boolean_subsearch, days
0containsis greater than or equal to / has lovedbeforeis true / before (x) days ago
1does not containis less than or equal to / has rated 5 starsafteris false / after (x) days ago
2starts withequals / has rated 4 stars
3ends withdoes not equal / has rated 3 stars
4isis greater than / has rated 2 stars
5is notis less than / has rated 1 stars
6 (Text Only)sounds like
7 (Text Only)does not sound like
8 (Text Only)matches regular expression
9 (Text Only)does not match regular expression

Send the correct input based on the type of search.

rule_1_input
text
integer
boolean

NOTE To search metadata you need to add a 4th rule "rule_*_subtype"

Operators for metadata are using the text/tag types AND numeric types in a single list as they can be ints/strings/dates.

Currently there is not a simple way to identify what metadata types you have saved. New methods will be created for this.

Metadata operator table

rule_1_operatorMetadata
0contains
1does not contain
2starts with
3ends with
4is
5is not
6 (Text Only)sounds like
7 (Text Only)does not sound like
8 (Text Only)matches regular expression
9 (Text Only)does not match regular expression
10is greater than or equal to
11is less than or equal to
12is
13is not
14is greater than
15is less than

To search a mixed type like metadata you must search using 4 rules.

  • Search rule 1 for band containing 'Prodigy', Search Rule 2 for bbm > 120
    • rule name (e.g. rule_1['metadata'], rule_2['metadata'])
    • rule operator (e.g. rule_1_operator[0], rule_2_operator[12])
    • rule input (e.g. rule_1_input['Prodigy'], rule_2_input['120'])
    • rule subtype (e.g. rule_1_subtype['4'], rule_2_subtype['9'])