RubyGems Package Release Monitor avatar

RubyGems Package Release Monitor

Pricing

Pay per event

Go to Apify Store
RubyGems Package Release Monitor

RubyGems Package Release Monitor

💎 Monitor RubyGems releases, dependencies, licenses, downloads, and version changes across your Ruby package allowlist.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Monitor a RubyGems allowlist for package releases, dependencies, licenses, and download signals.

What does it do?

This Actor reads public RubyGems API data for the gem names you provide.

It returns one normalized package record per gem.

Use it to turn a Ruby dependency list into structured, repeatable monitoring data.

No RubyGems account, browser session, or proxy is required.

Who is it for?

Ruby engineering and platform teams

Run a scheduled allowlist check after deployments or dependency-update pull requests. The output gives your team a dated version, license, dependency, and download snapshot without opening each RubyGems page by hand.

Rails agencies and consultants

Submit the gem lists used by several client applications, then export only records where versionChanged is true. This creates a repeatable release-review queue and a clear audit trail for each client portfolio.

Security and software supply-chain teams

Use the dependency arrays and license fields as a lightweight registry signal alongside your SBOM workflow. A changed version or license can trigger a focused review before a package update reaches production.

Data and developer-experience teams

Land normalized RubyGems metadata in a warehouse or spreadsheet, join it to internal service ownership, and report release cadence or download movement across the approved package catalog.

Why use this monitor?

A manual registry check is easy to forget and difficult to audit.

Schedule this Actor to keep a machine-readable snapshot of your approved gems.

The optional snapshot mode flags a changed current version between runs.

Data returned

FieldDescription
nameRubyGems package name
currentVersionCurrent released version
releaseTimestampCurrent version release time
totalDownloadsAll-time gem downloads
versionDownloadsDownloads for the current version
licensesRegistry license labels
runtimeDependenciesRuntime dependency requirements
developmentDependenciesDevelopment dependency requirements
versionHistoryOptional recent version history

Quick start

  1. Add one or more gem names in Gem names.
  2. Leave snapshot comparison enabled for recurring monitoring.
  3. Run the Actor.
  4. Export the dataset to JSON, CSV, or your preferred destination.

Input: gem names

Provide RubyGems names, not GitHub repository URLs.

For example: rails, sidekiq, nokogiri, or devise.

Duplicate and blank names are removed before requests are made.

The default input intentionally uses a small list for a low-cost first run.

Input: version history

Enable Include version history to add recent releases to each package record.

Use Maximum versions per gem to bound this enrichment.

This is useful for release cadence reports and change reviews.

Input: snapshot comparison

Snapshot comparison stores each package's last observed current version in the Actor key-value store.

On later runs, versionChanged, previousVersion, firstSeenAt, and lastSeenAt describe the observed change.

Use the same Actor storage when scheduling monitoring runs.

Input: concurrency

The Actor defaults to three parallel requests.

RubyGems is a shared public service, so leave concurrency low for normal monitoring.

Increase it only for a large internal allowlist when your workflow needs faster completion.

Output: package records

Every successful record includes retrieval time and the exact RubyGems API source URL.

Homepage and source-code URLs are retained when the registry provides them.

Dependencies are structured arrays with a package name and requirement string.

Authors and licenses are normalized into arrays for exports and integrations.

Partial-result errors

One inaccessible or misspelled gem does not stop the rest of the run.

Instead, the dataset contains a record with name, sourceUrl, retrievedAt, and error.

Correct the failed name and rerun only that item if needed.

How much does it cost to monitor RubyGems packages?

The Actor charges one $0.005 start event plus one result event for every package record, including a typed error record for a misspelled or unavailable gem. Prices below use the configured event rates; your Apify plan credits and account billing rules determine what you ultimately pay.

Example runFREE tier estimateBRONZE tier estimate
2 packages$0.00506$0.00505
25 packages$0.00571$0.00562
100 packages$0.00784$0.00747

For a free-plan estimate, a 100-package monitoring run at the FREE event tier is about $0.00784 before any account-level credits. The live pricing panel is authoritative and shows the discounted SILVER, GOLD, PLATINUM, and DIAMOND tiers.

