A lightweight SwiftUI app that searches the iTunes API for songs by artist name and displays the results in a clean, tappable list. Users can view track details and listen to audio previews.
- 🔍 Search by artist name (minimum 3 characters)
- 📜 Displays track name, artist, genre, release year (album on detail view)
- 🎧 Audio preview playback using
AVPlayer - 🖼 Album artwork (via
AsyncImage) - 🧭 Tappable rows navigate to a full song detail view
- 🧪 Unit tested JSON decoding logic
- ✅ Clean Swift Concurrency (async/await) and MVVM architecture
- Swift 5.9+
- SwiftUI
- AVKit (
AVPlayer) - iTunes Search API
- XCTest for basic decoding validation
| Search View | Song Detail |
|---|---|
![]() |
![]() |
https://itunes.apple.com/search?term=ARTIST&entity=song&limit=25
Example:
https://itunes.apple.com/search?term=zeppelin&entity=song&limit=25
- Clone the repo:
git clone https://github.com/bsimmons01/iTunesSongSearch.git

