RubyGems

App · Code Repositories · 18 actions

Read anything on RubyGems.org. Look a gem up by name for its licence, authors, links and dependencies, walk its whole release history, open one release for its files, checksums and signed attestations, and see who can push to it. Search the registry, watch what has been published in the last week, find which gems depend on one you care about, and track download counts for a release, a gem or the whole site. No account or API key is required.

Actions

ActionWhat it does
Find gem namesFind gem names that match some text, from the same lookup that fills the search box on RubyGems.org.
Get a gemLook up a gem on RubyGems.org: what it does, who wrote it, what licence it carries, where its source, issues and changelog live, what it depends on, and how often it has been downloaded.
Get a gem versionRead one specific release of a gem in full: its summary and description, when it was built and published, the Ruby and RubyGems versions it needs, its dependencies and its checksums.
Get a user profileGet a RubyGems user's public profile.
Get a version's attestationsGet the sigstore attestations published with a release: proof, signed when the gem was pushed and recorded in a public transparency log, of what was published and by which build.
Get downloads for a versionGet how often one release of a gem was downloaded, and how often the gem has been downloaded in total.
Get the latest versionGet just the newest version number of a gem, and nothing else.
Get total downloadsGet how many gems have ever been downloaded from RubyGems.org, across every gem and every version.
List a user's gemsList every gem a RubyGems user can push to, with each gem's newest version and download count and the total across all of them.
List dependent gemsList the gems whose newest release depends on this one, which is the blast radius of a change or a security issue.
List gem ownersList everyone who can push releases of a gem, and in what role: an owner can also manage who else may, a maintainer can only push.
List gem versionsList a gem's releases with the date each went out, how many times it was downloaded and which Ruby it needs.
List new gemsList the fifty gems most recently published to RubyGems.org for the very first time.
List releases in a timeframeList every release published anywhere on RubyGems.org between two moments.
List the files in a versionList every file packaged inside one release, each with its SHA-256.
List the most downloaded gemsList the fifty most downloaded gem versions on RubyGems.org, ranked, each with its size, licence and publish date.
List updated gemsList the fifty most recent releases published anywhere on RubyGems.org, newest first.
Search gemsSearch RubyGems.org exactly as its own search box does, across gem names and descriptions.

Find gem names

Find gem names that match some text, from the same lookup that fills the search box on RubyGems.org. Names only, which is what 'is there a gem called something like this?' asks and what feeds a gem field in a later step. The answer says whether one of them matched exactly. No API key required.

Inputs

Name starts withquerytextRequired
The beginning of a gem name. Matching is on the name itself, not on descriptions, so a topic finds nothing here and belongs in 'Search gems'.
Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
exact_matchtrue/false
gemslist
querytext
total_countnumber
truncatedtrue/false
Example output
{
  "count": 3,
  "exact_match": true,
  "gems": [
    {
      "name": "nokogiri",
      "rubygems_url": "https://rubygems.org/gems/nokogiri"
    },
    {
      "name": "nokogiri-diff",
      "rubygems_url": "https://rubygems.org/gems/nokogiri-diff"
    },
    {
      "name": "nokogiri-happymapper",
      "rubygems_url": "https://rubygems.org/gems/nokogiri-happymapper"
    }
  ],
  "query": "nokogiri",
  "total_count": 30,
  "truncated": true
}

Get a gem

Look up a gem on RubyGems.org: what it does, who wrote it, what licence it carries, where its source, issues and changelog live, what it depends on, and how often it has been downloaded. Everything is at the gem's newest release; use 'Get a gem version' to read an older one. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.

Outputs

