fshy

Home / Storage

RubyGems.org

rubygems.orgRegistrystorage/rubygems-orgJSONcomparereport an errorprovider JSON

Free allowance
Per-gem size is exposed per version via the API; large gems (e.g. binaries) do get 413'd in practice.
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
institution?placeholder, not evidence; card unknown, phone unknown
Binding limit
noneno named constraint binds
Evidence
reported5 sources; a third party said so
Freshness
stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
Free tierPer-gem size is exposed per version via the API; large gems (e.g. binaries) do get 413'd in practice.
unit mixed; metered on unstated
Pricenone stated
Identityinstitution (inferred, not read) not published
EgressFree and unmetered, Cloudflare-fronted. Probe: GET https://rubygems.org/downloads/rails-7.0.0.gem -> 200, Server: cloudflare, Cache-Control: max-age=31536000, Access-Control-Allow-Origin: *, Accept-Ranges: bytes.
Per-object capnot stated
RetentionVersion strings and gem names are permanent.
Interfacerest rest
ToolingPOST /api/v1/gems with the .gem body (gem push); GET /downloads/<name>-<ver>.gem or /gems/<name>-<ver>.gem. First-class clients (gem push, bundler). Rate-limit config is public in the repo (rack_attack.rb: PUSH_LIMIT = 400 per 60 minutes).
Composes with400 pushes/hour is the most generous publish rate in the entire niche — 9,600 gems/day, i.e. ~2-9 TB/day if each gem were at a hypothetical 250 MB. If the undocumented size limit is anywhere near npm's, RubyGems becomes the highest-throughput package-registry store found. Confirm the size cap before relying on it.
ReliabilityThe unknown size cap is the risk — the one public 413 report (qtbindings) shows a hard limit exists and is enforced at the proxy, and it is not documented anywhere, so you discover it by probing. Rate limits are the best in class and clearly documented.
Parsed numbers
  • has-free-tier 1
Evidence 5
datesourcewhat it proved
2026-10-21guides.rubygems.org/rubygems-org-rate-limits/'POST /api/v1/gems has following two rate limits: 400 requests/1 hour; 300 requests/5 minutes and 600 requests/25 hours on failed requests'
2026-10-21rubygems.org/policies/acceptable-usefull policy page contains no storage quota or per-gem size limit
2026-10-21github.com/rubygems/rubygems.org/blob/master/config/initialiPUSH_LIMIT = 400, PUSH_LIMIT_PERIOD = 60.minutes (live source)
2026-10-21rubygems.org/downloads/rails-7.0.0.gemprobe: GET -> 200, Content-Length: 6656, Server: cloudflare, Cache-Control: max-age=31536000
2026-10-21www.mail-archive.com/rubygems-developers@rubyforge.org/msg05'Can't push new qtbindings release (413 error)' (confirms an undocumented size ceiling exists)
Unknown values 3
  • per object cap notes: the field may be stated in a source that was not read
  • per object cap stated: the field may be stated in a source that was not read
  • retention notes: the field may be stated in a source that was not read