Table of Contents

 

1    Document Information

2    Introduction 

3    Amazon Web Services Offerings

4    Search, Parameter, and Sort Types

5    Working with Amazon.com Catalog Data

6    Accessing the Amazon.com Catalog via XML/HTTP

7    Using the Amazon.com XSLT Service

8    Accessing Amazon.com Data via SOAP

9    DTD, XSD and SOAP WSDL

10  Enabling Transactions with Amazon.com

11  Using the Developer’s Message Board and Reporting Bugs

Appendix A:  List of Common Product Modes and Browse IDs

Appendix B:  References and Resources

Appendix C: Document Control

 

1         Document Information

This section describes the audience, assumptions, contributors, and conventions used in this document.

1.1        Overview

Thanks for downloading the Amazon.com Web Services software developers kit. Two audiences who will find this document useful are:

  1. Web site owners who want to enhance their Web site with Amazon content and features.
  2. Developers who wish to experiment with or create applications built on Amazon.com Web Services.

The first Web services that we have exposed are:

  • Product Display - The ability to search for and retrieve product information from the Amazon.com catalog, including filtering for products sold by specific third-party sellers.
  • Shopping Cart - The ability to add Amazon.com products to shopping carts, wish lists, and registries from third-party locations.

Using these services, Web site owners and developers can now create applications capable of interacting with Amazon.com's catalog, search engine, shopping cart and merchandising tools to provide more robust offerings on third-party Web sites. Instead of simply linking to our various products, they can embed search results, top sellers, customized lists, recommendations, and even the Amazon.com shopping cart within their applications. And with our XSLT engine, they can convert standard Web services XML into customizable snippets of HTML, making it even easier to use our data.

This document should contain all you need to get started. We have provided a forum to discuss Amazon.com Web Services with other developers at http://forums.prospero.com/am-assocdevxml. And if you have feedback you'd like to send us, please feel free to do so - you can contact us at webservices@amazon.com.

This release of Amazon.com Web Services described in this guide is version 2.0. The full terms of use are described in the file AMAZON.COM_LICENSE.TXT, included in this kit.

1.2        Who Should Read this Guide?

This document is useful for Web site owners and developers who want to create applications capable of interacting with Amazon.com's catalog, search engine, shopping cart and merchandising tools to provide more robust offerings on third-party Web sites. It is also useful for third-party sellers who have uploaded their own inventory onto the Amazon.com platform, and now want to download those same products (plus a lot of other features) to create a store filled with their own products on their personal or business Web site.

1.3        Document Assumptions

This document assumes a reader who has working knowledge of XML, SOAP, or XSLT, and an understanding of how to integrate data into an application or Web site.

1.4        Concepts Used In This Document

This section lists terms relevant to this product, and provides definitions for those terms.  Some of these definitions come from http://www.webopedia.com/.

Term

Definition

SOAP

Simple Object Access Protocol provides a way for applications to communicate with each other over the Internet, independent of platform. Unlike OMG's IIOP, SOAP piggybacks a DOM onto HTTP (port 80) in order to penetrate server firewalls, which are usually configured to accept port 80 and port 21 (FTP) requests.

SOAP relies on XML to define the format of the information and then adds the necessary HTTP headers to send it.

SOAP was developed by Microsoft, DevelopMentor, and Userland Software and has been proposed to the Internet Engineering Task Force (IETF) as a standard.

XML

Short for Extensible Markup Language, a specification developed by the W3C. XML is a pared-down version of SGML, designed especially for Web documents. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations.

API

Abbreviation of application program interface, a set of routines, protocols, and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks. A programmer puts the blocks together.

Most operating environments provide an API so that programmers can write applications consistent with the operating environment. Although APIs are designed for programmers, they are ultimately good for users because they guarantee that all programs using a common API will have similar interfaces. This makes it easier for users to learn new programs.

URI

Short for Uniform Resource Identifier, the generic term for all types of names and addresses that refers to objects on the World Wide Web. A URL is one kind of URI.

DTD

Short for document type definition. A DTD states what tags and attributes are used to describe content in an SGML document, where each tag is allowed, and which tags can appear within other tags. For example, in a DTD one could say that LIST tags can contain ITEM tags, but ITEM tags cannot contain LIST tags. In some editors, when authors are inputting information, they can place tags only where the DTD allows. This ensures that all the documentation is formatted the same way.

XSD

XSD (XML Schema Definition), a Recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. This description can be used to verify that each item of content in a document adheres to the description of the element in which the content is to be placed.

WSDL

Short for Web Services Description Language, an XML-formatted language used to describe a Web service's capabilities as collections of communication endpoints capable of exchanging messages. WSDL is an integral part of UDDI, an XML-based worldwide business registry. WSDL is the language that UDDI uses. WSDL was developed jointly by Microsoft and IBM.

Java

Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files (files with a .java extension) are compiled into a format called bytecode (files with a .class extension), which can then be executed by a Java interpreter.

Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines (VMs), exist for most operating systems. Bytecode can also be converted directly into machine language instructions by a just-in-time compiler (JIT).

Perl

Short for Practical Extraction and Report Language, Perl is a programming language developed by Larry Wall, especially designed for processing text. Because of its strong text processing abilities, Perl has become one of the most popular languages for writing CGI scripts. Perl is an interpretive language, which makes it easy to build and test simple programs.

.NET

A Microsoft operating system platform that incorporates applications, a suite of tools and services and a change in the infrastructure of the company's Web strategy.

There are four main principles of .NET from the perspective of the user:

·          It erases the boundaries between applications and the Internet. Instead of interacting with an application or a single Web site, .NET will connect the user to an array of computers and services that will exchange and combine objects and data.

·          Software will be rented as a hosted service over the Internet instead of purchased on a store shelf. Essentially, the Internet will be housing all your applications and data.

·          Users will have access to their information on the Internet from any device, anytime, anywhere.

·          There will be new ways to interact with application data, such as speech and handwriting recognition.

PHP

PHP Hypertext Preprocessor is a server-side, HTML embedded scripting language used to create dynamic Web pages.

In an HTML document, PHP script (similar syntax to that of Perl or C) is enclosed within special PHP tags.

Because PHP is embedded within tags, the author can jump between HTML and PHP (similar to ASP and Cold Fusion) instead of having to rely on heavy amounts of code to output HTML. And, because PHP is executed on the server, the client cannot view the PHP code.

PHP can perform any task any CGI program can do, but its strength lies in its compatibility with many types of databases. Also, PHP can talk across networks using IMAP, SNMP, NNTP, POP3, or HTTP.

PHP was created sometime in 1994 by Rasmus Lerdorf. During mid 1997, PHP development entered the hands of other contributors. Two of them, Zeev Suraski and Andi Gutmans, rewrote the parser from scratch to create PHP version 3 (PHP3).

ASP

A specification for a dynamically created Web page with an .ASP extension that utilizes ActiveX scripting -- usually VB Script or Jscript code. When a browser requests an ASP page, the Web server generates a page with HTML code and sends it back to the browser. So ASP pages are similar to CGI scripts, but they enable Visual Basic programmers to work with familiar tools.

XSL

Short for Extensible Style Language, a specification for separating style from content when creating HTML or XML pages. The specifications work much like templates, allowing designers to apply single style documents to multiple pages. XSL is the second style specification to be offered by the World Wide Web Consortium (W3C).  The first, called Cascading Style Sheets (CSS), is similar to XSL but does not include two major XSL innovations -- allowing developers to dictate the way Web pages are printed, and specifications allowing one to transfer XML documents across different applications. W3C released the first draft of XSL in August 1998, and promotes the specifications as helpful to the Web's speed, accessibility, and maintenance.

XSLT

Short for Extensible Style Language Transformation, the language used in XSL style sheets to transform XML documents into other XML documents.

An XSL processor reads the XML document and follows the instructions in the XSL style sheet, and then it outputs a new XML document or XML-document fragment.

This is extremely useful in e-commerce, where the same data need to be converted into different representations of XML. Not all companies use the exact same programs, applications and computer systems.

REST

Acronym for REpresentational State Transfer .  Another way to describe the process of passing data over HTTP via XML.

ISBN

ISBN stands for “International Standard Book Number”. Most books in the Amazon.com catalog have a unique ISBN.

ASIN

ASIN stands for “Amazon.com Standard Item Number”. Every product in the Amazon.com catalog (with the exception of Auction and Zshops products) has a unique ASIN.

Browse Node

A browse node (or browse ID) is a number that corresponds to a general subject area of Amazon.com. Browse IDs can generally be found in the URL string when visiting a specific browse section at the Amazon.com Web site. Please see appendix A for more information on how to find browse nodes.

UPC

UPC stands for “Universal Product Code”. The Amazon.com catalog contains UPCs for music items only.

Keyword

A keyword is a general search term that is used to find products in the Amazon.com catalog. Often, more than one keyword is used at the same time to form a short phrase (such as “finance software”).

Listmania! List

Listmania! lists are created by Amazon.com customers, and comprise a group of products centered on a specific theme.

1-Click

1-Click is a technology employed on the Amazon.com Web site that enables customers to purchase items without entering address or credit card information.

Shopping Cart

The Amazon.com shopping cart allows customers to “carry” items with them as they continue to shop in other parts of the store. Once all necessary items are added to their shopping cart, they can complete their order by providing Amazon with address and credit card information.

Wish List

A wish list is an Amazon.com feature that enables customers to create a list of desired products that can be accessed by friends and family.

Registry

There are two types of registries at Amazon.com – wedding registries and baby registries. Similar to wish lists, they allow customers to create lists of desired products for friends and family to view and purchase.