authorslist
bug_tracker_urltext
changelog_urltext
development_dependencieslist
development_dependency_countnumber
documentation_urltext
downloadsnumber
funding_urltext
gemtext
gem_file_urltext
homepage_urltext
infotext
licenseslist
mailing_list_urltext
mfa_requiredtrue/false
platformtext
rubygems_urltext
runtime_dependencieslist
runtime_dependency_countnumber
sha256text
source_code_urltext
spec_sha256text
versiontext
version_created_attext
version_downloadsnumber
wiki_urltext
yankedtrue/false
Example output
{
  "authors": [
    "David Heinemeier Hansson"
  ],
  "bug_tracker_url": "https://github.com/rails/rails/issues",
  "changelog_url": "https://github.com/rails/rails/releases/tag/v8.1.3.1",
  "development_dependencies": [],
  "development_dependency_count": 0,
  "documentation_url": "https://api.rubyonrails.org/v8.1.3.1/",
  "downloads": 778774508,
  "funding_url": null,
  "gem": "rails",
  "gem_file_url": "https://rubygems.org/gems/rails-8.1.3.1.gem",
  "homepage_url": "https://rubyonrails.org",
  "info": "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring...",
  "licenses": [
    "MIT"
  ],
  "mailing_list_url": "https://discuss.rubyonrails.org/c/rubyonrails-talk",
  "mfa_required": true,
  "platform": "ruby",
  "rubygems_url": "https://rubygems.org/gems/rails",
  "runtime_dependencies": [
    {
      "name": "actioncable",
      "requirements": "= 8.1.3.1",
      "rubygems_url": "https://rubygems.org/gems/actioncable"
    },
    {
      "name": "actionmailbox",
      "requirements": "= 8.1.3.1",
      "rubygems_url": "https://rubygems.org/gems/actionmailbox"
    }
  ],
  "runtime_dependency_count": 13,
  "sha256": "ccd11a36bfc171bf9c66d585d14c0ece91c0c9dde840aae60c0118d6f5c9c52a",
  "source_code_url": "https://github.com/rails/rails/tree/v8.1.3.1",
  "spec_sha256": "5b60af49df6edf722925a85d144f1118abda22485a820da2c516e97cab8347b8",
  "version": "8.1.3.1",
  "version_created_at": "2026-07-29T15:02:41.060Z",
  "version_downloads": 3429349,
  "wiki_url": null,
  "yanked": false
}

Get a gem version

Read one specific release of a gem in full: its summary and description, when it was built and published, the Ruby and RubyGems versions it needs, its dependencies and its checksums. Use it to read the release a project actually pins rather than whatever is newest today. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.
VersionversiontextRequired
Which release to read. Fill in the gem first and this list loads, newest first, with the date each went out. Yanked releases are not listed, because RubyGems no longer serves them.
Platformplatformtext
Which build of this release to read. Leave blank for the default, which is the pure Ruby build for almost every gem. Fill in the gem and version first and this list loads.

Outputs

