# Expose additional data for media

**URL:** <http://support.symfonium.app/t/expose-additional-data-for-media/1190>\
**Category:** OpenSubsonic API extensions\
**Created:** [January 4, 2023, 12:50pm UTC](http://support.symfonium.app/t/expose-additional-data-for-media/1190 "2023-01-04T12:50:44Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![dravin](http://support.symfonium.app/letter_avatar_proxy/v4/letter/d/da6949/32.png) [@dravin](http://support.symfonium.app/u/dravin)\
**Post date:** [January 7, 2023, 5:48pm UTC](http://support.symfonium.app/t/expose-additional-data-for-media/1190/4 "2023-01-07T17:48:25Z")

</div>

I think returning a `tags` item is a good idea since it’s the most general, and clients can then be configured to treat certain tags as first-class citizens, or just display them as a key/value set. What might also be interesting is a new `getByTags` endpoint that retrieves all albums/songs that have a given tag (key=value) present. This could be used by clients to e.g. make the LABEL tag browsable, allowing a user to get a list of all albums released on the same record label (assuming their library was tagged as such, of course!)

The `tags` item could be returned as part of the album element to save data, IF all of the tracks in the album had the same value for a particular tag. Tags that were different per track within an album could be attached to the track element instead.

I guess a `getTagValues` endpoint would be a good idea too then, which returns all the values for a given tag in the library. So a client could present a list of composers by getting `getTagValues(composer)`

---

_[View the full topic](http://support.symfonium.app/t/expose-additional-data-for-media/1190)._
