# Check for availability of release-group cover art

**URL:** https://community.metabrainz.org/t/check-for-availability-of-release-group-cover-art/813793
**Category:** Development
**Tags:** cover-art-archive, api, musicbrainz
**Created:** [November 27, 2025, 2:13pm UTC](https://community.metabrainz.org/t/check-for-availability-of-release-group-cover-art/813793 "2025-11-27T14:13:08Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![MoietyMe](https://community.metabrainz.org/user_avatar/community.metabrainz.org/moietyme/32/106295_2.png) [@MoietyMe](https://community.metabrainz.org/u/MoietyMe)
#### Post date: [November 27, 2025, 2:13pm UTC](https://community.metabrainz.org/t/check-for-availability-of-release-group-cover-art/813793/1 "2025-11-27T14:13:09Z")

</div>

TL;DR Is there a way to check for release-group cover art without triggering a 404?

* * *

For a `release` you check if it has cover art with the MusicBrainz API:

```auto
https://musicbrainz.org/ws/2/release/70b969e8-2d56-4b27-937a-0f20b3bfe987?fmt=json

```

This will give you a JSON object which includes a `"cover-art-archive"` property:

```auto
"cover-art-archive": {
    "darkened": false,
    "back": false,
    "front": true,
    "count": 1,
    "artwork": true
},

```

That makes it trivially easy to check if a certain release has cover art. In my application I check it like so:

```auto
testReleaseArtwork(mbid) {
    return fetch(`${this.#APIs.MusicBrainz}release/${mbid}?fmt=json`)
        .then((response) => response.json())
        .then((data) => {
            return data["cover-art-archive"].front
        })
}

```

This function is called from another function. That function loops through the first ten search results until it finds a release with a cover. This works but the results are a bit wonky at times as not all scans of artwork are of the same quality. I thought therefore that it would be better to first check for `release-group` art work.

* * *

When you try the query mentioned above for a `release-group` the result is a bit different.

```auto
https://musicbrainz.org/ws/2/release-group/b290e941-2908-4ef2-9815-63f084f041a6?fmt=json

```

The result for that query doesn’t include a `"cover-art-archive"` property. At which point I think you have to default back to querying the CoverArtArchive API:

```auto
https://coverartarchive.org/release/026c90a2-b9ef-498b-b0a6-cb790eb556d8/

```

Which is fine when there’s art work to be found. But if there’s no art work it will throw a 404. Which is what I’d like to avoid. The reason being it looks amaturistic in the DevTools but maybe that’s not a good reason. Another reason is that to me it’s not an actual error, it’s an indication of a lack of information. It tells me I should go and loop through the releases.

Here’s a [release group without cover art](http://coverartarchive.org/release-group/35fcff65-7ba4-3865-8cc6-8947b987ab20) as an example.

Is there any way to check for release-group cover art without triggering a 404?

* * *

Related to:

- [How to identify cover art of release group PSQL DB?](https://community.metabrainz.org/t/how-to-identify-cover-art-of-release-group-psql-db/796651)
- [Check if cover art is available via MusicBrainz API](https://community.metabrainz.org/t/check-if-cover-art-is-available-via-musicbrainz-api/582862/6)
- [Best way to fetch cover art for multiple release-groups?](https://community.metabrainz.org/t/best-way-to-fetch-cover-art-for-multiple-release-groups/783707)