authorslist
bug_tracker_urltext
built_attext
changelog_urltext
created_attext
descriptiontext
development_dependencieslist
development_dependency_countnumber
documentation_urltext
downloadsnumber
funding_urltext
gemtext
gem_file_urltext
homepage_urltext
infotext
licenseslist
mailing_list_urltext
mfa_requiredtrue/false
platformtext
prereleasetrue/false
requested_versiontext
requirementslist
ruby_versiontext
rubygems_urltext
rubygems_versiontext
runtime_dependencieslist
runtime_dependency_countnumber
sha256text
source_code_urltext
spec_sha256text
summarytext
versiontext
version_downloadsnumber
wiki_urltext
yankedtrue/false
Example output
{
  "authors": [
    "Leah Neukirchen"
  ],
  "bug_tracker_url": "https://github.com/rack/rack/issues",
  "built_at": "1980-01-02T00:00:00.000Z",
  "changelog_url": "https://github.com/rack/rack/blob/main/CHANGELOG.md",
  "created_at": "2026-08-13T06:57:35.545Z",
  "description": "Rack provides a minimal, modular and adaptable interface for developing\nweb applications in Ruby. By wrapping HTTP requests and responses in\nthe simpl...",
  "development_dependencies": [
    {
      "name": "bundler",
      "requirements": ">= 0",
      "rubygems_url": "https://rubygems.org/gems/bundler"
    },
    {
      "name": "minitest",
      "requirements": "~> 5.0",
      "rubygems_url": "https://rubygems.org/gems/minitest"
    }
  ],
  "development_dependency_count": 4,
  "documentation_url": "https://rubydoc.info/github/rack/rack",
  "downloads": 1331697443,
  "funding_url": null,
  "gem": "rack",
  "gem_file_url": "https://rubygems.org/gems/rack-3.2.7.gem",
  "homepage_url": "https://github.com/rack/rack",
  "info": "Rack provides a minimal, modular and adaptable interface for developing\nweb applications in Ruby. By wrapping HTTP requests and responses in\nthe simpl...",
  "licenses": [
    "MIT"
  ],
  "mailing_list_url": null,
  "mfa_required": true,
  "platform": "ruby",
  "prerelease": false,
  "requested_version": "3.2.7",
  "requirements": [],
  "ruby_version": ">= 2.4.0",
  "rubygems_url": "https://rubygems.org/gems/rack/versions/3.2.7",
  "rubygems_version": ">= 0",
  "runtime_dependencies": [],
  "runtime_dependency_count": 0,
  "sha256": "93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7",
  "source_code_url": "https://github.com/rack/rack",
  "spec_sha256": "2f10210c32d303272ddf7229b775dcc920a0c8dece7b3ff502651bcf7a440c7c",
  "summary": "A modular Ruby webserver interface.",
  "version": "3.2.7",
  "version_downloads": 1235527,
  "wiki_url": null,
  "yanked": false
}

Get a user profile

Get a RubyGems user's public profile. Takes a username or the numeric id that appears on a gem's owner list, so it is the step that turns an id into a name a person recognises. No API key required.

Inputs

Username or user idusertextRequired
The person's RubyGems username or their numeric user id. Both reach the same profile.

Outputs

emailtext
handletext
idnumber
profile_urltext
usertext
Example output
{
  "email": null,
  "handle": "raggi",
  "id": 264,
  "profile_url": "https://rubygems.org/profiles/raggi",
  "user": "raggi"
}

Get a version's attestations

Get the sigstore attestations published with a release: proof, signed when the gem was pushed and recorded in a public transparency log, of what was published and by which build. The supply chain check for a dependency. Signing is opt-in and recent, so an empty answer is normal rather than a failure. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.
VersionversiontextRequired
Which release to read. Fill in the gem first and this list loads, newest first, with the date each went out. Yanked releases are not listed, because RubyGems no longer serves them.
Platformplatformtext
Which build of this release to read. Leave blank for the default, which is the pure Ruby build for almost every gem. Fill in the gem and version first and this list loads.

Outputs

attestationslist
countnumber
full_nametext
gemtext
has_attestationstrue/false
platformtext
rubygems_urltext
versiontext
Example output
{
  "attestations": [
    {
      "digest": "zNEaNr/Bcb+cZtWF0UwOzpHAyd3oQKrmDAEY1vXJxSo=",
      "digest_algorithm": "SHA2_256",
      "has_certificate": true,
      "integrated_at": "2026-07-29T15:02:39Z",
      "log_index": 2281082913,
      "log_kind": "hashedrekord",
      "media_type": "application/vnd.dev.sigstore.bundle.v0.3+json",
      "signature": "MEUCICjG5vOXwC8k3KVTd/m2X4/1jo/zGBgJBj32CBUt...",
      "transparency_log_url": "https://search.sigstore.dev/?logIndex=2281082913"
    }
  ],
  "count": 1,
  "full_name": "rails-8.1.3.1",
  "gem": "rails",
  "has_attestations": true,
  "platform": null,
  "rubygems_url": "https://rubygems.org/gems/rails/versions/8.1.3.1",
  "version": "8.1.3.1"
}

Get downloads for a version

