> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking RubyGems.org as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/rubygems > **Cloud region:** This page uses US Cloud hosts. For an EU Cloud project, use `https://eu.posthog.com` instead of `https://us.posthog.com` or `https://app.posthog.com` (app host for links). ## On this page - [Requirements](#requirements) - [Setup](#setup) - [Configuration](#configuration) - [Supported tables](#supported-tables) - [Sync method](#sync-method) - [Available tables](#available-tables) **Beta release** This source is currently in **beta**. It works end to end, but you may still hit rough edges. [Let us know](https://us.posthog.com/#panel=support%3Asupport%3Adata_warehouse%3A%3Atrue) if you do. ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_9608fcca70) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_dark_a92b0e022d) Let AI connect your sources for you Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog. `npx @posthog/wizard warehouse` ![PostHog Wizard hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png) ![](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)Let AI connect your sources for you The RubyGems.org connector syncs gem metadata and version history into PostHog. Use it to track download statistics, monitor releases, and join gem data with your product analytics. ## Requirements RubyGems.org's read APIs are public, so **no credentials or API keys are required**. You only need the names of the gems you want to track. ## Setup 1. Go to the [Data pipeline page](https://app.posthog.com/data-management/sources) and select the **Sources** tab. 2. Click **\+ New source** and select **RubyGems.org**. 3. In the **Gems** field, enter the gem names you want to track – one per line or comma-separated. For example: ``` rails rspec devise ``` You can add up to 500 gems per source. 4. Click **Next**, select the tables you want to sync, choose the sync frequency, and click **Import**. The data warehouse then starts syncing your RubyGems.org data. You can see details and progress in the [data pipeline sources tab](https://app.posthog.com/data-management/sources). ## Configuration | Option | Type | Required | | --- | --- | --- | | `Gems` | textarea | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `gems` | Current metadata and cumulative download count for each configured gem, from GET /api/v1/gems/{name}.json. | Full refresh | — | — | | `versions` | Every published version of each configured gem, including per-version download counts, from GET /api/v1/versions/{name}.json. | Full refresh | created\_at | — | ## Sync method All tables sync as **full refresh**. RubyGems.org's API has no server-side timestamp filter, so incremental sync is not supported. Each sync fetches the current metadata and full version history for every configured gem. | Table | Sync method | | --- | --- | | `gems` | Full refresh | | `versions` | Full refresh | ## Available tables ### gems Current metadata and cumulative download count for each configured gem, from `GET /api/v1/gems/{name}.json`. **Primary key:** `name` | Column | Description | | --- | --- | | `name` | Gem name as registered on RubyGems.org | | `downloads` | Total cumulative downloads across all versions and platforms | | `version` | Latest published version number | | `version_created_at` | Timestamp the latest version was published | | `version_downloads` | Cumulative downloads of the latest version | | `platform` | Platform of the latest version (e.g. `ruby`, `java`) | | `authors` | Comma-separated list of gem authors | | `info` | Gem description/summary text | | `licenses` | List of licenses declared by the gem | | `metadata` | Free-form metadata map from the gemspec (changelog, source URIs, etc.) | | `project_uri` | Canonical RubyGems.org page for the gem | | `gem_uri` | Direct download URL for the latest version's `.gem` file | | `homepage_uri` | Project homepage URL, if declared | | `source_code_uri` | Source code repository URL, if declared | | `changelog_uri` | Changelog URL, if declared | | `dependencies` | Runtime and development dependencies of the latest version | ### versions Every published version of each configured gem, including per-version download counts, from `GET /api/v1/versions/{name}.json`. **Primary key:** `gem_name`, `number`, `platform` (composite) | Column | Description | | --- | --- | | `gem_name` | Gem the version belongs to (injected by the connector) | | `number` | Version number (e.g. `1.2.3`) | | `platform` | Build platform this version was published for (e.g. `ruby`, `java`) | | `created_at` | Timestamp the version was published | | `downloads_count` | Cumulative downloads of this specific version | | `authors` | Comma-separated list of authors at this version | | `licenses` | List of licenses declared at this version | | `summary` | Short one-line summary of the gem at this version | | `prerelease` | Whether this version is a prerelease | | `sha` | SHA-256 checksum of this version's `.gem` file | #### Inbound IP addresses We use a set of IP addresses to access your instance. To ensure this connector works, add these IPs to your inbound security rules: | US | EU | | --- | --- | | 44.205.89.55 | 3.75.65.221 | | 52.4.194.122 | 18.197.246.42 | | 44.208.188.173 | 3.120.223.253 |