API v2: How to get all release (group)s containing recordings of a given work?


In my application, I’d like to anser to questions like:

What Recordings of “Symphony no. 3 in E-flat major, op. 20 ‘The First of May’ by Shostakovich” exists?

Seems to me is one of the most common kind of inquiry an user could hit, but as for today API i squite difficult and long to answer:

  1. correctly find artist “Дмитрий Дмитриевич Шостакович” as the composer Shostakovich.
  2. find “Symphony no. 3 in E-flat major, op. 20 ‘The First of May’” as the work.

We could suppose we use Artist Search and then get catalog(ues) from Series relations and let user locate the work, I think is quite a natural way to browse composers and opus.


  1. get all parts of the work.
  2. for each part (and the work itself) get recordings.

this cost 1 lookup for each part, not too bad, but you get no info other than the recording title this way, not very informative, it make no sense to break here.

  1. for each recording get at least the Artist Credit (to simulate the MB web interface) or better the release list.
  2. for each single release (filtering duplicates coming form different parts pointing at the same recording or different recordings to the same release), get the release group.
  3. get the coverArt.

Last 3 steps easily costs 20 or more lookups/browses, for very famous works with undreds of parts and recordings it result to be a very, very frustrating UX.

There is a way to make this path shorter?

Id like to add that simply using ‘search release groups’ for

“Symphony no. 3 in E-flat major, op. 20 ‘The First of May’ by Shostakovich”

returns the first good result at 3th position, with rate 81, the second at 13, the other 10 are way below, quite the same searching for releases.