Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt

Use this file to discover all available pages before exploring further.

The Spotify plugin syncs data locally. Use corsair.spotify.db.<entity>.search({ data, limit?, offset? }) with the filters listed per entity.

Albums

Path: spotify.db.albums.search
const rows = await corsair.spotify.db.albums.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
namestringequals, contains, startsWith, endsWith, in
album_typestringequals, contains, startsWith, endsWith, in
total_tracksnumberequals, gt, gte, lt, lte, in
hrefstringequals, contains, startsWith, endsWith, in
release_datestringequals, contains, startsWith, endsWith, in
release_date_precisionstringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Artists

Path: spotify.db.artists.search
const rows = await corsair.spotify.db.artists.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
namestringequals, contains, startsWith, endsWith, in
hrefstringequals, contains, startsWith, endsWith, in
popularitynumberequals, gt, gte, lt, lte, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Playlist Items

Path: spotify.db.playlistItems.search
const rows = await corsair.spotify.db.playlistItems.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
playlist_idstringequals, contains, startsWith, endsWith, in
track_idstringequals, contains, startsWith, endsWith, in
added_atstringequals, contains, startsWith, endsWith, in
is_localbooleanequals
positionnumberequals, gt, gte, lt, lte, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Playlists

Path: spotify.db.playlists.search
const rows = await corsair.spotify.db.playlists.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
namestringequals, contains, startsWith, endsWith, in
descriptionstringequals, contains, startsWith, endsWith, in
publicbooleanequals
collaborativebooleanequals
hrefstringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Tracks

Path: spotify.db.tracks.search
const rows = await corsair.spotify.db.tracks.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
namestringequals, contains, startsWith, endsWith, in
duration_msnumberequals, gt, gte, lt, lte, in
explicitbooleanequals
hrefstringequals, contains, startsWith, endsWith, in
is_localbooleanequals
popularitynumberequals, gt, gte, lt, lte, in
preview_urlstringequals, contains, startsWith, endsWith, in
track_numbernumberequals, gt, gte, lt, lte, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Users

Path: spotify.db.users.search
const rows = await corsair.spotify.db.users.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
display_namestringequals, contains, startsWith, endsWith, in
hrefstringequals, contains, startsWith, endsWith, in
productstringequals, contains, startsWith, endsWith, in
typestringequals, contains, startsWith, endsWith, in
uristringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.