Download the PHP package calliostro/musicbrainz-client without Composer
On this page you can find all versions of the php package calliostro/musicbrainz-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download calliostro/musicbrainz-client
More information about calliostro/musicbrainz-client
Files in calliostro/musicbrainz-client
Package musicbrainz-client
Short Description Lightweight MusicBrainz API client for PHP 8.1+ with modern developer comfort — Clean parameter API and minimal dependencies
License MIT
Homepage https://github.com/calliostro/musicbrainz-client
Informations about the package musicbrainz-client
⚡ MusicBrainz API Client for PHP 8.1+ – Lightweight with Maximum Developer Comfort
🚀 MINIMAL YET POWERFUL! Focused, lightweight MusicBrainz API client — as compact as possible while maintaining modern PHP comfort and clean APIs.
📦 Installation
✨ Features
- 🎯 Complete API Coverage — All MusicBrainz API v2 endpoints supported (50+ operations)
- 📖 Read & Write Operations — Both lookup/search and authenticated operations (ratings, tags, collections)
- 🚀 Lightweight — Minimal dependencies (only Guzzle)
- 🔒 Type-safe — Full PHP 8.1+ type hints and strict types
- 📚 Well-documented — PHPDoc with all methods and parameters
- ⚡ Performance — Optimized configuration caching
- 🧪 100% Tested — Comprehensive unit tests with full code coverage
- 🎨 PSR-12 — Follows modern PHP coding standards
🚀 Quick Start
Basic Usage (No Authentication Required)
Search with Lucene Query Syntax
With Authentication (For Write Operations)
Custom User-Agent
MusicBrainz requires proper User-Agent identification. By default, the client includes a User-Agent, but you can customize it:
📖 API Methods
Artist Methods
Release Methods
Release Group Methods
Recording Methods
Label Methods
Work Methods
Other Methods
Genre Methods
Instrument Methods
Series Methods
Event Methods
Place Methods
📚 Complete API Reference
Read Operations (No Authentication Required)
Artist: lookupArtist, browseArtists, searchArtists
Release: lookupRelease, browseReleases, searchReleases
Release Group: lookupReleaseGroup, browseReleaseGroups, searchReleaseGroups
Recording: lookupRecording, browseRecordings, searchRecordings
Label: lookupLabel, browseLabels, searchLabels
Work: lookupWork, browseWorks, searchWorks
Area: lookupArea, searchAreas
Genre: lookupGenre, searchGenres
Instrument: lookupInstrument, searchInstruments
Series: lookupSeries, searchSeries
Event: lookupEvent, browseEvents, searchEvents
Place: lookupPlace, browsePlaces, searchPlaces
ISRC: lookupIsrc
URL: lookupUrl, searchUrls
Write Operations (Authentication Required)
Ratings: submitRating - Rate artists, releases, recordings, release-groups, works, labels, events, places, series, or instruments (0-100, 0 removes rating)
Tags: submitTags - Add tags to artists, releases, recordings, release-groups, works, labels, areas, events, places, series, or instruments
Collections: getUserCollections, getCollectionReleases, addReleasesToCollection, removeReleasesFromCollection
🎯 Parameter Styles
The client supports multiple parameter styles for maximum flexibility:
🔧 Advanced Configuration
Rate Limiting
MusicBrainz has rate limiting (one request per second). Consider implementing rate limiting in your application:
Custom Guzzle Options
📝 Response Format
All methods return arrays with the JSON-decoded response from MusicBrainz:
🧪 Testing
🔍 Code Quality
📚 Resources
- MusicBrainz API Documentation
- MusicBrainz Search Syntax
- MusicBrainz Rate Limiting
- MusicBrainz Database
📄 License
MIT License – see the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
🙏 Acknowledgments
- MusicBrainz for providing the excellent open music encyclopedia and metadata API
- Guzzle for the robust HTTP client
- The PHP community for continuous inspiration
⭐ Star this repo if you find it useful!