Third-party Seller

A third-party seller is an entity other than Amazon.com who sells their own items on the Amazon Web site. Sellers can range from major retailers like Target and Office Depot, to an individual working out of their home.

Marketplace Items

Marketplace items are products that are sold by third-party sellers at the Amazon.com Web site.

Exchange

An “exchange” is a unique ID that is assigned to an offering when a third-arty seller uploads it into the Amazon catalog.

 

1.5        Document Conventions

  • Commands and keywords appear in boldface.
  • New, important terms are italicized when accompanied by a definition or discussion of the term.
  • Please note is used to denote additional helpful suggestions or important notices.
  • [variable] is used to denote variables within a URL.

 




2         Introduction

2.1        What are Web Services?

Web services are applications whose logic and functions are accessible using standard Internet protocols and data formats such as Extensible Markup Language (XML) over Hypertext Transfer Protocol (HTTP), and SOAP (Simple Object Access Protocol). Like component-based development, Web services represent black-box functionality that can be reused without worrying about how the service is implemented.

A Web service interface is defined strictly in terms of the messages that the service accepts and generates. Applications using a Web Service can be implemented on any platform in any programming language, as long as they can create and consume messages defined for the service interface. A Web service can also aggregate other services to provide a higher-level set of features.

Why developers should be interested in Web services?

  • Interoperability - Any Web service can interact with any other Web service and can be written in any language.
  • Ubiquity - Web services communicate using HTTP and XML. Any connected device that supports these technologies can both host and access Web services.
  • Low Barrier to Entry - The concepts behind Web services are easy to understand, and developers can quickly create and deploy them using many tool-kits available on the web.
  • Industry Support - Major content providers and vendors are supporting the Web services movement.

Most Web services make use of either SOAP or XML over HTTP (also known as REST) to make requests and deliver responses via the Internet.

  • XML over HTTP (or XML/HTTP) uses URLs with specific name/value pairs to invoke methods and processes within Amazon.com's Web Services framework. The URL is the primary method used for message passing. Once the URL is processed, a well-formatted XML document is returned as a response. Because XML/HTTP is based on such a widely accepted methodology, most developers should have no problem creating applications capable of quickly communicating with the Web services that expose this interface.
  • SOAP (Simple Object Access Protocol), a more complex method of sharing messages between client and server, was developed to deal with the limitations of XML/HTTP. SOAP is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation-specific semantics.

Amazon.com Web Services offers developers the choice of XML/HTTP or SOAP to access information in our catalog and databases. Which method should you use? Mostly, it depends on what you are the most comfortable with. There is significant industry debate over which Web Services method is the "best"; at Amazon.com, we decided to take a neutral approach and offer access via both methods.

2.2        Web Services Development Process

This section shows the three stages of developing an application or Web site that uses Amazon Web Services.

Step 1:  Download the SDK

To download the Software Developer’s Kit, please go to the following URL:

http://associates.amazon.com/exec/panama/associates/join/developer/kit.html

The developer’s kit contains this API Guide, as well as code samples for Java, Perl, SOAP, XML, and XSLT.

 

Step 2:  Obtain a Developer's Token

In order to use Amazon.com Web Services, you will first need to register and obtain a valid developer token. You can get your token here at the following address:

https://associates.amazon.com/exec/panama/associates/join/developer/application.html

 

Step 3:  Develop Your Application or Web site

Use this guide to develop your application.  Amazon places a few restrictions on the usage of our data.  How you use the data is governed by license terms in the file AMAZON.COM_LICENSE.TXT, included in this kit. 

Please note:  Not all information available on the Amazon.com Web site is made available via the Web services interface.

 

2.3        Earning Money Through the Amazon Associates Program

If you find yourself sending a lot of traffic to Amazon.com through sites and applications that you have developed through Web Services, you may decide that you want to be compensated for that traffic. Fortunately, Amazon.com already has an existing program - the Associates Program -- that enables Web site owners to link to our store and earn referral fees for any sales that are generated through their links.

2.3.1          Embedding Your Associates ID in Your Request

Each Associate is assigned an Associates ID, and this same ID can very easily be embedded into any XML/HTTP or SOAP calls made to the Amazon.com Web site.

To do so, simply replace the "webservices-20" tag found in the examples with your Associates ID. This will have the effect of automatically inserting your Associates ID in product links within the XML document. In fact, if you already have an application that parses the XML data and uses product links contained within that data, you won't have to change your application in any way - simply replace the Associates ID and you are all set. (The same is true if you are using our XSLT service to generate pre-formatted HTML widgets).

2.3.2          Making Your Application Available to Amazon Associates

Developers can earn money by providing their solution or applications to hundreds of thousands of Amazon Associate Web sites. Please send information about your application, script, or code to webservices@amazon.com if you would like to have your application made available to all of our associate websites.

2.3.3          For More Information

For more information about the Associates program, or to apply to the program, please see http://www.amazon.com/associates.

 

3         Amazon Web Services Offerings

This section shows each of the various types of requests and responses available via Amazon Web Services.

3.1        Graphical Overview

This section provides a graphic that shows how data comes to Amazon, is processed, and is returned. 

 

3.2        Constraints and Limitations of Amazon Web Services

This section shows the limits of Amazon Web Services.

Issue

Limitation

Request length

Limited to the length of a URL if you are performing an XML/HTTP query.  (Internet Explorer supports a maximum length of 2083 characters).

Maximum number of words in a query

Unlimited. Make sure to separate each word with the characters “%20”.

Maximum number of results per query

