fix: Improve iTunes API call success rate by increasing rate limit delay and adding a User-Agent header.

This commit is contained in:
Hördle Bot
2025-11-24 14:36:27 +01:00
parent 3309b5c5ee
commit 7f455053e7
2 changed files with 7 additions and 3 deletions

View File

@@ -36,8 +36,8 @@ export async function POST(request: Request) {
for (const song of songs) {
try {
// Rate limiting: wait 500ms between requests to be safe
await sleep(500);
// Rate limiting: wait 2000ms between requests to be safe (iTunes can be strict)
await sleep(2000);
const year = await getReleaseYearFromItunes(song.artist, song.title);

View File

@@ -33,7 +33,11 @@ export async function getReleaseYearFromItunes(artist: string, title: string): P
const term = encodeURIComponent(`${artist} ${title}`);
const url = `https://itunes.apple.com/search?term=${term}&entity=song&limit=10`;
const response = await fetch(url);
const response = await fetch(url, {
headers: {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
});
if (!response.ok) {
console.error(`iTunes API error: ${response.status} ${response.statusText}`);