Get how often one release of a gem was downloaded, and how often the gem has been downloaded in total. Both numbers come back together with the release's share worked out, so a step can report adoption of a new version without a second call. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.
VersionversiontextRequired
Which release to read. Fill in the gem first and this list loads, newest first, with the date each went out. Yanked releases are not listed, because RubyGems no longer serves them.
Platformplatformtext
Which build of this release to read. Leave blank for the default, which is the pure Ruby build for almost every gem. Fill in the gem and version first and this list loads.

Outputs

full_nametext
gemtext
platformtext
rubygems_urltext
total_downloadsnumber
versiontext
version_downloadsnumber
version_share_percentnumber
Example output
{
  "full_name": "rack-3.2.7",
  "gem": "rack",
  "platform": null,
  "rubygems_url": "https://rubygems.org/gems/rack/versions/3.2.7",
  "total_downloads": 1331697443,
  "version": "3.2.7",
  "version_downloads": 1235527,
  "version_share_percent": 0.09
}

Get the latest version

Get just the newest version number of a gem, and nothing else. The cheapest way to answer 'is the version we pin behind?', so it is the step to put on a schedule to watch a dependency. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.

Outputs

gemtext
prereleasetrue/false
rubygems_urltext
versiontext
Example output
{
  "gem": "rack",
  "prerelease": false,
  "rubygems_url": "https://rubygems.org/gems/rack/versions/3.2.7",
  "version": "3.2.7"
}

Get total downloads

Get how many gems have ever been downloaded from RubyGems.org, across every gem and every version. One number for the whole registry, which is the context a single gem's count needs. No API key required.

Inputs

None.

Outputs

total_downloadsnumber
total_downloads_readabletext
Example output
{
  "total_downloads": 263477987718,
  "total_downloads_readable": "263,477,987,718"
}

List a user's gems

List every gem a RubyGems user can push to, with each gem's newest version and download count and the total across all of them. Public, so it works for anyone's username. Use 'List my gems' for the account this connection's key belongs to. No API key required.

Inputs

UsernameusertextRequired
The person's RubyGems username, which is the last part of their profile URL. A numeric user id works too, which is what 'List gem owners' returns.
Sort bysorttext
How to order the gems that come back.One of: name (Gem name, A to Z), downloads (Most downloaded first), newest (Most recently released first). Default: name.
Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
gemslist
profile_urltext
sorttext
total_countnumber
total_downloadsnumber
truncatedtrue/false
usertext
Example output
{
  "count": 2,
  "gems": [
    {
      "authors": [
        "Leah Neukirchen"
      ],
      "downloads": 1331696522,
      "homepage_url": "https://github.com/rack/rack",
      "info": "Rack provides a minimal, modular and adaptable interface for developing\nweb applications i...",
      "licenses": [
        "MIT"
      ],
      "name": "rack",
      "platform": "ruby",
      "rubygems_url": "https://rubygems.org/gems/rack",
      "source_code_url": "https://github.com/rack/rack",
      "version": "3.2.7",
      "version_created_at": "2026-08-13T06:57:35.545Z",
      "version_downloads": 1235336,
      "yanked": false
    },
    {
      "authors": [
        "Francis Cianfrocca",
        "Aman Gupta"
      ],
      "downloads": 329386047,
      "homepage_url": "https://github.com/eventmachine/eventmachine",
      "info": "EventMachine implements a fast, single-threaded engine for arbitrary network\ncommunication...",
      "licenses": [
        "Ruby",
        "GPL-2.0"
      ],
      "name": "eventmachine",
      "platform": "ruby",
      "rubygems_url": "https://rubygems.org/gems/eventmachine",
      "source_code_url": "https://github.com/eventmachine/eventmachine",
      "version": "1.2.7",
      "version_created_at": "2018-05-12T13:05:17.295Z",
      "version_downloads": 221030683,
      "yanked": false
    }
  ],
  "profile_url": "https://rubygems.org/profiles/raggi",
  "sort": "downloads",
  "total_count": 25,
  "total_downloads": 1799683980,
  "truncated": true,
  "user": "raggi"
}

