If you are a developer using Amazon product feed, you should be intimately familiar with this error message:
AWS Access Key ID: XXXXXXXXXXXXXXXX. You are submitting requests too quickly. Please retry your requests at a slower rate.
This happens when your application is submitting requests to Amazon faster than once per second. Amazon has a one-second rule i.e. if you are submitting more than one request per second, it will throw RequestThrottled error. When you are building an ambitious e-commerce project like a price or product comparision site, this can be very frustrating.
There are 2 ways to overcome this error:
1. Make lot of money already: Amazon relaxes the throttling limit, if you make lot of sales for them. For every $4,600 of revenue you drive in the last 30 days, you will receive an additional 1 request per second (up to a maximum of 10). So, if you are an affiliate doing 100s of thousands of dollars in sales for Amazon, you should be ok.
2. Cache the product feed: AWS license agreement allows you to store different types of information for different lengths of time. So, you can cache the results, so that you don't have to make API call as often. Even with a cache, you still have to implement delay and retry failed API calls. This results in poor user experience.
If you are a brand new startup, option 1 is not feasible. So, your best bet is option 2 i.e. caching. We faced the same problem. So, we built a shared cache that startups like us can use. With BrowseNodes, you get unthrottled access to Amazon product feed, so that you can build great user experience for your users. You can read how it works here.