Hello,
I’m building a small, non-commercial web project and trying to understand the intended way to use the MusicBrainz API.
My question is about client-side usage, meaning having the API calls made directly from each user’s browser (fetch/AJAX, relying on CORS) rather than routing everything through a central backend. In that setup, each user’s requests come from their own IP, and each stays well under the 1 request/second limit individually. There’s no bulk querying, just occasional lookups as a user browses.
A few things I’d like to clarify:
- Is this kind of per-user, client-side (browser) usage an acceptable way to use the API, given that requests are distributed across users’ own IPs rather than concentrated on one server IP?
- Since browsers don’t allow setting a custom User-Agent header, client-side requests go out with the normal browser User-Agent. Is that a problem, or is it fine for this kind of light per-user usage?
- For a project of this size, self-hosting a full mirror (musicbrainz-docker) feels like overkill and I would basically pour the money for something that brings zero revenue.
I assume it’s allowed because MusicBrainz allows CORS?
Just want to make sure I’m using the service the way you intend before I build on it. Thanks for any guidance!