Schedule release checks

Create an Apify schedule with your stable gem allowlist input.

Daily or weekly schedules work well for dependency maintenance.

Send the dataset to a webhook, Google Sheets, or your own deployment dashboard.

Integrations

  • Send versionChanged: true records to Slack or Microsoft Teams.
  • Join dependency arrays with an internal software-bill-of-materials dataset.
  • Compare download changes with release timestamps in a warehouse.
  • Trigger a security review when a license label changes.

API usage: Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/rubygems-package-release-monitor').call({
gemNames: ['rails', 'sidekiq'], snapshotComparison: true,
});
console.log(run.defaultDatasetId);

API usage: Python

from apify_client import ApifyClient
client = ApifyClient(token='APIFY_TOKEN')
run = client.actor('automation-lab/rubygems-package-release-monitor').call(
run_input={'gemNames': ['rails', 'sidekiq'], 'snapshotComparison': True}
)
print(run['defaultDatasetId'])

API usage: cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~rubygems-package-release-monitor/runs?token=APIFY_TOKEN' \
-H 'content-type: application/json' \
-d '{"gemNames":["rails","sidekiq"],"snapshotComparison":true}'

MCP with Claude, Cursor, and VS Code

Connect the Actor-specific HTTP MCP endpoint so your client exposes only this monitor:

https://mcp.apify.com?tools=automation-lab/rubygems-package-release-monitor

Claude Code (HTTP)

$claude mcp add --transport http apify-rubygems https://mcp.apify.com?tools=automation-lab/rubygems-package-release-monitor

Restart Claude Code or reload its MCP tools after adding the server. Authenticate with your Apify account when the client asks for it.

Claude Desktop

Add this entry to the mcpServers object in Claude Desktop's MCP configuration, save it, and restart Claude Desktop:

{
"mcpServers": {
"apify-rubygems": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/rubygems-package-release-monitor"
}
}
}

Cursor or VS Code

In your MCP server configuration (for example Cursor MCP settings or VS Code's MCP configuration), add the same HTTP server definition and reload the editor window:

{
"servers": {
"apify-rubygems": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/rubygems-package-release-monitor"
}
}
}

Example prompts — try asking these after connecting:

  • “Monitor rails, sidekiq, and nokogiri; list any package whose current version changed.”
  • “Fetch the last 10 versions of devise and summarize its recent release cadence.”
  • “Check this RubyGems allowlist and flag records whose license or runtime dependencies need supply-chain review.”

Legality and responsible use

This Actor calls public RubyGems registry endpoints.

You are responsible for complying with RubyGems terms, your organization’s policies, and applicable law.

Use conservative concurrency and avoid unnecessary repeated requests.

Reliability notes

RubyGems may temporarily rate-limit or change API fields.

The Actor logs per-gem failures and continues with unaffected names.

Version history is optional so a standard monitoring run stays lightweight.

Tips

Use exact canonical gem names from your Gemfile.lock or software inventory.

Keep snapshots enabled when you care about release deltas.

Export nested dependencies as JSON when your downstream tool supports it.

Troubleshooting

Why is a record marked with an error? The gem may be misspelled, removed, or temporarily unavailable from RubyGems.

Why is versionChanged false on my first run? There is no prior snapshot yet; the first run establishes the baseline.

Why is version history empty? Disable and re-enable the option only after confirming the package has released versions in RubyGems.

FAQ

Does this install or execute gems? No. It only retrieves public registry metadata.

Does it require a RubyGems login? No. The normal API route is public.

Can I monitor hundreds of packages? Yes. Use a conservative concurrency setting and schedule the allowlist.

Use this Actor for RubyGems metadata and Ruby dependency teams; combine all three exports when your organization operates polyglot services.

Changelog

See .actor/CHANGELOG.md for user-facing release notes.

Support

Include the gem name, input options, and relevant log line when reporting a problem.

That lets us distinguish a package-specific registry response from an Actor issue.