diff --git a/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs b/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs index e3a7b35..aefb1a2 100644 --- a/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs +++ b/allstarr/Services/Spotify/SpotifyPlaylistFetcher.cs @@ -297,8 +297,13 @@ public class SpotifyPlaylistFetcher : BackgroundService _logger.LogError(ex, "Error fetching playlist '{Name}'", config.Name); } - // Rate limiting between playlists - await Task.Delay(_spotifyApiSettings.RateLimitDelayMs, cancellationToken); + // Rate limiting between playlists - Spotify is VERY aggressive with rate limiting + // Wait 3 seconds between each playlist to avoid 429 TooManyRequests errors + if (config != _spotifyImportSettings.Playlists.Last()) + { + _logger.LogDebug("Waiting 3 seconds before next playlist to avoid rate limits..."); + await Task.Delay(TimeSpan.FromSeconds(3), cancellationToken); + } } _logger.LogInformation("=== FINISHED FETCHING SPOTIFY PLAYLISTS ===");