Artist Research
by @pozmac
Performs in-depth artist analysis combining Spotify API and external web data to report streaming stats, market position, and monetization potential.
clawhub install artist-researchπ About This Skill
Artist Research β Skill for OpenClaw
Comprehensive artist analysis using Spotify API (Feb 2026 Development Mode limits) + web data sources. Generates professional reports with streaming data, market positioning, and monetization potential.
When to Use
Prerequisites
.env (SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, SPOTIPY_REDIRECT_URI)spotipy and python-dotenv packages installedMethodology
Step 1: Spotify API Data Collection
Run spotify_api_lookup.py with artist name or ID. Collects:
NOTE: Since Feb 2026, Development Mode does NOT return:
See references/spotify-endpoints-2026.md for full list.
Step 2: External Data Sources (web_fetch)
| Source | URL Pattern | Data Available | Reliability |
|--------|-------------|----------------|-------------|
| kworb.net | kworb.net/spotify/artist/{ID}.html | Chart history, total streams, peak positions, per-track streams | βββββ Best source |
| kworb.net | kworb.net/spotify/track/{ID}.html | Individual track daily streams | βββββ |
| Spotify Profile | open.spotify.com/artist/{ID} | Monthly listeners (visible in browser), verification status | ββββ (requires browser for ML) |
| Google | Google search artist name + "monthly listeners" | AI overview with context | βββ |
| Instagram | instagram.com/{handle} | Follower count, engagement | βββ (requires browser) |
Sources that DON'T work with web_fetch (JS-heavy):
Step 3: Data Synthesis
Combine all sources into a structured report:
## ARTIST ANALYSIS: [Name]PROFILE
Spotify ID, verified status, profile completeness
Monthly listeners (from web/browser)
Followers (not available via API since Feb 2026) DISCOGRAPHY
Albums/singles count, release timeline
Featured appearances and collaborations
Label/distribution info STREAMING PERFORMANCE (from kworb.net)
Total tracked streams
Top tracks by streams
Chart peaks (country-specific)
Average streams per release MARKET POSITION
Related artists comparison
Genre positioning
Audience tier classification MONETIZATION ANALYSIS
Estimated monthly streaming revenue
Concert potential (based on ML tier)
Sync licensing opportunities
Merch potential RECOMMENDATIONS
Specific growth opportunities
Release strategy suggestions
Collaboration targets
Step 4: Report Output
Save report as:
reports/artist-report-{name}-{date}.md for storageScripts
All scripts are in this skill directory. Usage:
# Step 1: Spotify API data
python spotify_api_lookup.py "Artist Name"
python spotify_api_lookup.py --id SPOTIFY_IDStep 2: kworb.net data (automated via web_fetch in main flow)
Step 3: Full report (combines all sources)
python generate_report.py "Artist Name"
Data Tiers β Artist Classification
| Tier | Monthly Listeners | Revenue Potential | Examples | |------|-------------------|-------------------|----------| | Underground | 0-5K | 200-1K PLN/mo | local acts | | Emerging | 5-20K | 1-4K PLN/mo | first buzz | | Developing | 20-60K | 4-12K PLN/mo | growing fanbase | | Established Indie | 60-200K | 12-40K PLN/mo | MichaΕ AnioΕ, schafter | | Top Indie | 200-500K | 40-100K PLN/mo | Quebonafide tier | | Mainstream | 500K-2M | 100-400K PLN/mo | Dawid PodsiadΕo | | Star | 2M-10M | 400K-2M PLN/mo | sanah, PRO8L3M | | Mega-star | 10M+ | 2M+ PLN/mo | global acts |
Revenue Estimation Formula
Monthly streaming revenue = Monthly Streams Γ $0.003-0.005 (per stream)
Concert revenue = (Capacity Γ Ticket Price Γ 0.7) per show
Sync licensing = 5K-50K PLN per placement (one-time)
Spotify API β Available vs Removed (Feb 2026)
β Available Endpoints
β Removed/Restricted Endpoints
β οΈ Removed Fields
Error Handling
| Error | Cause | Solution | |-------|-------|----------| | 403 on /top-tracks | Endpoint removed Feb 2026 | Use kworb.net | | 404 on artist ID | Invalid ID or regional restriction | Check ID, try search | | Missing followers/popularity | Dev Mode restriction | Use kworb.net or SfA | | Encoding error (cp1250) | Polish characters in output | Replace emojis with [OK]/[!] | | web_search 404 | Token limit exceeded | Use web_fetch instead |
Notes
Version History
β‘ When to Use
βοΈ Configuration
.env (SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, SPOTIPY_REDIRECT_URI)spotipy and python-dotenv packages installed