Troubleshooting¶
Common issues and their solutions.
Configuration Issues¶
"Configuration file not found"¶
Error:
✗ Configuration file not found: config.json
Run 'artistscraper print-config > config.json' to create a config file
Solution:
Create a configuration file:
Then edit it with your credentials.
Spotify Issues¶
"Failed to authenticate with Spotify"¶
Possible Causes:
- Invalid
client_id,client_secret, orrefresh_token - Expired refresh token
- Wrong redirect URI in Spotify app settings
Solutions:
- Verify your credentials in
config.jsonare correct - Check your Spotify app settings:
- Redirect URI must be exactly:
http://localhost:8888/callback
- Redirect URI must be exactly:
- Regenerate your refresh token:
- Use spotify-refresh-token-generator
- Ensure all required scopes are included
"Insufficient client scope"¶
Error:
Solution:
Your refresh token doesn't have the required scopes. Regenerate it with all scopes:
user-library-readuser-follow-readplaylist-read-privateplaylist-read-collaborative
YouTube Music Issues¶
"HTTP 403: Forbidden"¶
Cause: YouTube Data API v3 is not enabled in your Google Cloud project
Solution:
- Go to Google Cloud Console
- Select your project
- Go to APIs & Services → Library
- Search for "YouTube Data API v3"
- Click Enable
- Regenerate your OAuth token:
"HTTP 400: Bad Request"¶
Cause: Invalid OAuth credentials or expired token
Solution:
- Check
client_idandclient_secretinconfig.json - Regenerate your OAuth token:
"Failed to authenticate with YouTube Music"¶
Possible Causes:
- Expired OAuth token
- Wrong OAuth credentials
- Auth file not found
Solutions:
- Check
auth_filepath inconfig.jsonmatches the generated file - Regenerate authentication:
- Ensure YouTube Data API v3 is enabled
"No Artists Found" from YouTube Music¶
Possible Causes:
- No liked videos, subscriptions, or playlists
- Content is private
- Couldn't extract artist names from titles
Solutions:
- Like some music videos on YouTube
- Subscribe to artist channels
- Create playlists with music videos
- Run with
--verboseto see what's being fetched:
Lidarr Issues¶
"Failed to connect to Lidarr"¶
Possible Causes:
- Lidarr is not running
- Wrong URL in
config.json - Wrong API key
- Network/firewall blocking connection
Solutions:
- Verify Lidarr is running:
- Open Lidarr in your browser
- Check the URL and port
- Check
config.json:- URL must include
http://orhttps:// - API key must match Settings → General → Security
- URL must include
- Test from the same machine:
"No root folders configured"¶
Cause: Lidarr doesn't have any root folders set up
Solution:
- In Lidarr, go to Settings → Media Management
- Scroll to Root Folders
- Add at least one root folder where music will be stored
- Save settings
- Try Artist Scraper again
"Artist not found in Lidarr"¶
Cause: The artist's MusicBrainz ID is not in Lidarr's database
This is normal for: - Very new artists - Regional/local artists - Artists not in MusicBrainz
Solutions:
- Wait for Lidarr database updates
- Check if artist exists in MusicBrainz
- Use
--verboseto see details:
MusicBrainz Issues¶
"Network error looking up [Artist]"¶
Error:
Cause: MusicBrainz rate limiting or network issues
This is normal and expected for large libraries.
Solutions:
- The scraper automatically continues
- Failed artists are logged to
skipped_artists.log - You can manually look them up later on musicbrainz.org
- Run again to retry failed artists
Low MusicBrainz Match Rate¶
Issue: Many artists in skipped_artists.log
Possible Reasons:
- Artists not in MusicBrainz database
- Name variations (typos, different spellings)
- Fuzzy match below 90% threshold
- Non-music content from YouTube
Solutions:
- Review
skipped_artists.log - Manually search important artists on musicbrainz.org
- Add MusicBrainz IDs manually to CSV:
- Re-import the CSV:
MusicBrainz is Slow¶
Issue: Takes a long time to look up IDs
This is expected due to MusicBrainz rate limiting:
- 1 request per second for regular users
- 100 artists ≈ 2 minutes
- 500 artists ≈ 9 minutes
- 1000 artists ≈ 17 minutes
Options:
-
Skip lookups for faster scraping:
(Note: Cannot use with--lidarr) -
Be patient - the progress bar shows status
-
MusicBrainz supporter - Higher rate limits available for supporters
Performance Issues¶
Scrape Takes Too Long¶
Optimize by limiting sources:
# Spotify only (faster than both)
artistscraper scrape --spotify-only
# Skip MusicBrainz (much faster)
artistscraper scrape --skip-musicbrainz
# Combine both
artistscraper scrape --spotify-only --skip-musicbrainz
YouTube Music Fetching is Slow¶
Cause: Large number of liked videos or playlists
Normal behavior: YouTube API requires pagination
Solution: Be patient, progress bar shows status
CSV/Import Issues¶
"CSV must have 'Artist Name' and 'MusicBrainz ID' columns"¶
Cause: CSV file is missing required columns
Solution:
Ensure your CSV has these columns (exact names):
- Artist Name
- MusicBrainz ID
Header row is required:
"CSV must have 'Play Count' column when using --min-plays filter"¶
Cause: Using --min-plays but CSV doesn't have Play Count column
Solution:
Either:
-
Remove
--min-playsfilter: -
Or ensure CSV has
Play Countcolumn:
Getting More Help¶
Enable Verbose Output¶
For detailed debugging information:
This shows: - Detailed API requests - Response data - Error stack traces - Progress details
Check Logs¶
Review the skip log for details:
Report Issues¶
If you've tried the above solutions and still have issues, please report:
- Go to GitHub Issues
- Include:
- Python version:
python --version - OS: macOS/Linux/Windows
- Artist Scraper version:
pip show artistscraper - Full error message
- Steps to reproduce
- Configuration (with credentials redacted)
- Python version:
Community Support¶
- Check existing GitHub Issues
- Search Discussions