Puppet Forge Scraper
Pricing
from $3.00 / 1,000 results
Puppet Forge Scraper
Scrape module metadata from Puppet Forge including versions, downloads, OS compatibility, dependencies, and more.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Scrape Puppet Forge — the official public registry of Puppet modules. Search the catalog by keyword, filter by endorsement level, or fetch modules directly by slug, and get the owner, current version, summary, license, declared dependencies, supported operating systems, download totals, and deprecation status. HTTP-only via the public forgeapi.puppet.com v3 API. No auth, no proxy.
What this actor does
- Two modes:
searchModules(keyword search or full-catalog browse) andgetBySlug(exact module lookups) - Endorsement filter: restrict to Puppet's
supported,partner, orapprovedtiers - Compatibility data: OS support flattened to readable strings like
Debian 11, plus the module's declared dependency list - Forgiving slugs:
puppetlabs/stdlibandpuppetlabs-stdlibare both accepted - Empty fields are omitted
Output per module
slug— Forge module slug (e.g.puppetlabs-stdlib)moduleName— module name without the owner prefixowner,ownerGravatar— publishing account and its avatar hashversion— current release versionsummary,description— module metadata as publishedlicense— SPDX license identifierdependencies— declared dependency module namesoperatingSystem— supported OS + release strings, e.g.RedHat 9,Ubuntu 22.04downloads— lifetime download countsupported— true when the module is Puppet-supporteddeprecated— true/falsedeprecatedBy— successor module slug, when the module was supersededforgeUrl,sourceUrl— module page on Puppet ForgehomepageUrl,issuesUrl— project homepage and issue trackerrecordType: "module",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | searchModules | searchModules / getBySlug |
searchQuery | string | nginx | Keyword to search for (mode=searchModules). Leave empty to browse the whole catalog |
moduleSlugs | array | ["puppet-nginx", "puppetlabs-stdlib", "puppetlabs-apache"] | Module slugs to fetch (mode=getBySlug) |
endorsement | string | – | supported / partner / approved, or empty for no filter (mode=searchModules) |
maxItems | int | 50 | Hard cap (1–500) |
Example: keyword search
{"mode": "searchModules","searchQuery": "nginx","maxItems": 25}
Example: only Puppet-supported modules
{"mode": "searchModules","searchQuery": "","endorsement": "supported","maxItems": 200}
Example: audit a known dependency set
{"mode": "getBySlug","moduleSlugs": ["puppetlabs-stdlib", "puppetlabs-apache", "puppet-nginx"]}
Example: approved modules for a platform
{"mode": "searchModules","searchQuery": "postgresql","endorsement": "approved","maxItems": 50}
Use cases
- Configuration management teams — inventory the Forge modules a Puppet estate depends on and spot deprecated ones
- Dependency hygiene — compare pinned versions against the current release and follow
deprecatedByupgrade paths - Platform compatibility checks — confirm a module supports the OS releases you actually run before adopting it
- Module selection — rank competing modules for the same service by downloads and endorsement tier
- License compliance — export the license of every module in use in a single run
- Ecosystem research — measure publishing activity and endorsement coverage across the registry
FAQ
What is Puppet Forge? The official public registry for Puppet modules — the equivalent of npm or PyPI for Puppet configuration code. See forge.puppet.com.
Is this affiliated with Puppet or Perforce? No. This is a third-party actor built on the public Forge v3 API.
Do I need an account or API key? No. The endpoints used are open and unauthenticated.
What do the endorsement levels mean? supported modules are maintained and supported by Puppet itself, partner modules come from Puppet technology partners, and approved modules are community modules that meet Puppet's quality bar. Everything else is unendorsed community content.
What slug format should I use? Either owner-module (puppetlabs-stdlib) or owner/module (puppetlabs/stdlib) — slashes are normalised automatically.
Why does a module list no operating systems? operatingSystem is built from the module's own metadata.json. Modules that don't declare OS support upstream simply have the field dropped rather than showing an empty list.
What does deprecated mean? The author has retired the module on Forge. When they nominate a replacement it appears as deprecatedBy, which is the module you should migrate to.
Are dependencies version-constrained? The field lists dependency module names. Version range constraints live in the module's own metadata on its Forge page.
How fresh is the data? Live — each run queries the Forge API directly, so download counts and current versions reflect the moment of the run.