List dependent gems

List the gems whose newest release depends on this one, which is the blast radius of a change or a security issue. Narrow it to gems that need this one to run, or only to build and test. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.
Dependency kinddependency_scopetext
Which kind of dependency to count. Both are included by default.One of: all (Both kinds of dependency), runtime (Runtime only: gems that need this one to run), development (Development only: gems that need this one to build or test). Default: all.
Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
dependency_scopetext
gemtext
gemslist
rubygems_urltext
total_countnumber
truncatedtrue/false
Example output
{
  "count": 3,
  "dependency_scope": "runtime",
  "gem": "shoulda",
  "gems": [
    {
      "name": "beyond_the_api_test_helpers",
      "rubygems_url": "https://rubygems.org/gems/beyond_the_api_test_helpers"
    },
    {
      "name": "bio-band",
      "rubygems_url": "https://rubygems.org/gems/bio-band"
    },
    {
      "name": "cool_extensions",
      "rubygems_url": "https://rubygems.org/gems/cool_extensions"
    }
  ],
  "rubygems_url": "https://rubygems.org/gems/shoulda",
  "total_count": 39,
  "truncated": true
}

List gem owners

List everyone who can push releases of a gem, and in what role: an owner can also manage who else may, a maintainer can only push. Works for any gem, not just your own. An email address shows only for people who chose to publish theirs. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.

Outputs

countnumber
gemtext
maintainer_countnumber
owner_countnumber
ownerslist
rubygems_urltext
Example output
{
  "count": 3,
  "gem": "rack",
  "maintainer_count": 0,
  "owner_count": 3,
  "owners": [
    {
      "email": null,
      "handle": "chneukirchen",
      "id": 31711,
      "profile_url": "https://rubygems.org/profiles/chneukirchen",
      "role": "owner"
    },
    {
      "email": null,
      "handle": "raggi",
      "id": 264,
      "profile_url": "https://rubygems.org/profiles/raggi",
      "role": "owner"
    },
    {
      "email": null,
      "handle": "tenderlove",
      "id": 207,
      "profile_url": "https://rubygems.org/profiles/tenderlove",
      "role": "owner"
    }
  ],
  "rubygems_url": "https://rubygems.org/gems/rack"
}

List gem versions

List a gem's releases with the date each went out, how many times it was downloaded and which Ruby it needs. Versions order by RubyGems' own rules rather than as text, so 1.10.0 sits above 1.9.0 and a release above its own release candidates. Only indexed releases are listed, so a yanked one is absent. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.
Sort bysorttext
How to order the releases that come back.One of: newest (Newest release first), oldest (Oldest release first), downloads (Most downloaded first), number (Version number as text, A to Z). Default: newest.
Include prereleasesinclude_prereleasetrue/false
Turn off to leave out alphas, betas and release candidates, which is what a check for 'is there a new stable release?' wants. On by default.Default: true.
Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
distinct_version_countnumber
first_created_attext
gemtext
include_prereleasetrue/false
last_created_attext
latest_versiontext
platformslist
rubygems_urltext
sorttext
total_countnumber
truncatedtrue/false
versionslist
Example output
{
  "count": 2,
  "distinct_version_count": 181,
  "first_created_at": "2009-07-25T18:02:12.000Z",
  "gem": "rack",
  "include_prerelease": true,
  "last_created_at": "2026-08-13T06:57:35.545Z",
  "latest_version": "3.2.7",
  "platforms": [
    "ruby"
  ],
  "rubygems_url": "https://rubygems.org/gems/rack",
  "sort": "newest",
  "total_count": 181,
  "truncated": true,
  "versions": [
    {
      "authors": [
        "Leah Neukirchen"
      ],
      "built_at": "1980-01-02T00:00:00.000Z",
      "created_at": "2026-08-13T06:57:35.545Z",
      "downloads": 1234627,
      "licenses": [
        "MIT"
      ],
      "platform": "ruby",
      "prerelease": false,
      "ruby_version": ">= 2.4.0",
      "rubygems_url": "https://rubygems.org/gems/rack/versions/3.2.7",
      "rubygems_version": ">= 0",
      "sha256": "93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7",
      "summary": "A modular Ruby webserver interface.",
      "version": "3.2.7"
    },
    {
      "authors": [
        "Leah Neukirchen"
      ],
      "built_at": "1980-01-02T00:00:00.000Z",
      "created_at": "2026-04-01T06:36:49.542Z",
      "downloads": 29057527,
      "licenses": [
        "MIT"
      ],
      "platform": "ruby",
      "prerelease": false,
      "ruby_version": ">= 2.4.0",
      "rubygems_url": "https://rubygems.org/gems/rack/versions/3.2.6",
      "rubygems_version": ">= 0",
      "sha256": "5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2",
      "summary": "A modular Ruby webserver interface.",
      "version": "3.2.6"
    }
  ]
}

