Amazon Product Advertising API Best Practices

Articles & Tutorials>Amazon Product Advertising API Best Practices
The following checklist of best practices describes how you can increase the effectiveness of your Amazon Product Advertising API applications.

Details

Submitted By: scotmaws
Created On: November 16, 2007 4:01 PM GMT
Last Updated: July 5, 2012 5:39 PM GMT

Use the Latest API Version

The Amazon Product Advertising API makes frequent releases. Each release either adds functionality or increases the accuracy, speed, and stability of the Amazon Product Advertising API. Most releases do both. Check http://aws.amazon.com/resources frequently for documentation about the latest release.

To use the latest version of the API, you must include the version parameter in your requests. Otherwise, the Amazon Product Advertising API uses the default API version, which is from 2005-10-05.

Use the Right Response Group

One of the great features of the Amazon Product Advertising API is the control you have over the amount of information returned in responses. The Amazon Product Advertising API has over 55 response groups. So, you can get exactly the information you need and no more.

We recommend that you specify response groups that return only the information your application needs. Response groups, such as Large, ItemAttributes, and MerchantItemAttributes, return lots of data. Such large data sets sometimes incur performance penalties both in the Amazon Product Advertising API fulfilling the request, and in your application's processing of the response.

Use Your Associate Tag in Amazon Product Advertising API Requests

To make requests to the API you must register with Amazon Associates at https://affiliate-program.amazon.com/gp/flex/associates/apply-login.html. In return, you receive an Associate tag, which identifies your Associate Account. You must include your AssociateTag with every Product Advertising API request.

Associate tags in:

  • North America end with -20
  • Europe end with -21
  • Japan end with -22

Handling Errors

The Amazon Product Advertising API returns errors in three categories so that you can easily determine how best to handle the problem:

  • 2XX errors are caused by mistakes in the request. For example, your request might be missing a required parameter. The error message in the response gives a clear indication what is wrong.
  • 4XX errors are non-transient errors. Upon receiving this error, resubmit the request.
  • 5XX errors are transient errors reflecting an error internal to Amazon. A 503 error means that you are submitting requests too quickly and your requests are being throttled. If this is the case, you need to slow your request rate to one request per second.

Use Caches Carefully

Amazon Product Advertising API product data changes often. Prices can change hourly, Browsenode values change without notice, and product availability is volatile. For these reasons, we recommend that you not cache product data.

It is illegal to cache customer information derived from Amazon.

What you can cache that enhances performance is identifiers, such as CartId, HMAC, and the PurchaseURL.

Use the Correct AWSAccessKeyId

To become an Amazon Product Advertising API developer, you must register with Product Advertising API at https://affiliate-program.amazon.com/gp/flex/advertising/api/sign-in.html. Each account contains an AWSAccessKeyId and a SecretKey. Every Amazon Product Advertising API request you submit must include an AWSAccessKeyId and a Signature generated from your SecretKey. It is important that you register with the same email address used by your Associate Account, so that your call volume limits are correctly set by your affiliate sales.

Read the Amazon Product Advertising API Terms and Conditions

The Amazon Product Advertising API Terms and Conditions spell out in detail the limitations that Amazon enforces on all Amazon Product Advertising API applications. The Amazon Product Advertising API is a free web service. Use restrictions are enforced to ensure that all developer applications benefit equally from the Amazon Product Advertising API. Before starting, make sure your proposed Amazon Product Advertising API application falls within the guidelines of the Amazon Product Advertising API Terms and Conditions. For more information, go to https://affiliate-program.amazon.com/gp/advertising/api/detail/agreement.html.

Comments

New API Efficiency - Limit the API to 2000 requests per hour, but don't cache data?
So if 100 customers each check out 20 products each in an hour, your site data is cut? That is not hard to do if you have a site that loads pages of products. Do they consider a request for an "offer" the same as a "large"? I guess the autobloggers ruined it for everyone. Thank WP Robot for this.
Lenny on October 5, 2010 2:34 AM GMT
it a very fabulous place to be
it a very fabulous place to be
samkenns on August 7, 2010 7:17 PM GMT
Confusing
Heres an idea. How about creating less hoops to jump through so that its easier for developers to create a applications that include the amazon products. I read about Tarzan, how well documented it was, and figured I would take a day and write an app, fat chance. Wow, six variables to gain access. It takes half a day to just find where all of these values are on amazon, wouldn't two or three variables do the trick? Lets list them: AWS_KEY, AWS_SECRET_KEY, AWS_ACCOUNT_ID, AWS_ASSOC_ID, AWS_CANONICAL_ID, AWS_CANONICAL_NAME. Where do you find the AWS_CANONICAL_NAME? Not to mention everytime I move to a different section of the site, I have to relogin. If Tarzan does everything, then why confuse people with the product advertising api. I go to Tarzan and the statement is that everything is highly documented. "Ok, I'll just go to the FAQ's and that should have the answer I am looking for, right?", nope, thats not built yet. Ok, so heres the question. How do I get access to the product data so that I programmically include products around my content pages. I want to be able to keyword search, select some products and associated identifiers, store them into a database for implementation into my pages using Tarzan. If I can get this question answered, I guess the next thing is to figure out what and where the AWS_CANONICAL_NAME is?
ilmalgum on November 18, 2009 11:11 PM GMT
Operating Agreement
Here's what i've found: https://affiliate-program.amazon.com/gp/associates/agreement
fgauchat on November 3, 2009 2:19 PM GMT
here is the terms and conditions
I found them! So that any that find this site can read the terms and conditions here there are: http://aws.amazon.com/agreement/ Thanks for making this service available. It is really innovative.
stokescomp on January 2, 2009 9:26 PM GMT
Do the Terms even exist
I've been looking for 2 hours trying to find the usage terms for the Amazon Web Services and can only find little tid bits of information on non-Amazon Web Services sites. I'm beginning to wonder if they exist. Should I follow rules that only exist in hearsay? I'm about to say hell with rules and do what I want.
Andrew W Simpson on December 3, 2008 6:06 PM GMT
Please link to terms
You know what would be great in the section entitled "Read the Amazon Associates Web Service Terms and Conditions"? A LINK to the Amazon Associates Web Service Terms and Conditions, that's what. Where exactly do I find these terms? When I use the search box to search for "terms and conditions", all I get is links to forum posts. And none of *them* links to the actual terms either. It would make it easier to comply with the Terms if people could easily FIND the Terms. This article should link to them, and there should be a link also on the home page of each web service, where I currently find links to the tech docs and release notes.
Vincent E. Veselosky on September 24, 2008 1:54 PM GMT
We are temporarily not accepting new comments.
©2014, Amazon Web Services, Inc. or its affiliates. All rights reserved.