Skip to content

Library & Data


Returns a library summary: track count, genre distribution, average BPM, key distribution, and rating breakdown.


Search and filter tracks. All parameters are optional — combine any set of shared search filters with the local options below.

Parameter Type Required Description
playlist string Filter by playlist ID
include_samples boolean Include Rekordbox factory samples (default: false)
limit integer Max results (default: 50, max: 200)
offset integer Skip first N results for pagination

Factory sample tracks are excluded by default. Set include_samples: true to include them.


Get full details for a single track by ID. Returns Rekordbox metadata only — use resolve_track_data for enrichment and audio analysis data.

Parameter Type Required Description
track_id string yes Track ID

List all playlists with track counts. Returns the full playlist tree including folders and smart playlists.


List tracks in a specific playlist, in playlist order.

Parameter Type Required Description
playlist_id string yes Playlist ID
limit integer Max results (default: 200)


List recent DJ sessions from Rekordbox play history. Returns session ID, name, date, track count, and estimated wall-clock duration.

Parameter Type Required Description
limit integer Max sessions to return (default: 20, max: 100)
after string Only sessions on or after this ISO date (e.g., "2024-01-01")

Duration is estimated from the timestamp span of tracks in the session plus the last track’s length. Returns null for single-track sessions.


Get the ordered track list for a specific DJ session. Each track includes a played_at timestamp showing when it was loaded during the session.

Parameter Type Required Description
session_id string yes Session ID from get_sessions

Get per-track play statistics scoped by shared search filters. Shows play counts, last played dates, and which sessions each track appeared in.

Parameter Type Required Description
include_unplayed boolean Also return tracks matching filters that have never been played (default: false)
limit integer Max results (default: 200, max: 500)

Results are ordered by play count descending. When include_unplayed is true, unplayed tracks are appended after played tracks (ordered by title).


Return locally-cached data without external API calls or analysis.


Return Rekordbox metadata, cached Discogs and Beatport enrichment, current Stratum and optional current Essentia analysis, staged changes, and genre taxonomy mappings for one track. It does not include cached Bandcamp or MusicBrainz payloads.

Parameter Type Required Description
track_id string yes Track ID

Batch version of resolve_track_data, with the same provider and freshness boundaries. Accepts shared search filters to scope which tracks to resolve.

Parameter Type Required Values Description
track_ids string[] Specific track IDs (highest priority selector)
playlist_id string Resolve tracks in this playlist
max_tracks integer Max tracks to return (default: 50)
format string ["full", "classification"] "full" (default) or "classification"

The "classification" format returns a compact payload (~400-500 bytes/track vs 2-4KB) with only genre classification fields: mapped Discogs genres/styles, Beatport genre, audio features, and completeness flags.


Report cache completeness for a track scope. Accepts shared search filters.

Parameter Type Required Values Description
track_ids string[] Specific track IDs
playlist_id string Check tracks in this playlist
max_tracks integer Max tracks to check (default: unbounded)

Returns exactly four coverage entries for the selected scope:

Entry What coverage means
stratum_dsp Fresh built-in audio-analysis cache rows
essentia Fresh optional Essentia cache rows, plus whether Essentia is installed
discogs searched and has_result counts for Discogs enrichment
beatport searched and has_result counts for Beatport enrichment

Bandcamp and MusicBrainz are targeted metadata paths and are not reported by this tool.

The gap counts use the same scope: no_audio_analysis means no fresh Stratum row, no_enrichment means neither Discogs nor Beatport has an actual result, and no_data_at_all means neither audio analyzer nor either metadata provider has usable data.