List new gems

List the fifty gems most recently published to RubyGems.org for the very first time. These are names that did not exist before, which is what a typosquat watch or a 'what is new in Ruby' digest wants. Use 'List updated gems' for new versions of gems that already existed. No API key required.

Inputs

Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
gemslist
total_countnumber
truncatedtrue/false
Example output
{
  "count": 2,
  "gems": [
    {
      "authors": [
        "Yudai Takada"
      ],
      "downloads": 5,
      "homepage_url": "https://github.com/ydah/ublk",
      "info": "A native Ruby binding for Linux ublk using io_uring and UBLK_F_USER_COPY.",
      "licenses": [
        "MIT"
      ],
      "name": "ublk",
      "platform": "ruby",
      "rubygems_url": "https://rubygems.org/gems/ublk",
      "source_code_url": "https://github.com/ydah/ublk",
      "version": "1.0.0",
      "version_created_at": "2026-08-23T23:21:26.233Z",
      "version_downloads": 5,
      "yanked": false
    },
    {
      "authors": [
        "Yudai Takada"
      ],
      "downloads": 34,
      "homepage_url": "https://github.com/ydah/fanotify",
      "info": "Monitor Linux filesystem events and respond safely to fanotify permission events.",
      "licenses": [
        "MIT"
      ],
      "name": "fanotify",
      "platform": "ruby",
      "rubygems_url": "https://rubygems.org/gems/fanotify",
      "source_code_url": "https://github.com/ydah/fanotify",
      "version": "1.0.0",
      "version_created_at": "2026-08-23T23:13:12.328Z",
      "version_downloads": 34,
      "yanked": false
    }
  ],
  "total_count": 50,
  "truncated": true
}

List releases in a timeframe

List every release published anywhere on RubyGems.org between two moments. Give it the moment your last run finished and only what has appeared since comes back, so a scheduled workflow sees each release exactly once. RubyGems answers at most seven days at a time. No API key required.

Inputs

Fromstartdate and timeRequired
The moment to start from. Releases published at or after this are included.
Toenddate and time
The moment to stop at. Leave blank for now. The window may not be longer than seven days, which the step checks before it asks.
Pagepagenumber
Which page of results to read. RubyGems serves 30 to a page. The answer says whether another page may follow, so a loop can raise this until it does not. Defaults to the first page.At least 1. Default: 1.
Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
endtext
has_more_pagestrue/false
pagenumber
releaseslist
starttext
total_countnumber
truncatedtrue/false
Example output
{
  "count": 2,
  "end": "2026-08-20T01:00:00Z",
  "has_more_pages": false,
  "page": 1,
  "releases": [
    {
      "authors": [
        "davafons"
      ],
      "created_at": "2026-08-20T00:50:05.638Z",
      "downloads": 15208,
      "licenses": [
        "Apache-2.0"
      ],
      "name": "kabosu",
      "platform": "ruby",
      "prerelease": false,
      "rubygems_url": "https://rubygems.org/gems/kabosu/versions/0.6.11.2",
      "source_code_url": null,
      "summary": "Ruby bindings for Sudachi Japanese morphological analyzer",
      "version": "0.6.11.2",
      "version_downloads": 350,
      "yanked": false
    },
    {
      "authors": [
        "davafons"
      ],
      "created_at": "2026-08-20T00:50:04.471Z",
      "downloads": 15208,
      "licenses": [
        "Apache-2.0"
      ],
      "name": "kabosu",
      "platform": "x86_64-linux",
      "prerelease": false,
      "rubygems_url": "https://rubygems.org/gems/kabosu/versions/0.6.11.2-x86_64-linux",
      "source_code_url": null,
      "summary": "Ruby bindings for Sudachi Japanese morphological analyzer",
      "version": "0.6.11.2",
      "version_downloads": 88,
      "yanked": false
    }
  ],
  "start": "2026-08-20T00:00:00Z",
  "total_count": 14,
  "truncated": true
}

