RubyGems Scraper | Ruby Package Registry and Stats avatar

RubyGems Scraper | Ruby Package Registry and Stats

Pricing

from $12.00 / 1,000 result items

Go to Apify Store
RubyGems Scraper | Ruby Package Registry and Stats

RubyGems Scraper | Ruby Package Registry and Stats

Scrape RubyGems package registry data including gem names, versions, downloads, authors, dependencies, runtime requirements, source code repositories, project URLs, and release dates. Extract metadata for monitoring, security audits, and developer ecosystem analysis

Pricing

from $12.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

💎 RubyGems Scraper

🚀 Export Ruby gem data in seconds. Search RubyGems.org by keyword and download structured gem records - downloads, licenses, authors, versions, and links - to CSV, JSON, Excel, or XML with zero code.

🕒 Last updated: 2026-07-14 · 📊 14 fields per record · Up to 1,000,000 gems · Global coverage

The RubyGems Scraper extracts structured gem data from RubyGems.org, the primary package registry for the Ruby programming language. All data is sourced in real-time from RubyGems' official public REST API - no login, no API key, no scraping HTML.

RubyGems.org hosts over 170,000 gems with billions of cumulative downloads. Whether you're tracking open-source Ruby ecosystem trends, evaluating gem adoption rates, or building a dependency analysis tool, this actor gives you structured access to the full gem catalog.

Coverage: Every searchable gem on RubyGems.org, across all categories - web frameworks, testing tools, authentication, data processing, DevOps utilities, and more. 14 structured fields per gem, including download counts, license types, author attribution, version metadata, and direct URLs.

Who uses thisWhat they do with it
Ruby developersCompare gem adoption, evaluate alternatives before choosing a dependency
Open source researchersTrack Ruby ecosystem growth, license distribution, author networks
Security teamsAudit gem licenses and sourcing for compliance or SBOM generation
Data engineersBuild gem catalogs, integrate with internal package review workflows
EducatorsAnalyze Ruby ecosystem trends for courses or articles
RecruitersIdentify prolific Ruby gem authors and open source contributors

📋 What the RubyGems Scraper does

  • Searches RubyGems.org by any keyword or gem name
  • Paginates automatically through all search results
  • Fetches gem detail data for complete field coverage
  • Respects your maxItems limit for cost-efficient targeted runs
  • Exports 14 structured fields per gem record
  • Returns data instantly in JSON, CSV, Excel, or XML

💡 Why it matters: RubyGems.org has no official bulk export. The search UI is paginated and not download-friendly. This actor gives you a clean dataset from the same public API powering the website - so you always get current data.

🎬 Full Demo

🚧 Coming soon

⚙️ Input

FieldTypeRequiredDefaultDescription
searchQuerystringYesrailsKeyword to search for gems (e.g. "rails", "rspec", "devise")
maxItemsintegerNo10Max gems to return. Free: capped at 10. Paid: up to 1,000,000

Example - Search for testing gems:

{
"searchQuery": "rspec",
"maxItems": 100
}

Example - Search for authentication gems:

{
"searchQuery": "devise",
"maxItems": 50
}

⚠️ Good to Know: Free plan users are automatically limited to 10 items. Upgrade here to unlock up to 1,000,000 gems per run.

📊 Output

FieldTypeDescription
💎 namestringGem name (e.g. "rails")
🏷 versionstringLatest published version
🔗 urlstringRubyGems.org gem page URL
📝 descriptionstringGem description
👤 authorsarrayList of gem authors
📥 downloadsintegerTotal all-time download count
📊 currentVersionDownloadsintegerDownloads for current version only
📜 licensesarrayLicense identifiers (e.g. ["MIT"])
💻 rubyVersionstringRequired Ruby version (if specified)
🏠 homepageUrlstringProject homepage URL
💻 sourceCodeUrlstringSource code repository URL
📅 createdAtstringVersion creation date (ISO 8601)
🔄 updatedAtstringVersion update date (ISO 8601)
🕒 scrapedAtstringTimestamp when record was scraped
errorstringError message if scraping failed

Sample records (from real run):

