RubyGems.org Registry API — Downloads

Downloads surface — Downloads. 2 operations. Lead operation: Get Downloads For A Gem Version. Self-contained Naftiko capability covering one RubyGems business surface.

RubyGems.org Registry API — Downloads is a Naftiko capability published by Ruby Programming Language and Popular API Gems, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 2 operations across the GET method rooted at /v1/downloads.

The capability includes 2 read-only operations. Lead operation: Get downloads for a gem version. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include RubyGems, Registry, and Downloads.

Run with Naftiko RubyGemsRegistryDownloads

What You Can Do

GET
Getversiondownloads — Get downloads for a gem version.
/v1/downloads/{gem-full-name}
GET
Gettotaldownloads — Get total RubyGems download count.
/v1/downloads

MCP Tools

get-version-downloads

Get downloads for a gem version.

read-only idempotent
get-total-downloads

Get total RubyGems download count.

read-only idempotent

Capability Spec

rubygems-registry-downloads.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "RubyGems.org Registry API — Downloads"
  description: >-
    Downloads surface — Downloads. 2 operations. Lead operation: Get Downloads For A Gem Version.
    Self-contained Naftiko capability covering one RubyGems business surface.
  tags:
    - RubyGems
    - Registry
    - Downloads
  created: "2026-05-23"
  modified: "2026-05-23"

binds:
  - namespace: env
    keys:
      RUBYGEMS_API_KEY: RUBYGEMS_API_KEY

capability:

  consumes:
    - type: http
      namespace: "rubygems-registry-downloads"
      baseUri: "https://rubygems.org"
      description: "RubyGems.org Registry — Downloads surface. Self-contained, no shared references."
      authentication:
        type: apikey
        key: Authorization
        value: "{{env.RUBYGEMS_API_KEY}}"
        placement: header
      resources:
        - name: "version-downloads"
          path: "/api/v1/downloads/{gem_full_name}.json"
          operations:
            - name: "getVersionDownloads"
              method: GET
              description: "Get downloads for a gem version."
              inputParameters:
                - name: "gem_full_name"
                  in: path
                  type: string
                  required: true
                  description: "Gem name with version, e.g. rails-8.1.3."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "total-downloads"
          path: "/api/v1/downloads.json"
          operations:
            - name: "getTotalDownloads"
              method: GET
              description: "Get total RubyGems download count."
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "rubygems-registry-downloads-rest"
      port: 8080
      description: "REST adapter for RubyGems.org Registry — Downloads."
      resources:
        - path: "/v1/downloads/{gem-full-name}"
          name: "version-downloads"
          description: "REST surface for downloads for a specific gem version."
          operations:
            - method: GET
              name: "getVersionDownloads"
              description: "Get downloads for a gem version."
              call: "rubygems-registry-downloads.getVersionDownloads"
              with:
                gem_full_name: "rest.gem_full_name"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/downloads"
          name: "total-downloads"
          description: "REST surface for total registry downloads."
          operations:
            - method: GET
              name: "getTotalDownloads"
              description: "Get total RubyGems download count."
              call: "rubygems-registry-downloads.getTotalDownloads"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "rubygems-registry-downloads-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for RubyGems.org Registry — Downloads."
      tools:
        - name: "get-version-downloads"
          description: "Get downloads for a gem version."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "rubygems-registry-downloads.getVersionDownloads"
          with:
            gem_full_name: "tools.gem_full_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "get-total-downloads"
          description: "Get total RubyGems download count."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "rubygems-registry-downloads.getTotalDownloads"
          with: {}
          outputParameters:
            - type: object
              mapping: "$."