List the files in a version

List every file packaged inside one release, each with its SHA-256. The check for 'did this release ship the file I expect, unchanged?'. RubyGems only records this for releases pushed since it started keeping file manifests, so a much older release reports that its contents are unavailable. No API key required.

Inputs

Gem namegemtextRequired
The gem to look up, spelled exactly as you would install it. Use 'Find gem names' first if you are not sure of the spelling.
VersionversiontextRequired
Which release to read. Fill in the gem first and this list loads, newest first, with the date each went out. Yanked releases are not listed, because RubyGems no longer serves them.
Platformplatformtext
Which build of this release to read. Leave blank for the default, which is the pure Ruby build for almost every gem. Fill in the gem and version first and this list loads.
Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
fileslist
gemtext
platformtext
rubygems_urltext
total_countnumber
truncatedtrue/false
versiontext
Example output
{
  "count": 3,
  "files": [
    {
      "path": "CHANGELOG.md",
      "sha256": "da7febaa4e597ef5bc12769755ee7aaf4d3729399a81580a9f4cf7aa3a6842b9"
    },
    {
      "path": "CONTRIBUTING.md",
      "sha256": "6fc19811c0de238fe8cb7c926ffcbaf2d491063b2280daa67c357234769ea07f"
    },
    {
      "path": "MIT-LICENSE",
      "sha256": "1b7ebcb5691b416620794892b6ff40473485770dbcc6c63bd33409d4cfd0cefc"
    }
  ],
  "gem": "rack",
  "platform": null,
  "rubygems_url": "https://rubygems.org/gems/rack/versions/3.2.7",
  "total_count": 54,
  "truncated": true,
  "version": "3.2.7"
}

List the most downloaded gems

List the fifty most downloaded gem versions on RubyGems.org, ranked, each with its size, licence and publish date. The picture of what the Ruby ecosystem actually runs on. No API key required.

Inputs

Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
gemslist
total_countnumber
truncatedtrue/false
Example output
{
  "count": 2,
  "gems": [
    {
      "created_at": "2022-11-25T16:46:38.780Z",
      "downloads": 658384993,
      "full_name": "jmespath-1.6.2",
      "is_latest": true,
      "licenses": [
        "Apache-2.0"
      ],
      "name": "jmespath",
      "platform": "ruby",
      "prerelease": false,
      "rank": 1,
      "rubygems_url": "https://rubygems.org/gems/jmespath/versions/1.6.2",
      "size": 20992,
      "size_readable": "20.5 KB",
      "version": "1.6.2"
    },
    {
      "created_at": "2020-07-10T04:55:35.160Z",
      "downloads": 551245321,
      "full_name": "multi_json-1.15.0",
      "is_latest": false,
      "licenses": [
        "MIT"
      ],
      "name": "multi_json",
      "platform": "ruby",
      "prerelease": false,
      "rank": 2,
      "rubygems_url": "https://rubygems.org/gems/multi_json/versions/1.15.0",
      "size": 22016,
      "size_readable": "21.5 KB",
      "version": "1.15.0"
    }
  ],
  "total_count": 50,
  "truncated": true
}

