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 tier | Per-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 |
|---|
| Price | none stated |
|---|
| Identity | institution (inferred, not read) not published |
|---|
| Egress | Free 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 cap | not stated |
|---|
| Retention | Version strings and gem names are permanent. |
|---|
| Interface | rest rest |
|---|
| Tooling | POST /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 with | 400 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. |
|---|
| Reliability | The 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 | |
|---|
Evidence 5
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