PHP Classes

Amazon API Access with PHP and XML: A PHP XML class to access Amazon API they released

Recommend this page to a friend!
  Info   View files View files (7)   DownloadInstall with Composer Download .zip   Reputation   Support forum (3)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 56%Total: 9,439 All time: 157 This week: 524Down
Version License PHP version Categories
amazon 1.0.0The PHP License3XML, E-Commerce, Web services



Now everybody heard of What not everybody knows that Amazon released an API to access its huge catalogs. What this basically means is that each developer can access the information from Amazon following some simple protocols and every site owner can enhance his own website with content and features from Amazon.

The Amazon API comes as a simple Webservice. Here are the first Web services that they have exposed:
- Product Display : The ability to search for and retrieve product information from the catalog.
- Shopping Cart : The ability to add products to shopping carts, wish lists, and registries from third party locations.

No matter of your intentions, you will first need to register and obtain a valid developer token. You can get your token here at this address:

The current listed implementation of Amazon webservices uses Keyword searches. It has basically the same results as searching the books catalog online. As any developer/webmaster can see in the " Web Services Developers Kit v 1.0" document, a lot of other Amazon features are exposed. This would imply extending the base structure I present here.

There are multiple approaches from a developer's point of view. The simplest one deals with SOAP and web services classes already implemented in PHP. You could also extend the PEAR's XMLParser object to parse Amazon results. The reason I did not choose these directions is because they require additional extensions installed with PHP. What I currently use is the XML parsing package that comes embedded in PHP, so it is slightly more general.

What basically happens in this implementation is that the search word entered by the used is embedded into a XML url that is then retrieved from Then PHP builds a nice display for the information received.

I should let the code talk for itself. Here is the main controller, with a small search form for Amazon:

As you see, the actual code is very small. Then here is the class used in the controller to parse the XML returned by Amazon.

Then the configuration file. I need to remember you that you need to change the DEVELOPER_TOKEN constant with the one you will obtain from Amazon. The current license key belongs to me. You also need to change the ASSOCIATE_ID constant with a one from Amazon. You also need to do the same change in the file php9-data-to-html.xsl, the engine for the XSLT transformation.The current constant set belongs to me also.

And here is the layout template used to build the output from the XML document retrieved from Amazon. It is parsed every time a book record is retrieved, so the output rendering is the fastest possible.

And here is the XSLT document used to build the HTML product page document from the XML document retrieved from Amazon.

Here you have the full package zipped.

And of course a demo:

As the project improved a lot during the latest months, I created a freshmeat project here:

and a class collection in the extensive package provided by Manuel Lemos:

Feel free to use it and improve. I am open to suggestions.

The class has been updated to use Amazon Webservices Version 2 (search order, number of results).

Picture of Uioreanu Calin
Name: Uioreanu Calin <contact>
Classes: 1 package by
Country: Germany Germany
Age: ???
All time rank: 26111 in Germany Germany
Week rank: 307 Down15 in Germany Germany Down

  Files folder image Files  
File Role Description
Accessible without login Plain text file amazon.php Example controller script Amazon API
Accessible without login Plain text file amazon_class.php Class webservice class definition for Amazon Parser
Accessible without login Plain text file amazon_config.php Conf. configuration variables for Amazon Parser
Accessible without login Plain text file amazon_layout.php Example display template for Amazon API
Plain text file amazon_search_config.php Conf. configuration file for the Amazon search teasers
Plain text file amazon_search_layout.php Example the layout for the Amazon Search teaser
Plain text file amazon_search_teaser.php Example Search teaser in case you want results from Amazon on your site internal search

 Version Control Unique User Downloads Download Rankings  
This week:0
All time:157
This week:524Down
User Ratings User Comments (2)
 All time
I think it is good.
7 years ago (Mohammed Asad)
***IMPORTANT*** This package no longer works.
13 years ago (Alan Milgrom)