List updated gems

List the fifty most recent releases published anywhere on RubyGems.org, newest first. Use 'List releases in a timeframe' instead when a scheduled run needs to see every release exactly once rather than the latest fifty. No API key required.

Inputs

Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
releaseslist
total_countnumber
truncatedtrue/false
Example output
{
  "count": 2,
  "releases": [
    {
      "authors": [
        "Na'aman Hirschfeld"
      ],
      "created_at": "2026-08-23T23:29:58.979Z",
      "downloads": 121363,
      "licenses": [
        "MIT"
      ],
      "name": "tree_sitter_language_pack",
      "platform": "ruby",
      "prerelease": false,
      "rubygems_url": "https://rubygems.org/gems/tree_sitter_language_pack/versions/1.15.8",
      "source_code_url": null,
      "summary": "Pre-compiled tree-sitter grammars for 371 programming languages",
      "version": "1.15.8",
      "version_downloads": null,
      "yanked": false
    },
    {
      "authors": [
        "Na'aman Hirschfeld"
      ],
      "created_at": "2026-08-23T23:29:57.490Z",
      "downloads": 121363,
      "licenses": [
        "MIT"
      ],
      "name": "tree_sitter_language_pack",
      "platform": "x86_64-linux",
      "prerelease": false,
      "rubygems_url": "https://rubygems.org/gems/tree_sitter_language_pack/versions/1.15.8-x86_64-linux",
      "source_code_url": null,
      "summary": "Pre-compiled tree-sitter grammars for 371 programming languages",
      "version": "1.15.8",
      "version_downloads": null,
      "yanked": false
    }
  ],
  "total_count": 50,
  "truncated": true
}

Search gems

Search RubyGems.org exactly as its own search box does, across gem names and descriptions. Results come back 30 to a page with each gem's version, licence, author and download count, and the answer says whether another page follows. Use 'Find gem names' when you only need names. No API key required.

Inputs

Search textquerytextRequired
What to search for. Matches gem names and their descriptions, so a phrase describing the job works as well as a name.
Pagepagenumber
Which page of results to read. RubyGems serves 30 to a page. The answer says whether another page may follow, so a loop can raise this until it does not. Defaults to the first page.At least 1. Default: 1.
Limitlimitnumber
How many rows to return, from 1 to 500. The answer always says how many there were in total, so a limited list never reads as a complete one. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
gemslist
has_more_pagestrue/false
pagenumber
querytext
total_countnumber
truncatedtrue/false
Example output
{
  "count": 2,
  "gems": [
    {
      "authors": [
        "Johannes Opper"
      ],
      "downloads": 102376738,
      "homepage_url": "http://github.com/xijo/reverse_markdown",
      "info": "Map simple html back into markdown, e.g. if you want to import existing html data in your...",
      "licenses": [
        "WTFPL"
      ],
      "name": "reverse_markdown",
      "platform": "ruby",
      "rubygems_url": "https://rubygems.org/gems/reverse_markdown",
      "source_code_url": "https://github.com/xijo/reverse_markdown",
      "version": "3.0.2",
      "version_created_at": null,
      "version_downloads": 7440768,
      "yanked": null
    },
    {
      "authors": [
        "Gerald Bauer"
      ],
      "downloads": 312763,
      "homepage_url": "https://github.com/rubylibs/markdown",
      "info": "Markdown Engine Wrapper - Use Your Markdown Library of Choice",
      "licenses": [
        "Public Domain"
      ],
      "name": "markdown",
      "platform": "ruby",
      "rubygems_url": "https://rubygems.org/gems/markdown",
      "source_code_url": null,
      "version": "1.2.1",
      "version_created_at": null,
      "version_downloads": 23566,
      "yanked": null
    }
  ],
  "has_more_pages": true,
  "page": 1,
  "query": "markdown",
  "total_count": 30,
  "truncated": true
}

On this page