RubyGems Package Release Monitor
Pricing
Pay per event
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
Maintained by CommunityActor 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
| Field | Description |
|---|---|
name | RubyGems package name |
currentVersion | Current released version |
releaseTimestamp | Current version release time |
totalDownloads | All-time gem downloads |
versionDownloads | Downloads for the current version |
licenses | Registry license labels |
runtimeDependencies | Runtime dependency requirements |
developmentDependencies | Development dependency requirements |
versionHistory | Optional recent version history |
Quick start
- Add one or more gem names in Gem names.
- Leave snapshot comparison enabled for recurring monitoring.
- Run the Actor.
- 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 run | FREE tier estimate | BRONZE 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: truerecords 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 ApifyClientclient = 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, andnokogiri; list any package whose current version changed.” - “Fetch the last 10 versions of
deviseand 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.
Related scrapers
- Packagist Composer Package Intelligence Monitor — monitor Composer packages for PHP application portfolios.
- Maven Central Artifact Dependency Monitor — monitor Java and JVM artifact releases and dependencies.
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.