[
{
"name": "rails",
"version": "8.1.3",
"url": "https://rubygems.org/gems/rails",
"description": "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.",
"authors": ["David Heinemeier Hansson"],
"downloads": 745450904,
"currentVersionDownloads": 4364776,
"licenses": ["MIT"],
"rubyVersion": null,
"homepageUrl": "https://rubyonrails.org",
"sourceCodeUrl": "https://github.com/rails/rails/tree/v8.1.3",
"createdAt": "2026-03-24T20:27:42.098Z",
"updatedAt": "2026-03-24T20:27:42.098Z",
"scrapedAt": "2026-05-22T01:22:37.434Z"
},
{
"name": "rails-i18n",
"version": "8.1.0",
"url": "https://rubygems.org/gems/rails-i18n",
"description": "A set of common locale data and translations to internationalize and/or localize your Rails applications.",
"authors": ["Rails I18n Group"],
"downloads": 132054144,
"currentVersionDownloads": 2482556,
"licenses": ["MIT"],
"rubyVersion": null,
"homepageUrl": "https://github.com/svenfuchs/rails-i18n",
"sourceCodeUrl": null,
"createdAt": "2025-11-24T00:25:13.386Z",
"updatedAt": "2025-11-24T00:25:13.386Z",
"scrapedAt": "2026-05-22T01:22:37.434Z"
},
{
"name": "rails-html-sanitizer",
"version": "1.7.0",
"url": "https://rubygems.org/gems/rails-html-sanitizer",
"description": "HTML sanitization for Rails applications",
"authors": ["Rafael Mendonça França", "Kasper Timm Hansen", "Mike Dalessio"],
"downloads": 661672312,
"currentVersionDownloads": 12955117,
"licenses": ["MIT"],
"rubyVersion": null,
"homepageUrl": "https://github.com/rails/rails-html-sanitizer",
"sourceCodeUrl": "https://github.com/rails/rails-html-sanitizer/tree/v1.7.0",
"createdAt": "2026-02-24T18:46:02.899Z",
"updatedAt": "2026-02-24T18:46:02.899Z",
"scrapedAt": "2026-05-22T01:22:37.434Z"
}
]

✨ Why choose this Actor

FeatureDetails
🌐 Official API sourceData pulled from RubyGems' public REST API - same source as the website
⚡ Fast and lightweightNo browser automation - plain HTTP, sub-second per page
🔑 No auth requiredFully public API, no account or key needed
📊 Complete field coverage14 fields per gem including downloads, licenses, authors, and source links
🔢 Scalable paginationAutomatically paginate through any number of results
💰 Pay-per-result pricingOnly pay for items collected

📈 How it compares to alternatives

FeatureRubyGems ScraperManual API callsRubyGems UI
No-code access
Bulk export (CSV/JSON/Excel)Manual
Automatic paginationManual
Structured datasetDIY
Schedulable / automatableDIY
Integrations (Make, Zapier)

🚀 How to use

  1. Create a free Apify account w/ $5 credit
  2. Open the RubyGems Scraper actor page
  3. Enter your searchQuery (e.g. "rails", "rspec", "sidekiq")
  4. Set maxItems to control how many gems you want
  5. Click Run and wait a few seconds
  6. Download your dataset as CSV, JSON, Excel, or XML from the Storage tab

💼 Business use cases

Dependency research and security audits

Gather structured gem data for SBOM (Software Bill of Materials) generation, license compliance checks, or internal package approval workflows. Export all gems matching a keyword, filter by license type, and pipe results into your compliance tooling.

Ruby ecosystem analytics

Track download counts over time for popular gems, analyze author contribution networks, or measure adoption of specific tooling categories (testing, web, DevOps). Schedule runs weekly to build time-series trend datasets.

Developer tooling and marketplaces

Build internal gem discovery portals, comparison tools, or integration catalogs. The structured dataset is ready to load into any database or BI tool, with consistent field names and types.

Open source community intelligence

Identify prolific gem authors, find gems with high download-to-age ratios (momentum indicators), or analyze license distribution across the Ruby ecosystem for research or policy reports.

🔌 Automating RubyGems Scraper

