Obscure Music Finder
Set a listener cap, enter a seed artist, and find underground acts that share their audience. Filtered by match score and optionally by genre tag.
Always expand the top layer-1 matches into a second layer of similar artists, even if layer 1 already returns enough results. Surfaces deeper, more obscure finds at the cost of extra API calls and slower load times. Off by default (second layer only triggers when fewer than 5 results survive layer 1).
Enter an artist to dig for hidden gems
The tool filters Last.fm similarity results by listener count to surface underground acts similar to your seed artist.
Finding Underground Artists: How Listener Counts Reveal Hidden Gems
The top 1% of artists on streaming platforms consistently capture 63-65% of all streams, according to a 2022 UK Intellectual Property Office study on music creator earnings. The bottom 90% of artists share roughly 5% of total streams. This concentration is the fundamental economics of music discovery: visibility feeds more visibility, leaving enormous amounts of worthwhile music buried below the radar.
Why Listener Count Works as a Proxy for Obscurity
Listener count is not a perfect measure of artistic quality or obscurity. A regional artist with a devoted local following might have few Last.fm listeners but sell out venues. An artist who went viral for one track might have millions of listeners but only one well-known song.
Despite these limitations, Last.fm listener count is a practical, queryable, and consistent signal. It reflects how many Last.fm users have actively scrobbled an artist, which correlates strongly with broader streaming visibility. Artists below 10,000 Last.fm listeners are genuinely hard to discover through standard algorithmic recommendations. That threshold is where this tool focuses.
Spotify's catalog reportedly contains over 100 million tracks as of 2025. Most of those tracks belong to artists who will never appear on an algorithmic playlist. The long tail is vast. Using listener count as a filter cuts through the signal noise and surfaces acts that sit close to your taste but far below the mainstream threshold.
How the Two-Layer Search Works
The core search calls Last.fm's artist.getSimilar endpoint with a limit of 100 for your seed artist. Results are filtered by your chosen listener cap and minimum match score. If fewer than 5 artists survive, the tool automatically expands.
In expansion mode, the tool takes the top 5 similar artists from the first layer (before the listener filter) and fetches their similarity networks. All results are merged, deduplicated, and re-filtered with your original criteria. This two-layer approach can surface artists that are two degrees of separation from your seed but still sit within the same listener community.
Example: searching from "Portishead" with a 20,000 listener cap might return very few direct matches. Expanding through their closest similar acts (Massive Attack, Tricky, Goldie) opens the wider trip-hop and experimental electronic community, where dozens of acts sit below the cap.
The Genre Tag Filter
Enabling the tag filter adds a second verification step. For each result artist, the tool calls Last.fm's artist.getTopTags endpoint and checks whether any of their user-assigned tags include your input string. This is a partial match: entering "ambient" will catch "dark ambient", "ambient techno", and "ambient pop" as well as "ambient" itself.
Tag data on Last.fm comes from users, not editors. It is crowd-sourced and can be noisy. Some artists have dozens of accurate tags. Others have almost none. Enabling this filter will increase search time and may reduce your result count significantly. It works best for well-defined genre terms like "doom metal", "bossa nova", or "k-indie".
The Listener Count Badge System
Results are color-coded by listener count. Green "underground" badges mark artists with fewer than 10,000 Last.fm listeners. Amber "indie" badges cover 10,000 to 50,000 listeners. Orange "emerging" badges appear for artists between 50,000 and your chosen cap.
These labels are approximate. An "underground" artist might be well-known in their local scene. An "emerging" artist might be on the verge of breaking through. Use the labels as a rough starting point, then listen before drawing conclusions.
Practical Use Cases
Sample digging: Producers looking for clearable samples often target obscure artists in a specific era or style. Set the listener cap to 5,000 and search from a known influence. The results are often artists from the same scene who never broke through.
Support act booking: Finding a support act that shares an audience with your headliner but is not already well-known to that audience is valuable for a show. High match score plus sub-10k listeners is the ideal combination.
Personal discovery: If you have worked through most of an artist's catalog, this tool surfaces adjacent acts you may have never encountered. Unlike algorithmic recommendations, it is transparent: you can see the match score and listener count, so you understand exactly why each result appeared.
For finding artists without needing a seed, try the Similar Artists Finder with the obscure sort mode. For discovering by genre tag rather than by artist similarity, the Genre Tag Explorer lets you browse Last.fm's tag system directly.
Limitations and Honest Caveats
Last.fm's listener data skews toward certain demographics and geographies. Artists popular in Japan, South Korea, or Latin America may appear "obscure" by Last.fm listener count even if they are chart-topping acts in their home markets. The tool reflects English-speaking and European listener bases more than global ones.
The similarity algorithm requires a threshold of scrobble data to produce reliable scores. If your seed artist is very niche, their similarity network will be small and the scores less reliable. For best results, start from artists with at least 100,000 Last.fm listeners. You can always restrict the output to under-10k artists even if the seed is mainstream.
Finally, this tool makes multiple API calls in sequence for the two-layer search and tag filtering. On slow connections, this can take 10-30 seconds. This is expected behavior, not a bug.