{"id":15645017,"url":"https://github.com/morgoth/alexa","last_synced_at":"2025-04-13T08:41:12.028Z","repository":{"id":605603,"uuid":"242316","full_name":"morgoth/alexa","owner":"morgoth","description":"Alexa Web Information Service","archived":false,"fork":false,"pushed_at":"2018-05-06T08:47:41.000Z","size":200,"stargazers_count":57,"open_issues_count":0,"forks_count":22,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-03-14T23:07:35.699Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/morgoth/alexa","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/morgoth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-07-03T09:08:52.000Z","updated_at":"2024-02-15T08:17:18.000Z","dependencies_parsed_at":"2022-08-16T10:31:14.670Z","dependency_job_id":null,"html_url":"https://github.com/morgoth/alexa","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morgoth%2Falexa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morgoth%2Falexa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morgoth%2Falexa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morgoth%2Falexa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/morgoth","download_url":"https://codeload.github.com/morgoth/alexa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248686396,"owners_count":21145483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T12:04:02.204Z","updated_at":"2025-04-13T08:41:12.003Z","avatar_url":"https://github.com/morgoth.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alexa Web Information Service\n\nRuby client for [AWIS](http://docs.amazonwebservices.com/AlexaWebInfoService/latest/)\n\n## Installation\n\n```\ngem install alexa\n```\n\n## Usage\n\nAll success response objects contain `response_id` method.\n\n### Url Info\n\n``` ruby\nclient = Alexa::Client.new(access_key_id: \"key\", secret_access_key: \"secret\")\nurl_info = client.url_info(url: \"site.com\")\n```\n\nReturns object that contains methods:\n\n* rank\n* data_url\n* site_title\n* site_description\n* language_locale\n* language_encoding\n* links_in_count\n* keywords\n* related_links\n* speed_median_load_time\n* speed_percentile\n* rank_by_country\n* rank_by_city\n* usage_statistics\n* categories\n\nYou can specify options:\n\n* url - address to be measured\n* response_group - which data to include in response (i.e. [\"rank\", \"contact_info\"]) - defaults to all available\n\nSee: [Docs](http://docs.amazonwebservices.com/AlexaWebInfoService/latest/) for valid groups.\n\n### Sites Linking In\n\n``` ruby\nclient = Alexa::Client.new(access_key_id: \"key\", secret_access_key: \"secret\")\nsites_linking_in = client.sites_linking_in(url: \"site.com\")\n```\n\nReturns object that contains method:\n\n* sites\n\nYou can specify options:\n\n* url - address to be measured\n* count - how many results to retrieve - defaults to max value that is 20\n* start - offset of results - defaults to 0\n\n### Traffic History\n\n``` ruby\nclient = Alexa::Client.new(access_key_id: \"key\", secret_access_key: \"secret\")\ntraffic_history = client.traffic_history(url: \"site.com\")\n```\n\nReturns object that contains methods:\n\n* site\n* range\n* start\n* data\n\nYou can specify options:\n\n* url - address to be measured\n* range - how many days to retrieve - defaults to max value 31\n* start - start date (i.e. \"20120120\", 4.days.ago) - defaults to range number days ago\n\n### Category Browse\n\n``` ruby\nclient = Alexa::Client.new(access_key_id: \"key\", secret_access_key: \"secret\")\ncategory_browse = client.category_browse(path: \"Top/Games/Card_Games\")\n```\n\nReturns object that contains methods:\n\n* categories\n* language_categories\n* related_categories\n* letter_bars\n\nYou can specify options:\n\n* path - category to be measured (i.e. \"Top/Games/Card_Games\") - valid paths can be found on [dmoz](http://www.dmoz.org/)\n* response_group - any of: categories, related_categories, language_categories, letter_bars - defaults to all\n* descriptions - should response include descriptions (i.e. false) - defaults to true\n\n### Category Listings\n\n``` ruby\nclient = Alexa::Client.new(access_key_id: \"key\", secret_access_key: \"secret\")\ncategory_listings = client.category_listings(path: \"Top/Games/Card_Games\")\n```\n\nReturns object that contains methods:\n\n* count\n* recursive_count\n* listings\n\nYou can specify options:\n\n* path - category to be measured (i.e. \"Top/Games/Card_Games\") - valid paths can be found on [dmoz](http://www.dmoz.org/)\n* sort_by - sort results by one of: popularity, title, average_review - defaults to popularity\n* recursive - should result include subcategories (i.e. false)- defaults to true\n* count - how many results to retrieve - defaults to max value, that is 20\n* start - offset of results - defaults to 0\n* descriptions - should response include descriptions (i.e. false) - defaults to true\n\n## Caveats\n\n### Status Code\n\nYou can retrieve Alexa status code calling `status_code` method.\n\nIt happens (so far in TrafficHistory) that Alexa returns response `200` with `AlexaError` status.\n\n### Parsers\n\nAlexa is using `multi_xml` to parse XML documents. Tested with:\n\n* rexml\n* nokogiri\n* libxml\n\nCurrently alexa will not work with `ox` gem\n\n## Contributors\n\n* [rmoriz](https://github.com/rmoriz)\n* [jasongill](https://github.com/jasongill)\n* [sporkmonger](https://github.com/sporkmonger)\n* [pelf](https://github.com/pelf)\n* [tyler-smith](https://github.com/tyler-smith)\n\n## Continuous Integration\n\n[![Build Status](https://travis-ci.org/morgoth/alexa.svg?branch=master)](https://travis-ci.org/morgoth/alexa)\n\n## Copyright\n\nCopyright (c) Wojciech Wnętrzak. See LICENSE for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgoth%2Falexa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorgoth%2Falexa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgoth%2Falexa/lists"}