Connect this actor to your workflows using Make, Zapier, or the Apify API:

  • Make (formerly Integromat): Trigger a run on schedule and send new gem records to Google Sheets, Airtable, or Slack
  • Zapier: Connect to 5,000+ apps - push gem data to Notion, send alerts for new matches, or log records to a CRM
  • Apify API: Call the actor programmatically from any language. Retrieve results via the dataset API endpoint
  • Webhooks: Get notified when a run completes and download results automatically

Example API call:

curl -X POST \
"https://api.apify.com/v2/acts/parseforge~rubygems-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQuery": "devise", "maxItems": 100}'

🌟 Beyond business use cases

Academic and research use

Analyze Ruby gem ecosystem evolution for software engineering research - compare license adoption trends, measure community growth rates, or study how gem versioning practices correlate with download success.

Creative and community projects

Build Ruby gem "hall of fame" pages, create download leaderboard visualizations, or generate weekly digest newsletters for the Ruby community highlighting trending gems by search keyword.

Non-profit and policy work

Study open source license distribution in the Ruby ecosystem for policy reports. Identify which licenses dominate high-download gems vs. niche tools. Support organizations that advise on open source governance.

Personal experimentation

Explore what gems exist for a specific domain - machine learning, game development, hardware interfacing. Build your own gem recommendation engine using download and author metadata.

🤖 Ask an AI assistant about this scraper

Not sure if this actor fits your use case? Try pasting this into ChatGPT, Claude, or Gemini:

"I want to scrape Ruby gem data from RubyGems.org - names, versions, downloads, licenses, and authors. The Apify actor 'parseforge/rubygems-scraper' uses the public RubyGems REST API and returns 14 fields per gem. Can you help me figure out how to use it for [your use case]?"

❓ Frequently Asked Questions

❓ Does this require an API key or account? No. RubyGems.org has a fully public REST API with no authentication required.

❓ How many gems can I get per run? Free users: up to 10 gems. Paid users: up to 1,000,000 gems per run.

❓ How fresh is the data? Data is fetched in real-time on every run directly from RubyGems.org's API. There is no cache.

❓ Can I search for multiple keywords in one run? Currently one keyword per run. For multiple keywords, run the actor multiple times or use the Apify scheduler.

❓ Why are some rubyVersion fields null? The RubyGems API only populates ruby_version when the gem explicitly declares a Ruby version requirement in its gemspec. Many gems leave this unset.

❓ Why are createdAt and updatedAt the same value? Both are mapped from the version_created_at field in the RubyGems gem detail API, which reflects when that specific version was published.

❓ Does it follow pagination automatically? Yes. The actor pages through results 30 at a time until your maxItems limit is reached or all results are exhausted.

❓ Can I use this to monitor a specific gem over time? Yes. Set searchQuery to the exact gem name and schedule the actor to run weekly. Compare download counts across runs to track growth.

❓ Is the data suitable for SBOM or license compliance tooling? Yes. The licenses field returns SPDX-style license identifiers (e.g. "MIT", "Apache-2.0") as an array, ready to ingest into license scanners.

❓ What happens if the API is unreachable? The actor logs the error and stops gracefully. If any items were collected before the error, they are still pushed to the dataset.

🔌 Integrate with any app

Export to: Google Sheets, Airtable, Excel, CSV, JSON, XML, PostgreSQL, MySQL, BigQuery, Snowflake, Redshift, MongoDB, Notion, Coda, Slack, Microsoft Teams, HubSpot, Salesforce, Pipedrive, Jira, Trello, Asana, ClickUp, Monday.com, Zapier, Make (Integromat), n8n, Power Automate, Retool, AppSmith

ActorDescription
Crates.io ScraperExport Rust crate data from crates.io - downloads, versions, authors, and documentation links
npm Registry ScraperSearch and export npm package metadata - weekly downloads, maintainers, dependencies, and license info
PyPI ScraperExtract Python package data from PyPI - classifiers, dependencies, author emails, and download stats

💡 Pro Tip: browse the complete ParseForge collection for scrapers covering 100+ public data sources across software, finance, real estate, and more.


Disclaimer: This actor accesses publicly available data from RubyGems.org via its official public REST API. It does not circumvent any access controls, authentication, or rate limits. Use responsibly and in accordance with RubyGems.org's Terms of Service.