Overview and Introduction

Ruby/Amazon is a Ruby language library that allows programmatic access to the popular Amazon Web site via the REST (XML over HTTP) based Amazon Web Services. In addition to the original site, the,,,, and properties are also supported.

Ruby/Amazon aims to wrap the grunt work of interacting with the Amazon API behind a high-level layer of Ruby, thereby making it easier to use.

The library provides support for the vast majority of the AWS v3.1 API. For example, all forms of product search are implemented, along with the transaction details API and the remote shopping-cart API. Furthermore, advanced features such as threaded retrieval of multiple pages, object caching and determining a client's most appropriate AWS locale are all available. See the RDoc library documentation for more information, in particular the page about the top level Amazon module.

Please be aware that this software was effectively rendered obsolete on 2008-03-31 by Amazon's decision to shut down access to v3.x of the AWS API.

The new Ruby/AWS library works with v4 of the AWS API and is the successor to Ruby/Amazon. Please use that instead of this library.

The source code is made available under the GNU General Public Licence.


Before you can use this library, you need to obtain an Amazon Web Services developer token.

You should also apply for an Associates account. This isn't strictly necessary, but may be needed in the future to exploit new functionality.


Ruby/Amazon requires REXML in order to parse the XML responses from Amazon. This is included with Ruby 1.8.x or later, which also happens to be the minimum version of the interpreter required to use this library. If you use an RPM-based Linux distribution, I'm happy to provide you with RPMs of the latest version of Ruby 1.8.x for your system.

Additionally, Ruby/Amazon can make use of MaxMind's GeoIP library. This is required for geolocation of clients, which is used to determine which AWS locale should be used for a given client. In addition to the C library, you will also need the Ruby bindings. Alternatively, RPMs are available of the C library and Ruby bindings.

Library documentation

Please see the RDoc documentation for information on how this library works, including examples of its usage. Most importantly, be sure to read the documentation concerning the top level Amazon module. The release notes for the latest version are also available.


ruby-amazon-0.9.2.tar.gztarred and gzipped source
ruby-amazon-0.9.2-1.i386.rpmBinary RPM for Ruby 1.8.x
ruby-amazon-0.9.2-1.src.rpmSource RPM