title: Amazon Product Advertising API return 503 (Service Unavailable) too often
body: <p>I have written myself a little PHP Script which is fetching products from the Amazon Product Advertising API. To do this I am using PHP Laravel 5.5, the <a href="https://github.com/rezzafr33/apaiio-laravel" rel="nofollow noreferrer">Apai-IO Library</a> and <a href="https://github.com/guzzle/guzzle" rel="nofollow noreferrer">Guzzle</a>.</p>
  
  <p>I also do track all my request and in my opinion there are way too many 503 (Service Unavailable) returns from Amazons API.. Cause as it is saying <a href="https://docs.aws.amazon.com/AWSECommerceService/latest/DG/TroubleshootingApplications.html" rel="nofollow noreferrer">here</a> I do have 8640 requests per day and a maximum of 1 request per second. </p>
  
  <p>My script gets ran by a cronjob every 15 Minutes all day long. So, my scripts starts 96 times a day. However, I have some validations running on the returned product. If the validation is approving the returned product, the cronjob is done. If not, the script will try to request a new product with a spacing time in between the new request and the last request of 5 seconds. But this also means, I could do 90 requests per cronjob cause 96 times 90 is equal to the maximum request limit of 8640 per day.</p>
  
  <p>However, my request limit is far below the request limit. It somewhere around 2000-3000 requests per day. And that is what is confusing me. I don't get, why the Amazon Product Advertising API is returning a 503 (Service Unavailable) when I have a spacing time of at least 5 seconds per request and my daily requests are far below the limit...</p>
  
  <p>This is an example of the error I get when the API is returning a 503 request:</p>
  
  <pre><code>2019-01-23 08:28:05 - Error fetching Amazon product from API Server error: `GET http://webservices.amazon.de/onca/xml?AWSAccessKeyId=00000000000000000000&amp;AssociateTag=my_tag-21&amp;ItemId=B00UIAK6D8&amp;Operation=ItemLookup&amp;ResponseGroup=Large&amp;Service=AWSECommerceService&amp;Timestamp=2019-01-23T07%3A28%3A05Z&amp;Version=2013-08-01&amp;Signature=69eB66yi6zQu6IhCHj2sk0FJznfN3g169D2Ng8TKnz8%3D` resulted in a `503 Service Unavailable` response:
  &lt;?xml version="1.0"?&gt;
  &lt;ItemLookupErrorResponse xmlns="http://ecs.amazonaws.com/doc/2013-08-01/"&gt;&lt;Error&gt;&lt;Code&gt;RequestThro (truncated...)
  </code></pre>
  
  <p>I can provide you guys also some code if you would like to.. But I don't think this is really necessary?
  Cause I am pretty sure there is a pause of at least 5 seconds per request cause I am using <code>sleep(5);</code> and thats why I am more then pretty sure there is a pause of at least 5 seconds per request!</p>
  
  <p>Would appreciate any kind of help!</p>