# Bedrock-API ## Overview Multi-source music streaming aggregator written in Go. Provides unified gRPC API across multiple streaming platforms with cross-platform track bridging. ## Key Features - **API**: gRPC + HTTP streaming proxy - **Performance**: High-performance Go implementation - **Bridging**: Resolves non-streamable tracks to playable alternatives - **Auth**: JWT with PostgreSQL backend - **License**: MIT ## Source | Resource | URL | |----------|-----| | **Repository** | https://github.com/feralbureau/bedrock-api | ## Supported Providers | Provider | Metadata | Search | Streaming | Playlist | Bridge | |----------|----------|--------|-----------|----------|--------| | Spotify | Yes | Yes | Bridged | Yes | SoundCloud | | SoundCloud | Yes | Yes | Yes | Yes | - | | Deezer | Yes | Yes | Bridged | Yes | SoundCloud | | YouTube Music | Yes | Yes | Limited | Yes | SoundCloud | | Yandex | Partial | Partial | - | - | - | | VK | Partial | Partial | - | - | - | ## Architecture - **Unified gRPC/Protobuf models** for all music entities - **Cross-platform bridging** - resolves non-streamable tracks - **Parallel provider searches** with Go concurrency - **HTTP streaming proxy** with range request support - **Lyrics integration** (LrcLib, Genius in progress) ## Self-Hosting ```bash git clone https://github.com/feralbureau/bedrock-api.git cd bedrock-api # Configure providers and database cp config.example.yaml config.yaml # Run go run . ``` ## Notes - Best for streaming aggregation use cases - gRPC for high performance - Automatic track resolution across platforms