Each XML document, both lite and heavy, will display a maximum of ten products per page. To obtain more than ten results for a search, you simply need to pass a "page" parameter in your URL. For example, to get the top 30 books written by Stephen King (instead of simply the top 10), you would need to make three separate calls into Amazon.com, with the parameters page=1 (which will give you books #1 through #10), page=2 (books #11 through #20) and page=3 (books #21 through #30).

Returned catalog data constraints

Amazon attempts to return as much data as possible for each query.  In those cases where Amazon is not the primary owner of the data (such as third-party reviews), we may not be legally able to release that data.  Our goal, however, is to return as much product information as we can.

Multiple product entries

Some product attributes have multiple entries. (For example, many products in our database have 100 or more customer reviews.) To make our XML documents simpler, we have set a maximum limit of ten authors, ten actors/actresses, ten artists, five similar products and three customer reviews for any product that is returned in the document.  The Listmania searches will return up to ten items.

Missing products in returned data

Please note that not all products in the Amazon catalog contain catalog attributes.  Amazon returns whatever information is stored in our catalog.  If the data is missing from our catalog, it will be a null value or excluded from our XML document as well.

 

4         Search, Parameter, and Sort Types

This section provides a reference of the available search, parameter, and sort types.

4.1        Search Types

This section shows the various searches that can be used with Amazon.com Web Services.

Search

Description

Keyword

Searches for a user-specified keyword

Browse Node

Searches for a user-specified browse node

Third-party Seller

Searches for a user-specified third-party seller

ASIN/ISBN

Searches for a user-specified ASIN/ISBN

Third-party ASIN Offering

Searches for a user-specified third-party ASIN offering

UPC

Searches for a user-specified universal price code

Exchange

Searches for a user-specified exchange

Author

Searches for a user-specified author

Artist/Musician

Searches for a user-specified artist or musician

Actor/Actress

Searches for a user-specified actor/actress

Director

Searches for a user-specified director

Manufacturer

Searches for a user-specified manufacturer

Power

Searches for a user-specified power search

Listmania

Searches for a user-specified listmania list

Wish List

Searches for a user-specified wish list

Similar Products

Searches for products similar to a user-specified product

Seller Profile

Searches for a specific seller profile

 

4.2        Parameter Types

This section shows the various parameter types that can be used with Amazon.com Web Services.

Parameter

Description

v

Version

t

Associates tag

dev-t

Developer token

sort

Sort type (see section 4.3 for more details)

mode

Product line

type

Output type

f

Output format

page

Result page

offer

The offer parameter is used to request and limit the types of offerings returned as part of an Asin search. If the offer parameter is not supplied then the returned data does not include any offering information. If the parameter is supplied it must be one of the following values: 

1.       ThirdPartyNew

2.       Used

3.       Collectible

4.       Refurbished

5.     All

offerpage

The offerpage parameter is used to request a particular page of offering information. The default value is 1; 25 offerings are returned per page.

To put offer and offerpage together, consider the following page:

http://www.amazon.com/exec/obidos/tg/stores/offering/list/-/0385503822/used/ref%3Dbuy%5Fpb%5Fu%5F

The offer parameter selects a single "tab" of info (Used/New/Collectible). Then the offerpage selects successive chunks of 25 offers within the page. There is no way to request All offers.

offerstatus

The offerstatus parameter is used to request either open (value = "open") or closed (value="closed") offers when requesting information about a seller using the SellerSearch request.

keyword

The keyword parameter is used in SellerSearch requests, and allows the user to filter a specific seller’s products by a keyword.

seller-browse-id

The seller-browse-id parameter is used in SellerSearch requests, and allows the user to filter a specific seller’s products by a browse ID. Seller browse IDs use a different taxonomy than Amazon.com retail – to view the seller browse ID tree, please go here:

http://s1.amazon.com/exec/varzea/ts/browse-zshops/68280

The ID is the number after the “browse-zshops” string.

KeywordSearch

Keyword search specifier

BrowseNodeSearch

Browse node search specifier

SellerSearch

Seller search specifier

AsinSearch

ASIN/ISBN search specifier

UpcSearch

UPC search specifier

ExchangeSearch

Exchange search specifier

AuthorSearch

Author search specifier

ArtistSearch

Artist/Musician search specifier

ActorSearch

Actor/Actress search specifier

DirectorSearch

Director search specifier

ManufacturerSearch

Manufacturer search specifier

ListmaniaSearch

Listmania search specifier

SimilaritySearch

Similarity search specifier

SellerProfile

The SellerProfile parameter requests request for information about a particular seller. The value of the parameter is an encrypted representation of the Seller ID.

ExchangeRequest

Exchange query specifier

WishlistRequest

Wishlist query specifier

SellerProfileRequest

Seller profile query specifier

SellerRequest

Seller query specifier

PowerRequest

Power search query specifier

 

4.3        Sort Types

This section shows the possible ways to sort data for the various types of searches Amazon Web Services offers.  Each section shows the type of sort available and the value used to call that sort. Sorts can be used for the following searches: Keyword, Browse Node, Author, Artist/Musician, Actor/Actress, Director, Manufacturer and Power.

Please note:  If a sort parameter isn’t specified in the request, the default sort order is set to the same order used by the Amazon.com Web site for that particular node.

4.3.1          Sorting Books Results

This table shows the possible books sort types and their corresponding values.

Sort Type

Value

Featured Items

+pmrank

Bestselling

+salesrank

Average Customer Review

+reviewrank

Price (Low to High)

+pricerank

Price (High to Low)

+inverse-pricerank

Publication Date

+daterank

Alphabetical (A-Z)

+titlerank

Alphabetical (Z-A)

-titlerank

 

4.3.2          Sorting Software Results

This table shows the possible software sort types and their corresponding values.

Sort Type

Value

Featured items

+pmrank

Bestselling

+salesrank

Alphabetical

+titlerank

Price (High to Low)

+price

Price (Low to High)

-price

 

4.3.3          Sorting Outdoor Living Results

This table shows the possible outdoor living sort types and their corresponding values.

Sort Type

Value

Featured Items

+psrank

Bestselling

+salesrank

Alphabetical (A-Z)

+titlerank

Alphabetical (Z-A)

-titlerank

Manufacturer (A-Z)

+manufactrank

Manufacturer (Z-A)

-manufactrank

Price (Low to High)

+price

Price (High to Low)

-price

 

4.3.4          Sorting Tools Results

This table shows the possible tools sort types and their corresponding values.

Sort Type

Value

Featured Items

+psrank

Bestselling

+salesrank

Alphabetical (A-Z)

+titlerank

Alphabetical (Z-A)

-titlerank

Manufacturer (A-Z)

+manufactrank

Manufacturer (Z-A)

-manufactrank

Price (Low to High)

+price

Price (High to Low)

-price

 

4.3.5          Sorting Camera and Photo Results

This table shows the possible camera and photo sort types and their corresponding values.

Sort Type

Value

Featured Items

+pmrank

Bestselling

+salesrank

Alphabetical (A-Z)

+titlerank

Alphabetical (Z-A)

-titlerank

 

4.3.6          Sorting Computers Results

This table shows the possible computers sort types and their corresponding values.

Sort Type

Value

Featured Items

+psrank

Bestselling

+salesrank

Alphabetical (A-Z)

+titlerank

Alphabetical (Z-A)

-titlerank

 

4.3.7          Sorting Video Games Results

This table shows the possible video games sort types and their corresponding values.

Sort Type

Value

Featured Items

+pmrank

Bestselling

+salesrank

Alphabetical

+titlerank

Price (Low to High)

+price

Price (High to Low)

-price

 

4.3.8          Sorting Music Results

This table shows the possible music sort types and their corresponding values.

Sort Type

Value

Featured Items

+psrank

Bestselling

+salesrank

Artist Name

+artistrank

Original Release Date

+orig-rel-date

Alphabetical

+titlerank

 

4.3.9          Sorting Office Products Results

This table shows the possible sort types and their corresponding values.

Sort Type

Value

Featured Items

+pmrank

Bestselling

+salesrank

Alphabetical (A-Z)

+titlerank

Alphabetical (Z-A)

-titlerank

Price (Low to High)

+price

Price (High to Low)

-price

Review

+reviewrank

 

4.3.10      Sorting Video Results

This table shows the possible video sort types and their corresponding values.

Sort Type

Value

Featured Items

+psrank

Bestselling

+salesrank

Alphabetical

+titlerank

 

4.3.11      Sorting Electronics Results

This table shows the possible electronics sort types and their corresponding values.

Type

Value

Featured Items

+pmrank

Bestselling

+salesrank

Alphabetical

+titlerank

Review

+reviewrank

 

4.3.12      Sorting DVDs Results

This table shows the possible DVD sort types and their corresponding values.

Type

Value

Bestselling

+salesrank

Alphabetical

+titlerank

 

4.3.13      Sorting Kitchen Results

This table shows the possible kitchen sort types and their corresponding values.

Type

Value

Featured Items

+pmrank

Bestselling

+salesrank

Alphabetical (A-Z)

+titlerank

Alphabetical (Z-A)

-titlerank

Manufacturer (A-Z)

+manufactrank

Manufacturer (Z-A)

-manufactrank

Price (Low to High)

+price

Price (High to Low)

-price

 

 

5         Working with Amazon.com Catalog Data

This section explains how to work with two core attributes of the Amazon.com catalog: pricing data and product image data. 

5.1        Prices

Most products in the Amazon catalog will have at least two separate price attributes -- a "list" price (which is the manufacturer’s suggested retail price) and an "our price" (which is what Amazon.com actually charges for the product). The "our" price attribute is the true Amazon.com price -- you should use that one on your Web site. The "list" price is included so that you can calculate product discounts if you would like.

In heavy documents, many products will also contain additional data for up to three other prices -- a "used" price, a "refurbished" price and a "collectible" price. ("Lite" documents sometimes contain used pricing as well). These prices are usually listed by our third-party merchants, and are available for your use if you would like. Because a product often has multiple used, refurbished and collectible prices, the returned data contains the lowest one for each category.

For more information on retrieving prices set by third-party merchants, please see section 6.6.3, below.

5.1.1          Pricing Display Guidelines

Since pricing is a sensitive issue with most shoppers, here are some tips to ensure that the customer has a good experience as he or she makes the transition from your Web site to ours:

  1. If a product shows "our price" but not "list price", this is because there is no Amazon.com discount.
  2. There may be occasions when the "our price" does not match the price that is prominently featured on the product detail page. This happens because in some instances we give a third-party seller the same merchandising space that is usually devoted to an Amazon.com product.
  3. You should retrieve data results once every hour, in order to ensure that your Web site reflects the most up-to-date price.
  4. Please put a notice somewhere on your Web site that says "Amazon.com prices subject to change."

5.2        Product Images

Every product should have a "large image," a "medium image," and a "small image" attribute. In most cases, these attributes will correspond to large, medium and small thumbnail images of the product in question. However, there are some products that we do not have images for -- in these cases, the image URL will point to a 1 pixel invisible GIF. Unfortunately, we do not yet have a way of signifying these 1 pixel GIFs directly in the returned data.


5.3        Generating Additional Product Results

Because some queries could potentially return a large number of results, Amazon breaks down the results and returns them in ten-item chunks.  To obtain more than ten results for a search, you simply need to pass a "page" parameter in your URL. For example, to get the top 30 books written by Stephen King (instead of simply the top 10), you would need to make three separate calls into Amazon.com, with the parameters page=1 (which will give you books #1 through #10), page=2 (books #11 through #20) and page=3 (books #21 through #30).

Specifying a page value of 1 requests the first page, 2 the second, and so forth. A special value called TotalResults is returned as a part of most requests that can return more than one result. This value indicates the total number of items (not pages) that are available from the query.

 

The process for obtaining “N” items in a search is to create an algorithm as shown:

 

  1. Form the basic query (omitting the page parameter)
  2. Set a page variable to 1
  3. Finalize the query by inserting the page variable into the basic query
  4. Issue the query
  5. If this is the first page, compute the total number of pages needed based on N and the value of TotalResults
  6. Repeat steps 4 and 5 until the desired number of results have been fetched

 

 

6         Accessing Amazon.com Data via XML/HTTP

This section explains the process of accessing Amazon.com data via XML over HTTP.

6.1        Amazon XML Usage Overview

This section of the document details how to invoke Amazon.com catalog information using the XML/HTTP method by passing parameters such as keywords and browse nodes in the URL. The resulting XML can come in two forms - a "lite" document that contains essential catalog information such as a product's name or price, and a "heavy" document that contains more complete product information such as sales ranking and customer reviews. Please see the lite and heavy DTD and XSD (part 8) for more information on the specific elements of the two document versions.

6.2        Guidelines for Accessing Amazon.com Data via XML over HTTP

This section shows general guidelines for accessing Amazon.com data via XML over HTTP.

  1. Your Web site or application should make no more than one (1) request per second to our servers.
  2. Your Web site or application should have some kind of caching mechanism to temporarily store Amazon catalog data.
  3. Your Web site or application should contain some measure of error handling.
  4. Your Web site or application should not be configured to immediately retry failed server requests—doing so only exacerbates problems.

6.3        Keyword Searches via XML

A keyword is a general search term that is used to find products in the Amazon.com catalog. Often, more than one keyword is used at the same time to form a short phrase (such as “finance software”). To call a list of products in XML based on a keyword (or keywords), please use the following request format:

6.3.1          Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&KeywordSearch=[subject keyword goes here]&mode=[product line goes here]&type=[lite or heavy]&page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The KeywordSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.3.2          Example

Objective: Generate a list of bestselling books on the topic of dogs in a "lite" XML document.

  1. Subject keyword: dogs
  2. Product line: books
  3. Document type: lite
  4. Page: 1

 

The URL will look like this:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&KeywordSearch=dogs&mode=books&type=lite&page=1&f=xml

 

If you have more than one subject keyword, you can simply separate them with "%20", such as:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&KeywordSearch=dogs%20cats&mode=books&type=lite&page=1&f=xml

 

You would use also use "%20" if you had one subject that contained more than one word, such as "KeywordSearch=civil%20war" or "KeywordSearch=Ronald%20Reagan".

 

6.4        Browse Node Searches via XML

The browse structure is the way that Amazon.com organizes products into subjects and categories on our site so that customers can find the product they want easily and efficiently. A browse ID is a number that corresponds to a general subject area of Amazon.com. For example, the browse ID for the parent books category is 1000. To generate a list of products in XML based on a specific browse node, please use the following format:

6.4.1          Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[Developer’s ID goes here]&BrowseNodeSearch=[browse node goes here]&mode=[product line goes here]&type=[lite or heavy] &page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The BrowseNodeSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.4.2          Example

To generate a "heavy" XML document listing top-selling books, the URL would look like this:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&BrowseNodeSearch=1000&mode=books&type=heavy&page=1&f=xml

 

For a list of common browse IDs, and instructions on how to find any browse ID on our Web site, please see Appendix A.

 

6.5        Third-party Seller Searches via XML

There are thousands of third-party sellers who offer their own products on the Amazon.com Web site. If you are interested in receiving an XML list of products offered by a specific seller, you simply need to plug that seller’s unique ID into the request format below. To find the seller ID, visit the seller’s “member profile” page. The ID appears in that page’s URL after the “/ts/customer-glance” string. For example, in the following URL, the seller ID would be A2OFEB6YLE4L1K.

http://s1.amazon.com/exec/varzea/ts/customer-glance/A2OFEB6YLE4L1K

 

6.5.1          Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&SellerSearch=[seller ID goes here]&type=[lite or heavy]&page=[page # goes here]&offerstatus=[open or closed]&seller-browse-id=[seller browse ID goes here (optional)]&keyword=[keyword goes here (optional)]&f=xml

Response

The SellerSearch request returns a SellerSearchDetails node.

 

6.5.2          Example

To find all products sold by seller ID A2X9B5IEW90TAF, the query would look like this:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&SellerSearch=A2X9B5IEW90TAF&type=heavy&offerstatus=open&page=1&f=xml

 

Each value for the “page” parameter gives 25 results (as opposed to 10 results in some of the previous searches). The “offerstatus” parameter refers to listings that are either “open” or “closed”. Closed listings are product offerings that are listed by the seller in the Amazon.com catalog, but are not able to be purchased.

You can also filter a seller’s listings by a specific seller browse node or keyword. Seller browse IDs use a different taxonomy than Amazon.com retail – to view the seller browse ID tree, please go here:

 

http://s1.amazon.com/exec/varzea/ts/browse-zshops/68280     (The ID is the number after the “browse-zshops” string).

 

6.6        ASIN and ISBN Searches via XML

Every unique product in Amazon.com's catalog has an "ASIN", which is short for "Amazon Standard Item Number". (For our books category, a book's ASIN is the same as its "International Standard Book Number", or "ISBN"). You can find a product's ASIN in one of two ways:

  1. It should be listed in the fine print on a product's detail page.
  2. Alternatively, you can look in the URL of that same detail page. In most cases, the format of the URL should start like this: http://www.amazon.com/exec/obidos/ASIN/nnnnnnnnnn/. The ASIN number is the 10-digit number that appears directly after "ASIN".

6.6.1          Standard Searches

To query for an ASINs attributes in XML form, you would use the following format:

6.6.16.6.1.1              Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[Developer’s ID goes here]&AsinSearch=[ASIN/ISBN goes here]&type=[lite or heavy]&f=xml

Response

The AsinSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.6.26.6.1.2              Example

To generate XML for ASIN #0439139597 (Harry Potter Book 4), you would use this URL:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&AsinSearch=0439139597&type=lite&f=xml

 

You can use up to 10 ASINs in one call for "heavy" XML documents, and up to 30 ASINs for "lite" XML documents. ASINs in the URL should be separated by commas, such as:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&AsinSearch=0439139597,0439064872,0439136350&type=lite&f=xml

 

6.6.2          Marketplace Searches

You can also use the AsinSearch to retrieve information about products sold by third party sellers (Amazon.com allows third-party sellers to sell their own products in our catalog). To find all third-party offerings for a specific ASIN in XML, use the offer and offerpage parameters as shown in the table below.

6.6.36.6.2.1              Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&AsinSearch=[ASIN/ISBN goes here]&type=heavy&offer=[offer types goes here: choices are All, ThirdPartyNew, Used, Collectible and Refurbished]&offerpage=[page # goes here]&f=xml

Response

The AsinSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.6.46.6.2.2              Example

To generate XML for all “used” offerings of ASIN # B00005JKDR, you would use this format:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&AsinSearch=B00005JKDR&type=heavy&offer=Used&offerpage=1&f=xml

 

The “offerpage” parameter is similar to the “page” parameter in previous examples, with each offerpage returns 25 offerings. So if a specific ASIN had 40 different used offerings, you would need to make two requests to the service, the first with “offerpage=1” and the second with “offerpage=2”.

 

 

6.7        UPC Searches via XML

Amazon.com's catalog also contains UPC (Universal Product Code) information for music CDs and cassettes (at this time, we do not have UPC information for product lines other than music).  Again, you can use up to 10 UPCs in one call for a heavy XML document, and 30 UPCs for a lite document. Individual UPCs should be separated by commas.

Please note:  UPC searches can only be used to retrieve music items.

6.7.1          Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&UpcSearch=[UPC goes here]&mode=[product line goes here: choices are music, classical]&type=[lite or heavy]&f=xml

Response

The UPCSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.7.2          Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&UpcSearch=076732601822&mode=music&type=lite&f=xml

 

6.8        Exchange Searches via XML

Every item in the Amazon.com catalog that is offered by a third-party seller has a unique “exchange” ID. To query for a particular exchange ID’s attribute in XML, please use the following format:

6.8.1          Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[Developer’s ID goes here]&ExchangeSearch=[Exchange ID goes here]&type=lite&f=xml

Response

The ExchangeSearch request returns a ListingProductInfo node. The ListingProductInfo node contains an array of ListingProductDetails nodes.

 

6.8.2          Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&ExchangeSearch=Y02Y1147465Y7635477&mode=music&type=lite&f=xml

 

6.9          Author Searches via XML

This section shows how to create a request for an author search.

6.9.1          Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&AuthorSearch=[author name goes here]&mode=[product line goes here: must be books]&type=[lite or heavy]&page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The AuthorSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.9.2          Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&AuthorSearch=Tom%20Clancy&mode=books&type=lite&page=1&f=xml

 

6.10     Artist/Musician Searches via XML

This section shows how to create a request for an artist/musician search.

6.10.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[Developer’s ID goes here]&ArtistSearch=[artist/musician name goes here]&mode=[product line goes here: choices are music, classical]&type=[lite or heavy]&page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The ArtistSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.10.2      Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&ArtistSearch=The%20Rolling%20Stones&mode=music&type=lite&page=1&f=xml

 

6.11     Actor/Actress Searches via XML

This section shows how to create a request for an actor/actress search.

6.11.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&ActorSearch=[actor/actress name goes here]&mode=[product line goes here: choices are dvd, vhs, video]&type=[lite or heavy]&page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The ActorSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.11.2      Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&ActorSearch=Marilyn%20Monroe&mode=vhs&type=lite&page=1&f=xml

 

6.12     Director Searches via XML

This section shows how to create a request for a director search.

6.12.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&DirectorSearch=[director's name goes here]&mode=[product line goes here: choices are dvd, vhs, video]&type=[lite or heavy]&page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The DirectorSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.12.2      Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&DirectorSearch=Stephen%20Spielberg&mode=dvd&type=lite&page=1&f=xml

 

6.13     Manufacturer Searches via XML

This section shows how to create a request for a manufacturer search.

6.13.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&ManufacturerSearch=[manufacturer goes here]&mode=[product line goes here: choices are electronics, kitchen, videogames, software, photo, pc-hardware]&type=[lite or heavy]&page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The ManufacturerSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.13.2      Examples

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&ManufacturerSearch=palm&mode=electronics&type=lite&page=1&f=xml

 

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&ManufacturerSearch=braun&mode=kitchen&type=heavy&page=1&f=xml

 

6.14     Power Searches via XML

A power search is used to retrieve book information using a complex query. You can use the power search to send Amazon.com complex descriptions of books you are looking for. The syntax for a power search is shown below:

  • author: ambrose
  • author: ambrose and binding: (abridged or large print) and pubdate: after 11-1996
  • subject: history and (spain or mexico) and not military and language: spanish
  • (subject: marketing and author: kotler) or (publisher: harper and subject: "high technology")
  • keywords: "high tech*" and not fiction and pubdate: during 1999
  • isbn: 0446394319 or 0306806819 or 1567993850

You can use the following properties of a book in your search:

  • Title
  • Subject
  • Author
  • Keyword
  • ISBN
  • Publisher
  • Language
  • Publication date (pubdate)

You can use the words and, or, and not to link different parts of a book description. You can also group properties together using parentheses if that seems necessary to convey the precise meaning of your description.

Please note:  Because power searches can only be used on book-related searches on the Amazon site, power search results will only return book-related searches in XML.

 

6.14.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&PowerSearch=[search query goes here]&mode=[product line goes here: must be books]&type=[lite or heavy]&page=[page # goes here]&sort=[sort type goes here (optional)]&f=xml

Response

The PowerSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

Please note:  Space characters must be represented in "URL encoded" form where the spaces are replaced with the three character sequence "%20".

 

Here is a sample URL:

http://xml.amazon.com/onca/xml2?PowerSearch=author:Stephen%20King%20and%20pubdate:2003&mode=books&dev-t=[developer’s ID goes here]&t=webservices-20&type=lite&f=xml

 

Queries can include parentheses for grouping, and the and, or, and not operators.

6.14.2      Examples

 

http://xml.amazon.com/onca/xml2?PowerSearch=author:Knuth&mode=books&dev-t=[developer’s ID goes here]&t=webservices-20&type=lite&f=xml

 

http://xml.amazon.com/onca/xml2?PowerSearch=author:Hughes%20and%20subject:Art&mode=books&dev-t=[developer’s ID goes here]&t=webservices-20&type=lite&f=xml

 

6.15     Listmania! Searches via XML

Another interesting feature that you can generate in XML is Amazon.com Listmania! lists. Listmania! lists are created by Amazon.com customers, and usually appear in the right-hand margin of a search results page. They comprise a group of products centered on a theme, such as "The scariest horror novels of all time" or "DVDs with the best car chases".

To call up a specific list in XML, you must first find that list's ID number. Simply travel to the page that contains the list that you are interested in, and look for the list's ID in web page's URL. (It appears after the "/list-browse/-/" string). For example, in the following URL the list ID would be "34TRCFE5HC23M". 

http://www.amazon.com/exec/obidos/tg/listmania/list-browse/-/19J6Y001ZYYD3/

Once you find the list’s ID, you simply plug it into the request format below.

 

6.15.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&ListManiaSearch=[listmania ID goes here]&type=[lite or heavy]&f=xml

Response

The ListManiaSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.15.2      Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&ListManiaSearch=34TRCFE5HC23M&type=lite&f=xml

 

6.16     Wish List Searches via XML

As with Listmania! lists, to call up a specific wishlist in XML, you must first find the appropriate ID number. Simply travel to the page that contains the list that you are interested in, and look for the list's ID in web page's URL. (It appears after the "/member-glance/-/" string). For example, in the following URL the list ID would be "19J6Y001ZYYD3". 

http://www.amazon.com/exec/obidos/tg/wishlist/list-browse/-/19J6Y001ZYYD3/

Once you find the ID, you simply plug it into the request format below.

6.16.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s ID goes here]&WishlistSearch=[wishlist ID goes here]&type=[lite or heavy]&f=xml

Response

The WishlistSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.16.2      Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&WishlistSearch=19J6Y001ZYYD3&type=lite&f=xml

 

6.17     Similarities Searches via XML

If you shop at Amazon.com regularly, you have probably noticed that many product detail pages contain the text "Customers who bought this item also bought" or "Customers who shopped for this item also shopped for these items". This text is followed by a list of products that are "similar" to the product that is currently featured. With Web services, you can find the similarities for any product in the Amazon.com catalog. To do so, just find the product's ASIN number and use the request format below. (Note: Similarities searches do not return the TotalResults element).

 

6.17.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer's token goes here]&SimilaritySearch=[ASIN goes here]&type=[lite or heavy]&f=xml

Response

The SimilaritySearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

6.17.2      Example

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&SimilaritySearch=B00005B6TL&type=lite&f=xml

 

 

6.18     Seller Profile Search via XML

Every third-party seller at Amazon.com has a “member profile” with information such as seller nickname and cumulative feedback rating. To generate a particular seller’s profile in XML, please use the following format:

6.18.1      Call and Response

Request Format

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&SellerProfile=[Seller ID goes here]&type=[lite or heavy]&page=[page # goes here]&f=xml

Response

The SellerProfile request returns a SellerProfile node. The SellerProfile node contains an array of SellerProfileDetail nodes.

 

6.18.2      Example

To generate the seller profile for seller ID A2X9B5IEW90TAF, you would use the following format:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&SellerProfile=A2X9B5IEW90TAF&type=lite&page=1&f=xml

 

 

7         Using the Amazon.com XSLT Service

This section provides information on developing applications and Web sites that use Amazon XSLT data.

7.1        XSLT Service Overview

One of the unique features of Amazon.com Web Services is our XSLT service, which enables you to transform the contents of our standard XML output into documents that utilize the markup language of your choice.

To use the service, simply pass us an XSL style sheet, and we will return a document that follows the guidelines of that style sheet. The resulting document can be anything from slightly revised XML to a completely transformed HTML widget. Amazon.com has embraced XSLT to ensure that even the most novice developer has the means to interact with our Web services and produce rich content, without parsing and manipulating programming languages. Currently we only offer the XSLT service through XML over HTTP; SOAP is not supported at this time.

 

 

7.2        Implementing XSLT

This section explains how to implement XSLT in your application or Web page.

7.2.1          Process

The XSL style sheet can be applied to the XML data returned by Amazon from any of the queries described in section 6, above.  The following examples use the Keyword Search (though you could use any search in practice).

For a Keyword search using XML/HTTP, the format for the request was given as:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&KeywordSearch=[subject keyword goes here]&mode=[product line goes here]&type=[lite or heavy]&page=[page # goes here]&f=xml

 

If you would like to use Amazon.com's XSLT Service, then you would use the following format instead:

http://xml.amazon.com/onca/xml2?t=webservices-20&dev-t=[developer’s token goes here]&KeywordSearch=[subject keyword goes here]&mode=[product line goes here]&type=[lite or heavy]&page=[page # goes here]&f=[URL pointer to XSL document]

 

The parameter [URL pointer to XSL document] is the location on the web where the XSL document is stored. The location is a standard URL that must be encoded so that we can process the request properly. Our XSLT service will run the query,  and will then transform the XML returned by the query using the style sheet.

For example, if an XSL document is stored at http://www.foo.com/bar.xsl, then the request would be:

http://xml.amazon.com/onca/xml2?dev-t=[developer’s token goes here]&t=webservices-20&KeywordSearch=[subject keyword goes here]&mode=[product line goes here]&type=[lite or heavy]&page=[page # goes here]&f=http://www.foo.com/bar.xsl

 

XSL documents should not exceed 20K. Thus, the XSLT service should not be used to render complete HTML pages but rather "HTML widgets", such as lists, search results, and/or detailed product information.

We have included some examples of XSL style sheets that are designed to work with Amazon.com Web Services in this kit.

7.2.2          Implementation Notes

Please take the following caveats into account when developing your Web page or application:

  • The Amazon platform will cache your XSL style sheet for up to 5 minutes. If you don't changes as expected when testing your style sheet, you may need to wait up to 5 minutes to allow the data to expire from the cache.  Please also note that the XSL file needs to be located at a URL that is not protected with passwords or IP access controls.
  • The XSL file needs to be at a URL that is publicly queryable, i.e. not protected with passwords or IP access controls. 
  • In cases where f= is not XML, the standard XSL processing described above applies.

 

7.3        XSL Style Sheets

The Amazon XSL processor takes the output of an XML request and formats the XML using a user-supplied style sheet. The style sheet contains two types of information: patterns and templates. Each pattern is associated with a template. The patterns are used to match particular nodes or hierarchies of nodes in the XML data; the template associated with the pattern is copied to the output each time a match for the pattern is found.

XSL is very flexible. Using a set of style sheets, the same data could be formatted as an HTML table, an HTML list, a plain-text document, or even another XML document.

7.3.1          Sample XSL Style Sheet

The following XSL style sheet shows example XML code and what each line of code represents.  Please note that line numbers are included for reference purposes and are not part of the document.

Line

XSL Code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<?xml version="1.0" ?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns="http://www.w3.org/TR/xhtml1/strict">

<xsl:template match="/">

<html>

   <body>

                <table border="2">

                                <tr>

                                                <td>ASIN</td>

                                                <td>URL</td>

                                                <td>Name</td>

                                </tr>

                    <xsl:for-each select="ProductInfo/Details">

                                <tr>

                                                <td><xsl:value-of select="Asin"/></td>

                                                <td><xsl:value-of select="@url"/></td>

                                                <td><xsl:value-of select="ProductName"/></td>

                                </tr>

                </xsl:for-each>

                </table>

   </body>

</html>

</xsl:template>

</xsl:stylesheet>

 

Key:

  • Line 1 indicates that the style sheet is an XML document.
  • Line 2 shows the beginning of the style sheet itself. The xmlns declarations on lines 3 and 4 identify the namespaces used in the document.
  • Lines 5 through 24 are the top-level XSL template. The phrase match=”/” signals that the template matches the top (root) of the XML.
  • Lines 6 through 12 are emitted each time the enclosing template matches the data in the document. Since the template (line 5) matches the root of the data, the text on these lines is copied to the output exactly once. An HTML document containing a table with three columns (ASIN, URL, and Title) is created.
  • Lines 14 through 20 are an interior template. The for-each indicates that the template is to be applied each time a two-level hierarchy of XML data is encountered, where the first level of the hierarchy is a <ProductInfo> node and the second level is a <Details> node. This template effectively “loops” around the XML data, copying everything inside the template (lines 15 through 19) to the output for each match.
  • Lines 15 through 19 are copied to the output for each match. The value-of indicates that data from the XML document is to be copied to the output. Each data match will result in the creation of a single table row.
  • Lines 16 and 18 copy values from the <ASIN> and <ProductName> nodes in the XML, each into a single table cell.
  • Line 17 copies the value of the URL attribute from the matched node (<ProductDetails> in this case) into a table cell.
  • Lines 21 and 23 are emitted each time the enclosing template matches the data in the document. Since the template (line 4) matches the root of the data, the text on these lines is copied to the output exactly once. An HTML document containing a table with three columns (ASIN, URL, and Title) is created.

 

8         Accessing Amazon.com Data via SOAP

This section explains how to access Amazon.com data using SOAP.

8.1        Amazon.com SOAP Usage Overview

SOAP lets third-party developers retrieve Amazon catalog information using remote procedure calls. This information is encoded using XML, although this is transparent to you in the course of normal usage.

8.2        Guidelines for Accessing Amazon.com Data via SOAP

This section shows general guidelines for accessing Amazon.com data via SOAP.

  1. Your Web site or application should make no more than one (1) request per second to our servers.
  2. Your Web site or application should have some kind of caching mechanism to temporarily store Amazon catalog data.
  3. Your Web site or application should not cache Amazon data for more than twenty four (24) hours.
  4. Your Web site or application should contain some measure of error handling.
  5. Your Web site or application should not be configured to immediately retry failed server requests—doing so only exacerbates problems.

8.3        SOAP Tools

This section provides information on SOAP toolkits and SOAP-aware development tools.

8.3.1          Toolkits

This section provides information on toolkits commonly used to form SOAP requests. 

Toolkit

Location

Java

·         Apache AXIS: http://xml.apache.org/axis/

·         Systinet WASP for Java: http://www.systinet.com/index.php?nav=/products/wasp_jserver/overview

·         GLUE: http://www.themindelectric.com/glue/index.html

Perl

·          SOAP::Lite: http://www.soaplite.com/

PHP

·         NuSOAP: http://www.sourceforge.net/projects/nusoap/

COM (Visual Basic, Visual C++)

·         Microsoft SOAP Toolkit :http://msdn.microsoft.com/code/default.asp?url=/code/sample.asp?url=/msdn-files/027/001/580/msdncompositedoc.xml

·         PocketSOAP: http://www.pocketsoap.com/pocketsoap/

·         Lucin SOAP Toolkit: http://www.soaptoolset.com/

.NET

 

·         .NET Framework SDK: http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/MSDN-FILES/027/000/976/msdncompositedoc.xml

 

C++

 

·         SQLData SOAP Library: http://www.sqldata.com/soapclient/soapclient30.htm

 

 

8.3.2          SOAP-aware Development Tools

This section provides information on SOAP-aware development tools. 

Toolkit

Location

Cape Clear Studio

http://www.capeclear.com/products/capestudio/

Microsoft Visual Studio.NET

http://msdn.microsoft.com/vstudio/productinfo/default.asp

Delphi Studio

http://www.borland.com/delphi/

Blue Titan Server Suite

http://www.bluetitan.com/products/btitan_suite.htm

 

Please note: This information is included for reference only.  Amazon does not endorse any specific toolkit, and the presence of a toolkit on this list does not mean that Amazon guarantees compatibility with that toolkit.

 

8.4        Keyword Searches via SOAP

This section shows how to create a request for a keyword search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.4.1          Call and Response

Request Name

KeywordSearchRequest

Request Format

keyword  string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The KeywordSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

 

8.5        Browse Node Searches via SOAP

This section shows how to create a request for a browse node search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.5.1          Call and Response

Request Name

BrowseNodeSearchRequest

Request Format

browse_node string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The BrowseNodeSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.6        Third-party Seller Searches via SOAP

This section shows how to create a request for products sold by a third-party seller.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.6.1          Call and Response

Request Name

SellerSearchRequest

Request Format

seller_id string

mode  string

tag  string

type  string

devtag  string

offerstatus  string

page  string

seller_browse_id  string  (optional)

keyword  string  (optional)

Response

The SellerSearch request returns a SellerSearchDetails node.

 

8.7        ASIN and ISBN Searches via SOAP

This section shows how to create a request for an ASIN or ISBN search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.7.1          Call and Response

Request Name

AsinSearchRequest

Request Format

asin  string

tag  string

type  string

devtag  string

Response

The AsinSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

You can also use the AsinSearch to retrieve information about products sold by third party sellers  Amazon.com allows third-party sellers to sell their own products in our catalog. This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.7.2          Call and Response

Request Name

AsinSearchRequest

Request Format

asin  string

offer  string

offerpage  string

tag  string

type  string

devtag  string

Response

The AsinSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.8        UPC Searches via SOAP

This section shows how to create a request for a UPC search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.8.1          Call and Response

Request Name

UpcSearchRequest

Request Format

upc  string

mode  string

tag  string

type  string

devtag  string

Response

The UPCSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.9        Exchange Searches via SOAP

This section shows how to create a request for exchange searches.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.9.1          Call and Response

Request Name

ExchangeSearchRequest

Request Format

exchange_id  string

mode  string

tag  string

type  string

devtag  string

Response

The ExchangeSearch request returns a ListingProductInfo node. The ListingProductInfo node contains an array of ListingProductDetails nodes.

 

8.10   Author Search via SOAP

This section shows how to create a request for an author search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.10.1      Call and Response

Request Name

AuthorSearchRequest

Request Format

author  string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The AuthorSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.11   Artist/Musician Search via SOAP

This section shows how to create a request for an Artist/Musician search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.11.1      Call and Response

Request Name

ArtistSearchRequest

Request Format

artist  string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The ArtistSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.12   Actor/Actress Search via SOAP

This section shows how to create a request for an Actor/Actress search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.12.1      Call and Response

Request Name

ActorSearchRequest

Request Format

actor  string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The ActorSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.13   Director Search via SOAP

This section shows how to create a request for a director search. This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.13.1      Call and Response

Request Name

DirectorSearchRequest

Request Format

director string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The DirectorSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.14   Manufacturer Search via SOAP

This section shows how to create a request for a manufacturer search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.14.1      Call and Response

Request Name

ManufacturerSearchRequest

Request Format

manufacturer string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The ManufacturerSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.15   Power Searches via SOAP

This section shows how to create a request for power searches via SOAP.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.15.1      Call and Response

Request Name

PowerSearchRequest

Request Format

power string

page  string

mode  string

tag  string

type  string

sort  string  (optional)

devtag  string

Response

The PowerSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.16   Listmania! Searches via SOAP

This section shows how to create a request for a Listmania! Search.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.16.1      Call and Response

Request Name

ListManiaSearchRequest

Request Format

lm_id  string

page  string

mode  string

tag  string

type  string

devtag  string

Response

The ListManiaSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.17   Wish List Searches via SOAP

This section shows how to create a request for wish list searches via SOAP.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.17.1      Call and Response

Request Name

WishlistSearchRequest

Request Format

wishlist_id  string

page  string

mode  string

tag  string

type  string

devtag  string

Response

The WishlistSearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.18   Similarity Searches via SOAP

This section shows how to create a request for a similarity search via SOAP.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.18.1      Call and Response

Request Name

SimilaritySearchRequest

Request Format

asin  string

mode  string

tag  string

type  string

devtag  string

Response

The SimilaritySearch request returns a ProductInfo node. The ProductInfo node contains an array of Detail nodes.

 

8.19   Seller Profile Searches via SOAP

This section shows how to create a request for seller profile searches via SOAP.  This request will return a SOAP object containing the Lite or the Heavy form of the data.

8.19.1      Call and Response

Request Name

SellerProfileSearchRequest

Request Format

seller_id  string

page  string

mode  string

tag  string

type  string

devtag  string

Response

The SellerProfile request returns a SellerProfile node. The SellerProfile node contains an array of SellerProfileDetail nodes.

 

9         DTD, XSD and SOAP WSDL

This section contains pointers to current Amazon Web Services DTDs, XSDs and WSDL file.

Please note: The DTDs shown below are not viewable in Internet Explorer.

Type

Location

Lite DTD

http://xml.amazon.com/schemas2/dev-lite.dtd

Heavy DTD

http://xml.amazon.com/schemas2/dev-heavy.dtd

Lite XSD

http://xml.amazon.com/schemas2/dev-lite.xsd

Heavy XSD

http://xml.amazon.com/schemas2/dev-heavy.xsd

SOAP WSDL

http://soap.amazon.com/schemas2/AmazonWebServices.wsdl

 

9.1        Lite Request Results

This section shows the results returned on a lite request.

Type

Returned Data

All lite requests

·          URL

·          ASIN

·          ProductName

·          Catalog

 

Other data sent if available

·          Artists

·          Authors

·          ReleaseDate

·          Manufacturer

·          ImageUrlSmall

·          ImageUrlMedium

·          ImageUrlLarge

·          ListPrice

·          OurPrice

·         UsedPrice

 

 

           

9.2        Heavy Request Results

This section shows the results returned on a lite request.

Type

Returned Data

All heavy requests

·          URL

·          ASIN

·          ProductName

·          Catalog

 

Other data sent if available

·          Artists

·          Authors

·          ReleaseDate

·          Manufacturer

·          ImageUrlSmall

·          ImageUrlMedium

·          ImageUrlLarge

·          ListPrice

·          OurPrice

·          UsedPrice

·          KeyPhrases

·          MPN

·          Starring

·          Directors

·          TheatricalReleaseDate

·          Distributor

·          RefurbishedPrice

·          CollectiblePrice

·          ThirdPartyNewPrice

·          NumberOfOfferings

·          ThirdPartyProductInfo

·          SalesRank

·          BrowseList

·          Media

·          ReadingLevel

·          Publisher

·          NumMedia

·          ISBN

·          Features

·          MpaaRating

·          EsrbRating

·          AgeGroup

·          Availability

·          UPC

·          Tracks

·          Accessories

·          Platforms

·          Encoding

·          Reviews

·          SimilarProducts

·          Lists

 

 

 

10    Enabling Transactions with Amazon.com

Using Web services, you can now enable your Web site visitors to add products to Amazon.com shopping carts, wedding registries, baby registries and wish lists directly from your site. HTML or JavaScript code is provided in all of the following examples. If you are an Associate and want to receive credit for purchases through your buttons, you should insert your Associates ID in the appropriate places in the code. Otherwise, you can simply use the generic “webservices-20” ID.

 

10.1   Using Amazon.com Quick-Click Buying

Amazon.com Quick-Click Buying allows your Web site visitors to purchase products sold at Amazon.com quickly and easily. Quick-Click Buying gives your visitors the option of either adding an item to their Amazon.com shopping cart or, if they are recognized customers of our store, buying the item using Amazon.com's 1-Click® technology.

When you paste the code below into your Web site, a “Buy from Amazon.com” link will be served onto your Web site. When a user clicks this link, a small Quick-Click Buying window will launch on your site, with information such as the product name and price, as well as add-to-shopping-cart and 1-Click® buttons.
 

<script language="JavaScript">

function popUp(URL) {

window.open(URL,'','location=yes,scrollbars=yes,status=yes,toolbar=yes,

resizable=yes,width=380,height=450,screenX=10,screenY=10,top=10,left=10');

}

document.open();

document.write("<a href=javascript:popUp('http://buybox.amazon.com/exec/obidos/redirect?

tag=[Associates ID goes here]&link_code=xsc&creative=23424&camp=2025&path=/dt/assoc/tg/aa/xml/

assoc/-/[ASIN number goes here]/[Associates ID goes here]/ref=ac_bb1_')><img src=http://rcm-images.amazon.com/images/G/01/associates/remote-buy-box/buy1.gif border=0 alt='Buy from Amazon.com' ></a>");

document.close();

</script>

<noscript>

<form method="POST" action="http://buybox.amazon.com/o/dt/assoc/handle-buy-box=[ASIN number goes here]">

<input type="hidden" name="asin.[ASIN number goes here]" value="1">

<input type="hidden" name="tag-value" value="[Associates ID goes here]">

<input type="hidden" name="tag_value" value="[Associates ID goes here]">

<input type="image" name="submit.add-to-cart" value="Buy from Amazon.com" border="0" alt="Buy from Amazon.com" src="http://rcm-images.amazon.com/images/G/01/associates/add-to-cart.gif">

</form>

</noscript>

 

 

10.2   Adding Items to Shopping Carts

Please use the following HTML to add a shopping cart button to your Web site. (This button is for use with products sold by Amazon.com, and not those sold by third party sellers).
 

<form method="POST" action="http://www.amazon.com/o/dt/assoc/handle-buy-box=[ASIN number goes here]">
<input type="hidden" name="asin.[ASIN number goes here]" value="1">
<input type="hidden" name="tag-value" value="[Associates ID goes here]">
<input type="hidden" name="tag_value" value="[Associates ID goes here]">
<input type="submit" name="submit.add-to-cart" value="Buy From Amazon.com">
</form>

 

Please note:  There is a slight difference in the "name" values of the second and third input elements (name="tag-value" and name="tag_value"). This is not a typo—one value uses a dash and one uses an underscore. You will need to use both tag_ and tag- in your HTML to ensure sales are recorded to your associate ID correctly.  Failure to do so will prevent you from earning referral fees on qualifying sales from shopping cart adds. 

 

10.3   Adding Marketplace Items to Shopping Carts

To enable your Web site visitors to add marketplace items directly to their shopping carts, you would use this HTML:

 

<form method="POST" action="http://www.amazon.com/o/dt/assoc/handle-buy-box=[ASIN number goes here]">
<input type=hidden name="exchange.[exchange ID goes here].[ASIN # goes here].[seller ID goes here]" value="1">
<input type="hidden" name="tag-value" value="[Associates ID goes here]">
<input type="hidden" name="tag_value" value="[Associates ID goes here]">
<input type="submit" name="submit.add-to-cart" value="Buy From Amazon.com">
</form>

 

10.4   Adding Items to Wish Lists

To enable your Web site visitors to add items directly to their wish lists, you would use this HTML:

 

<form method="POST" action="http://www.amazon.com/o/dt/assoc/handle-buy-box=[ASIN number goes here]">
<input type="hidden" name="asin.[ASIN number goes here]" value="1">
<input type="hidden" name="tag-value" value="[Associates ID goes here]">
<input type="hidden" name="tag_value" value="[Associates ID goes here]">
<input type="submit" name="submit.add-to-registry.wishlist" value="Add to Amazon.com Wish List">
</form>

 

10.5   Adding Items to Wedding Registries

To enable your Web site visitors to add items directly to their wedding registries, you would use this HTML:

 

<form method="POST" action="http://www.amazon.com/o/dt/assoc/handle-buy-box=[ASIN number goes here]">
<input type="hidden" name="asin.[ASIN number goes here]" value="1">
<input type="hidden" name="tag-value" value="[Associates ID goes here]">
<input type="hidden" name="tag_value" value="[Associates ID goes here]">
<input type="submit" name="submit.add-to-registry.wedding" value="Add to Amazon.com Wedding Registry">
</form>

 

10.6   Adding Items to Baby Registries

To enable your Web site visitors to add items directly to their baby registries, you would use this HTML:

 

<form method="POST" action="http://www.amazon.com/o/dt/assoc/handle-buy-box=[ASIN number goes here]">
<input type="hidden" name="asin.[ASIN number goes here]" value="1">
<input type="hidden" name="tag-value" value="[Associates ID goes here]">
<input type="hidden" name="tag_value" value="[Associates ID goes here]">
<input type="submit" name="submit.add-to-registry.babyreg" value="Add to Amazon.com Baby Registry">
</form>

 

11    Using the Developer’s Message Board and Reporting Bugs

This section shows the process for using the developer’s message board to post messages and report bugs and the appropriate format.

11.1   Amazon Web Services Message Boards

This section describes the Amazon Web Services Developer and Announcement message boards.

11.1.1      Developer Message Board

We have provided a forum to discuss Amazon.com Web Services with other developers at http://forums.prospero.com/am-assocdevxml. And if you have feedback you'd like to send us, please feel free to do so.  You can contact us at webservices@amazon.com.

11.1.2      Announcement Board

The Amazon Web Services team will post announcements about new features and new services releases to the announcement board.  Please check this announcement board regularly to make sure you have the most up-to-date information available.

 

11.2   Sample Bug Report

If you encounter a bug and would like to report it to Amazon for resolution, enter the bug on the developer’s message board instead of sending the bug directly to Amazon Web Services.  When you post to the developer’s board, you’re creating a public record of the problem and the solution.  The entire development community can help to solve the problem, and the entire community can benefit.

To file a bug on the developer’s board, include the following information in a bug report:

  1. Type of request that you tried:
    1. XML/HTTP - include the entire URL
    2. SOAP - include the name, version, and URL of any tools or toolkit that you used
    3. XSLT - include the entire URL, including the URL of the XSLT file
  2. Parameters that you supplied to the request
  3. Expected results
  4. Observed results and/or error messages

 

Amazon.com takes all Web Services problem reports seriously, and takes reasonable measures to reproduce them in an effort to determine their potential impact.  If a problem can be reproduced, we generally post a note to the Announcement Board when it is fixed.

Please be aware that it is not possible for Amazon.com to provide technical support to specific individuals.  However, you will from time to time see us respond to questions that we believe are of general interest to the broad community of developers.

 

This section contains information on commonly used product modes and browse identification numbers.

Product Modes

The table below identifies the proper nomenclature for filling in the "mode" for each of our product lines. These should be used exactly as shown. (For example, use mode=books rather than mode=book.) Please also note that modes are case sensitive.

Mode

Nomenclature

Apparel

mode=apparel

Baby

mode=baby

Books

mode=books

Classical Music

mode=classical

DVD

mode=dvd

Electronics

mode=electronics

Outdoor Living

mode=garden

Kitchen & Housewares

mode=kitchen

Magazines

mode=magazines

Popular Music

mode=music

Computers

mode=pc-hardware

Camera & Photo

mode=photo

Software

mode=software

Toys & Games

mode=toys

Tools & Hardware

mode=universal

Video

mode=vhs

Computer & Video Games

mode=videogames

 

Commonly Used Browse Identification Numbers

To find browse IDs at Amazon.com, the best way is to visit the "browse" area of the various product lines at our Web site. When you find a subject area that you would like to generate XML for, look at the web page URL. The browse ID should appear after the string "/tg/browse/-/". Here are some examples of URLs that contain browse IDs:

Please be aware that some nodes cannot be used with a BrowseNodeSearch. (The vast majority of them can, but you may run across a few that simply will not work). It is also important to point out that from time to time, some browse nodes are deprecated or are changed without notice. Although we do not provide an authoritative list of all "known good" browse nodes, the following is a list of some of our more popular browse nodes.

 

Category

Category

Category

Books, Top Selling 1000
Books, Bargain 45
Books, Audiocassettes 44
Books, Audio CDs 69724
Books, Business 3
Books, Cooking 6
Books, Home/Garden 48
Books, Literature/Fiction 17
Books, Nonfiction 53
Books, Technical 173507
Books, Romance 23
Books, Sports 26
Books, Childrens 4
Books, Engineering 13643
Books, Health 10
Books, Reference 21
Books, Science 75
Books, Biographies 2
Books, Computers/Internet 5
Books, Entertainment 86
Books, History 9
Books, Law 10777
Books, Mystery 18
Books, Religion 22
Books, SciFi/Fantasy 25
Books, Travel 27
Books, Arts & Photography 1
Books, e-books 551440
Books, Women's Fiction 542654

Magazines, Top Selling 599872
Magazines, Computer/Internet 602324
Magazines, Family 602330
Magazines, Games 602336
Magazines, History 602342
Magazines, Lifestyle 602348
Magazines, Music 602354
Magazines, Pets 602360
Magazines, Espanol 1040158
Magazines, Travel 602370
Magazines, Arts 602314
Magazines, Business 602320
Magazines, Electronics 602326
Magazines, Fashion 602332
Magazines, Home/Garden 602344
Magazines, Literary 602350
Magazines, Newspapers 1040160
Magazines, Religion 602362
Magazines, Sport 602366
Magazines, Womens 602372
Magazines, Automotive 602316
Magazines, Childrens 602322
Magazines, Entertainment 602328
Magazines, Food 602334
Magazines, Health 602340
Magazines, International 602346
Magazines, Mens 602352
Magazines, News/Politics 602358
Magazines, Science/Nature 602364
Magazines, Teen 602368

DVDs, Top Selling 130
DVDs, New & Future Releases 404332
DVDs, Animation 712256
DVDs, Classic 163345
DVDs, Documentary 508532
DVDs, Horror 163396
DVDs, SciFi/Fantasy 163431
DVDs, Television 163450
DVDs, Action/Adventure 163296
DVDs, Anime/Manga 517956
DVDs, Comedy 163357
DVDs, Drama 163379
DVDs, Kids/Family 163414
DVDs, Music Video 163420
DVDs, Special Interest 163448
DVDs, Military/War 586156
DVDs, Mystery/Suspense 512030
DVDs, Sports 467970
DVDs, African-American Cinema 538708
DVDs, International 163313
DVDs, Boxed Sets 501230
DVDs, Cult 466674
DVDs, Gay & Lesbian 301667
DVDs, Hong Kong Action 464426
DVDs, Independents 901596
DVDs, Musicals 508528
DVDs, Westerns 163312

Music, Top Selling 301668
Music, New & Future Releases 465672
Music, Classical 85
Music, Dance/DJ 7
Music, Pop 37
Music, Rock 40
Music, Alternative 30
Music, Classic Rock 67204
Music, Jazz 34
Music, Rap 38
Music, Soundtracks 42
Music, Blues 31
Music, Christian 173429
Music, Country 16
Music, Latin 289122
Music, R/B 39

Software, Top Selling 491286
Software, Communication 229636
Software, Graphics 229614
Software, Linux 290562
Software, Operating Sys 229653
Software, Downloadable 531448
Software, Utilities 229672
Software, Business 229535
Software, Education 229563
Software, Home/Hobby 229624
Software, Mac 229643
Software, Finance 229540
Software, Handhelds 229663
Software, Video 497022
Software, Childrens 229548
Software, Games 229575
Software, Language/Travel 497026
Software, Networking 229637
Software, Programming 229667
Software, Web Dev 497024

VHS, Top Selling 404272
VHS, New & Future Releases 286747
VHS, Animation 712260
VHS, Classic 127
VHS, Documentary 508530
VHS, Horror 131
VHS, SciFi/Fantasy 144
VHS, Television 136
VHS, Action/Adventure 141
VHS, Anime/Manga 281300
VHS, Comedy 128
VHS, Drama 129
VHS, Kids/Family 132
VHS, Music Video 133
VHS, Special Interest 135
VHS, Military/War 586154
VHS, Mystery/Suspense 512026
VHS, Sports 169798

Video Games, Top Selling 471280
Video Games, Game Cube 541022
Video Games, Play Station 2 301712
Video games, Game Boy 229783
Video Games, Mac 229647
Video Games, PC 229575
Video Games, Game Boy Advance 541020
Video Games, Xbox 537504

Kitchen, Top Selling 491864
Kitchen, Outlet 526844
Kitchen, Coffee/Tea 289742
Kitchen, Cookware 289814
Kitchen, Appliances 289913
Kitchen, Baking 289668
Kitchen, Housewares 510080
Kitchen, Tableware 289891
Kitchen, Bar Tools 289728
Kitchen, Gadgets 289754
Kitchen, Knives 289851

Toys, Top Selling 491290
Toys, Crafts 171859
Toys, Dolls 171569
Toys, Games 171689
Toys, Outdoor 171960
Toys, Action Figures 171662
Toys, Bikes 569472
Toys, Electronics 720366
Toys, Stuffed Animals 171992
Toys, Learning 171911
Toys, Building 171814
Toys, Furniture 172790
Toys, Puzzles 171744
Toys, Vehicles 171600

Outdoor, Top Selling 468250
Outdoor, Outlet 526814
Outdoor, Gifts 553648
Outdoor, Lawn/Garden Tools 915484
Outdoor, Pest Control 553844
Outdoor, Birding 553632
Outdoor, Grills 553760
Outdoor, Camping 892986
Outdoor, Décor 553788
Outdoor, Heating & Lighting 553778
Outdoor, Furniture 553824

Camera, Top Selling 502394
Camera, Accessories 172435
Camera, Binoculars 297842
Camera, Camcorders 172421
Camera, Digital Cameras 281052
Camera, Film Cameras 499106
Camera, Frames & Albums 499176
Camera, Printers & Scanners 499328
Camera, Projectors 525462
Camera, Telescopes & Microscopes 660408

Computers, Top Selling 565118
Computers, AMD 602286
Computers, Apple 565124
Computers, HP 565120
Computers, IBM 603128
Computers, Intel 565122
Computers, Sony 565126
Computers, Toshiba 598398

Tools, Top Selling 468240
Tools, Outlet 527694
Tools, Electrical 495266
Tools, Heating & Cooling 495346
Tools, Lighting 495224
Tools, Automotive 553294
Tools, Hand Tools 551238
Tools, Equipment 551240
Tools, Power Tools 551236
Tools, Models 923468
Tools, Hardware 511228
Tools, Lawn/Garden 551242
Tools, Accessories 552262
Tools, Air Tools 552684
Tools, Cordless Tools 552738
Tools, Sanders 552876
Tools, Saws 552894
Tools, Painting 228899

Electronics, Top Selling 172282
Electronics, Outlet 301793
Electronics, Accessories & Supplies 281407
Electronics, Car Accessories 226184
Electronics, Clocks & Clock Radios 509280
Electronics, Computer Add-Ons 172455
Electronics, DVD Players 172514
Electronics, Gadgets 172517
Electronics, GPS & Navigation 172526
Electronics, Handhelds & PDAs 172594
Electronics, Home Audio 172531
Electronics, Home Office 172574
Electronics, Home Video 172592
Electronics, Phones 172606
Electronics, Portable Audio & Video 172623
Electronics, Printers 172635
Electronics, TVs 172659
Electronics, VCRs & DVRs 172669

Baby, Backpacks & Carriers 542456
Baby, Car Seats 541560
Baby, Strollers 541562
Baby, Travel Systems 542442
Baby, Playards 542468
Baby, Bedding 541574
Baby, Furniture 541576
Baby, Breast-feeding 541568
Baby, Bottle Feeding 541566
Baby, Solid Feeding 541570
Baby, Highchairs 542302
Baby, Play Centers 548050
Baby, Swings & Bouncers 542470
Baby, Toys: Birth - 12 months 731816
Baby, Toys: 12 - 24 months 731876
Baby, Toys: 2 years 731924

 

 

 

This section contains additional resources for information on Web services, XML, and SOAP.

Web Services Resources

This table shows additional Web Services resources you can use to develop your application or Web site.

Resource

Location

WebServices.org

http://www.webservices.org/

Web Services Architect

http://www.webservicesarchitect.com/

Web Services Journal

http://www.sys-con.com/webservices/

XMethods

http://www.xmethods.net/

IBM's developerWorks

http://www-106.ibm.com/developerworks/

Oracle Technology Network Web Services Center

http://otn.oracle.com/tech/webservices/

CapeScience

http://www.capescience.com/

 

XML Resources

This table shows additional XML resources you can use to develop your application or Web site.

Resource

Location

O'Reilly's XML.com

http://www.xml.com/

XML.org

http://www.xml.org/

XMLFiles.com

http://www.xmlfiles.com/

The XML FAQ

http://www.ucc.ie/xml/

RESTwiki

http://internet.conveyor.com/RESTwiki/moin.cgi/

 

SOAP Resources

This table shows additional SOAP resources you can use to develop your application or Web site.

Resource

Location

Developmentor

http://www.develop.com/soap/

SoapWare.org

http://www.soapware.org/

SoapLite.com

http://www.soaplite.com/

W3Schools tutorial

http://www.w3schools.com/soap/default.asp

This section shows the version, date, author, and change description for this document.

Version

Date

Description of Changes

1.0

6/16/2002

First published version of this document. 

1.1

7/22/2002

Document updated.  This version removed DTDs, XSDs and WSDL from kit. (These files can still be retrieved online.)

2.0

9/30/02

Second published version of this document.  Contains significant changes, including expanded descriptions of SOAP calls; search, parameter, and sort type listings; expanded XSL descriptions; and more.

 

If you have any comments about this documentation, or discover any mistakes contained in it, please send a message to webservices@amazon.com.  Thanks for reading!