Product Advertising API
Developer Guide (API Version 2011-08-01)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Did this page help you?  Yes | No |  Tell us about it...

Top Sellers

Top selling items, by definition, are enjoyed by many people. Items labeled top sellers often spark a customer's interest.

You can use the BrowseNodeLookup operation with the TopSellers response group to return the top sellers in a browse node. For example, the following request returns the top sellers in browse node 20.

http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
Operation=BrowseNodeLookup&
BrowseNodeId=20&
ResponseGroup=TopSellers
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]

The following response snippet includes the name and ASIN of the two top selling items in browse node 20.

<TopSeller>
  <ASIN>0446578622</ASIN>
  <Title>The Notebook Girls</Title>
</TopSeller>
<TopSeller>
  <ASIN>1400062586</ASIN>
  <Title>You're Wearing That? : Understanding Mothers and Daughters in Conversation</Title>
</TopSeller>

You might wonder where you can get the browse node ID of an item so that you can find the top sellers in the browse node. The easiest way to return browse node IDs is to use the BrowseNodes response group with ItemLookup, ItemSearch, or SimilarityLookup, as shown.

http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
Operation=ItemLookup&
ItemId=B00008OE6I&
ResponseGroup=Browsenodes
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]

The following is a small portion of the full response.

<Item>
  <ASIN>B000002ADT</ASIN>n
  <BrowseNodes>
    <BrowseNode>
      <BrowseNodeId>63926</BrowseNodeId>
      <Name>General</Name>

This response provides the browse node ID and name with which the ASIN, B000002ADT, is associated.

Alternately, you can look in the Product Advertising API Developer Guide for a list of the top level browse node IDs.

Generalizing the Top Seller

Sometimes you might like to return the best sellers in the root browse node. For example, if a customer is buying a camera, you might assume that the person is interested other electronic items. In this case, you use the BrowseNodeLookup operation. Its default response group is BrowseNodes. For example, the following request searches for DVD comedies.

http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
Operation=BrowseNodeLookup&
BrowseNodeId=163357
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]

The response, part of which follows, includes the browse node IDs of the specified browse node's parent and child browse nodes.

<BrowseNode>
  <BrowseNodeId>163357</BrowseNodeId>
  <Name>Comedy</Name>
  <Children>
    <BrowseNode>
      <BrowseNodeId>599826</BrowseNodeId>
      <Name>Boxed Sets</Name>
    </BrowseNode>
  ...
<Item>
  <Ancestors>
  <BrowseNode>
    <BrowseNodeId>549726</BrowseNodeId>
    <Name>Performing Arts</Name>
    <Ancestors>
      <BrowseNode>
        <BrowseNodeId>5</BrowseNodeId>
    <Name>Entertainment</Name>
    <Ancestors>
      <BrowseNode>
        <BrowseNodeId>2000</BrowseNodeId>
        <Name>Subjects</Name>
        <Ancestors>
          <BrowseNode>
            <BrowseNodeId>1000</BrowseNodeId>
            <Name>Books</Name>

This response shows one of the browse node's children. More important to this discussion, however, is the browse node ancestry that is returned. The further down the response that you read, the higher up you go in the browse node hierarchy. The eldest ancestor of the browse node ID, 163357, which is in the request is browse node ID 1000, Books.

Now that you have the browse node ID of the root product category, you can use the BrowseNodeLookup operation again, this time with the TopSellers response group to return the top sellers in the root browse node category.

Note

BrowseNodeLookup only returns one ancestor of a browse node even if a node has multiple ancestors. Which ancestor is returned is not predictable. This limitation of the operation typically is of little consequence in this use case. Any root browse node ID returned by the operation is always relevant to the browse node ID in the request.