# Music Metadata API ## Overview A high-performance metadata enrichment API for music servers, backed by SQLite databases containing 256 million tracks. Written in Go with OpenAPI 3.1 spec. ## Key Features - **Coverage**: 256M tracks in SQLite databases - **Performance**: 100 req/s with burst capacity of 200 - **Batch API**: Up to 400 entities per request - **Data**: Images, genres, labels, copyright, release dates, ISRC - **License**: MIT ## Source | Resource | URL | |----------|-----| | **Repository** | https://github.com/Aunali321/music-metadata-api | | **API Docs** | Swagger UI at `/docs` endpoint | ## API Endpoints | Endpoint | Description | |----------|-------------| | `POST /batch/lookup` | Batch lookup (up to 400 entities) | | `GET /lookup/isrc/{isrc}` | Lookup tracks by ISRC | | `GET /lookup/track/{id}` | Lookup track by ID | | `GET /lookup/artist/{id}` | Lookup artist by ID | | `GET /lookup/album/{id}` | Lookup album by ID | | `GET /lookup/album/{id}/tracks` | Get all tracks in album | | `GET /search/track?q=&limit=` | Search tracks by name | | `GET /search/artist?q=&limit=` | Search artists by name | ## Self-Hosting ```bash # Docker docker run -p 8080:8080 \ -v /path/to/databases:/data:ro \ ghcr.io/aunali321/music-metadata-api:latest # Or build locally (requires Go 1.24+) ./metadata-api -db /path/to/main_database.sqlite3 ``` ## Notes - **Requires separate SQLite databases** (not included in repo) - Independent open-source project (not affiliated with Spotify) - Best for high-volume bulk lookups - OpenAPI 3.1 spec available at `/openapi.yaml`