Puppet Forge Scraper avatar

Puppet Forge Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Puppet Forge Scraper

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

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

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) and getBySlug (exact module lookups)
  • Endorsement filter: restrict to Puppet's supported, partner, or approved tiers
  • Compatibility data: OS support flattened to readable strings like Debian 11, plus the module's declared dependency list
  • Forgiving slugs: puppetlabs/stdlib and puppetlabs-stdlib are both accepted
  • Empty fields are omitted

Output per module

  • slug — Forge module slug (e.g. puppetlabs-stdlib)
  • moduleName — module name without the owner prefix
  • owner, ownerGravatar — publishing account and its avatar hash
  • version — current release version
  • summary, description — module metadata as published
  • license — SPDX license identifier
  • dependencies — declared dependency module names
  • operatingSystem — supported OS + release strings, e.g. RedHat 9, Ubuntu 22.04
  • downloads — lifetime download count
  • supported — true when the module is Puppet-supported
  • deprecated — true/false
  • deprecatedBy — successor module slug, when the module was superseded
  • forgeUrl, sourceUrl — module page on Puppet Forge
  • homepageUrl, issuesUrl — project homepage and issue tracker
  • recordType: "module", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchModulessearchModules / getBySlug
searchQuerystringnginxKeyword to search for (mode=searchModules). Leave empty to browse the whole catalog
moduleSlugsarray["puppet-nginx", "puppetlabs-stdlib", "puppetlabs-apache"]Module slugs to fetch (mode=getBySlug)
endorsementstringsupported / partner / approved, or empty for no filter (mode=searchModules)
maxItemsint50Hard cap (1–500)
{
"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 deprecatedBy upgrade 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.