hello! I had the same problem!
I am having an issue too of getting a lot of status 403 responses. Although I am doing a large number of searches, I have been running this for over 2 years without problems until now, and also I am getting them even on my first search, and when I search in the browser.
I thought at first the site was down yesterday or was having problems but I am having them today too, and I need to make my new playlist and this is an important step.
I am submitting a bug report for this. Although that screen is taking ages to work.
Something that worked fine last week and isn't working now is a bug.
They certainly make it difficult to actually make contact. You go to the menu option and everywhere tries to drive you somewhere that isn't making contact.
I'm also experiencing the same issue. Making even a few calls in a batch processing run results in subsequent 403 responses. This is the officially recommended architecture per the API caching diagram, so it's definitely a bug. Even if I sleep for an interval between the batch requests, I still get blocked.
It allowed me about 75 then started hitting me with them. I reduced it down to one thread, I closed and reset the session as HTTP client advises, but no luck.
Maybe they log my ip or mac address and limit me to a few a day.
However my list usually starts with several thousand.
The whole point of having "developers" on a framework like this is to allow us to make apps or base websites on this technology. For me, it is building a formal new release list which I send out to several people, and I use iTunes primarily to get the genres. This is a very important piece of metadata.
I also later merge with youtube to find only those with videos, and eveyr 3 weeks there is a youtube playlist under the account of DJGrim that has some numbers folllowed by _realvideos which essentially yields from the end of all of this.
I can't believe that Apple, who are one of the most major corporations, do not have the capacity to allow that many searches.
submitted as bug
I think I will have to remove my app from the store to avoid one-star reviews.
I am using the default configuration for NSURLSession, it should be ok, caching-wise ?
THe /lookup? API endpoint is working.
Same issue here. Have only been doing 25 calls or so every few minutes.
Same problem. Had to remove my app from store. It's vety frustrating.
Same problem. I noticed it is not about access rate, it's about the length of search string. If the string is short enough, it would not get 403. Or I guess it is because short string is using a cache in itunes server and long string is through a full text search.
In one word, it's definitely a bug.
According to our server logging, it has been failing regularly since at least 430pm on November 1st. It seems as if the rate limitting parameters were made much stricter.
I filed a Radar about it last night, Radar 29060372 iTunes Search API is regularly returning 403s
Same issue. I reported this as a bug as well. Maybe with more reports, they'll be faster to respond.
Thanks for your comments. This seemed to be briefly OK for a short while, but I get nothing but 403's at the moment.
I'm pretty certain it is being throttled/rate limited as if I run the exact same query from a different server/PC the result is OK (200) and a result is returned, yet doing the same search from my server where the search needs to be performed from, I get 403's.
Some kind of explanation of what the limits are, per minute/hour/day would be very useful!
Does anyone know any more about what the limits are (which appear to have changed recently)?
Also, if anyone gets any further info from the bugs reported, would you be kind enough to share here?
Finally, where do you report this kind of thing to Apple, so that we can all report these as bugs?
Thanks again everyone, kind of good to know it's just not me having this problem!
I spoke with a contact at Apple and he confirmed they are aware of the 403 errors occurring for developers. It is related to an upper limit on their Search endpoint.
Apps that send several single requests from the same device (or IP) address appear to be rate limited, presumabely due to increased community usage - but didn't sound like an intentionally planned rate limit. One/two requests should go through fine.
In any case, they're aware of the issue (and presumably working on it). My contact did not have any estimate date of resolution, but did request more information on what is being experienced in the developer community. If anyone is experiencing different symptoms (i.e. 403 after just a single request, or partial results but no 403, etc.) please provide any scenario info you can and I'll pass it along to them to help expedite.
Many thanks, sincerely appreciate your response.
My usage on the API are single queries requesting one match only and from a single IP address. I have made changes to our code to reduce the calls (sometimes there were calls being made whereby the actual response wasn't needed).
I have also now started caching the results so that I can check against the cached results and not forward them onto the API but that is going to take some time to implement.
From what I have been able to find out, there is no documented limit for calls?
From your contact at Apple, would you be kind ebough to report back if you find out when this has been resolved on Apples side?
Thank you for the update.
If there is a new rate limiting algorithm being deployed, I hope it take into consideration that the iTunes Search API is not only used by affiliates on the web but also by Apple Music iOS API users.
The iTunes search API is often the only way to get the "store ids" that are needed in the Apple Music API of the iOS SDK.
If an IP based access/rate limit is used, it means that the misbeahavior of an iOS app could led to other apps being impacted by the limit.
In my case the requests are made from an iOS app. The 403s starts to appear after about 25 requests from the same IP.
Aggressive caching in the iOS app would not help because after about 25 requests, searches starts to fail (with 403) even if the search terms have not been used before on the requesting IP.
My search terms are usually made of full track names with limit=15.
I was also getting these 403 responses from the iTunes Search API recently but it seems to have stopped now.
However I am currently getting a data caching issue that I have posted about here:
Not sure if this is something new or just something that I haven't noticed before.
We are having this issue as well. Filed Radar 29208232 in case that helps
How do we look up the issue using that ID?
We as well are still having this issue. Anyone have any new updates from Apple?
I filed a bug report and they replied saying this is a duplicate of bug ID 29055870. However, there's no way to check the status of that bug ID because you cannot view the status of someone else's bug report. Apple uses duplicate bug reports as a measure of priority, so our best bet would be to for all of us to file a bug report so something gets done. Aside from that, maybe if we tweet at someone from Apple, they'll be able to tell us the bug status.
I'm still experiencing the issue, seems worse than before even.
Some reqeusts are being served, but the majority are now returning 403's.
I'm sure it's a rate limiting issue as when I make the exact same request on my PC, it returns 200 with results rather than the 403 on our production server.
I have also logged this as 29274733
Please, please also log it so that this gets some priority with Apple. The more people that mention it and report it, the earlier it will get fixed.
You can log it here : https://bugreport.apple.com
What product did you report it under? I reported to "iTunes" as well as "other" but neither of those seemed exactly right
I also struggling to know where to log it, so I logged it under iTunes. Not logged a bug with Apple yet, so not sure how long it may take for them to acknowledge/respond...
If anyone finds this thread and has the same issue, please log a bug with them at the address above and if anyone gets a response, please kindly feedback here!
Seems to be general policy now:
"The iTunes Search API is currently limited to approximately 20 calls per minute (subject to change)."
Which seems to be about right, when I set the delay to 3 seconds (~20 calls/minute) it works fine. Reducing down to 2 seconds (~30 calls/minute) causes 403 errors.
So in case you need more, the only option seems to be to apply for the Enterprise Partner Feed and maintain the DB yourself.
Yes, I've just had the same response from Apple.
20 Search API calls per minute.
I'm applying for the Enterprise Feed and will make searches to a local database as 20 per minute is nowhere near enough for my requirements, I have started to cache the small amount of results I'm getting, but started doing it too late and do not have enough searches stored, so looks liek the only way for me at the moment to resolve...
Thank you all for comments and feedback, I gess just needed that confirmation as to what the limits were and now we have it.
After about 1000 requests at the new rate, 403s are back.
Hm.. Well... I think it was due to a bug in my rate limiting algorithm.