Ruby client to Alexa API services
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Ruby client for Amazon Alexa APIs.

These include Alexa Top Sites and Alexa Web Information Service.

HTTP transport thanks to Net::HTTP, with a little help from addressable.

XML parsing courtesy of Nokogiri.

Thorough test coverage provided by MiniTest::Spec.


# with bundler
echo 'gem "ralexa"' >> Gemfile

# or just the gem
gem install ralexa

Usage Examples

# grab a Ralexa::Session instance to hold your credentials.
session = Ralexa.session("aws_access_key_id", "aws_secret_access_key")

# all countries
countries = session.top_sites.list_countries

# global top 250 sites
global =

# per-country top sites
first_by_country = {}
countries.each do |c|
  first_by_country[] =, 1).first.url

# individual country lookup
puts "Top Ten Australian Sites""AU", 10).each do |s|
  puts "#{s.url} (#{s.page_views} pageviews)"

# url info for an individual site
puts "Url info of"
puts session.url_info.get("")

puts "bam!"


Service Action ResponseGroup Supported
Alexa Top Sites TopSites Global Yes
Country Yes
ListCountries Yes
Alexa Web Information Services UrlInfo Get Yes
TrafficHistory * Send a pull request!
CategoryBrowse * Send a pull request!
CategoryListings * Send a pull request!
SitesLinkingIn * Send a pull request!


  1. Fork it
  2. Create your feature branch (git checkout -b some-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin some-new-feature)
  5. Create new Pull Request


(c) 2012 Flippa, The MIT License.