Puppet Forge Modules Scraper avatar

Puppet Forge Modules Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Puppet Forge Modules Scraper

Puppet Forge Modules Scraper

Search Puppet Forge modules by keyword, view module details, or list release histories. Extract metadata into structured datasets.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

B2B Lead Generation

B2B Lead Generation

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Categories

Security

Limited permissions

Share

Puppet Forge Modules Scraper: Puppet modules search

Puppet Forge Modules Scraper collects Puppet module records and version histories. You can search by keyword, inspect specific modules using owner-name slugs, or retrieve complete release lists. All scraped results land in a clean Apify dataset ready to export as JSON, CSV, or Excel.

Use cases

  • Module search: Find modules matching keywords like nginx or apache, sorted by rank, downloads, or recent activity.
  • Catalog audit: Keep structured records of module slugs, overall download counts, endorsements, maintainers, and current release details.
  • Release history: Track version numbers, file hashes, and individual download stats for specific modules over time.
  • Scheduled exports: Run automated extraction workflows on a schedule to deliver updated datasets directly to CSV or Excel.
  • Deprecation watch: Monitor module lifecycle status and track replacements or deprecation dates automatically.

Modes

  • Search (search): Search for modules matching your keywords. You can sort by rank, overall downloads, or latest release, and standard pagination automatically handles additional pages.
  • Module detail (detail): Focus on specific modules using their slug. If a requested module is unavailable, it is recorded cleanly without interrupting the rest of your run.
  • List releases (releases): Retrieve full release histories for specified module slugs. Each release version is saved as an individual row in your dataset.

Input

ParameterTypeDefaultDescription
modestringsearchChoose search, module detail, or list releases.
searchQueriesarray["nginx"]Keywords for search mode.
moduleSlugsarray[]Slugs such as puppetlabs-apache. Used in detail and releases mode.
sortBystringrankSearch sorting options: rank, downloads, or latest_release.
maxItemsinteger100Target maximum rows to save.
requestDelaySecsnumber0.3Delay between requests in seconds to manage pacing.
timeoutSecsinteger300Overall run timeout in seconds.
requestTimeoutSecsinteger30Single request timeout in seconds.
proxyConfigurationobject{}Optional proxy settings if custom network routing is needed.

Example input

{
"mode": "search",
"searchQueries": ["nginx"],
"moduleSlugs": [],
"sortBy": "rank",
"maxItems": 100,
"requestDelaySecs": 0.3,
"timeoutSecs": 300,
"requestTimeoutSecs": 30
}

For module detail or release lists, supply your target slugs:

{
"mode": "detail",
"moduleSlugs": ["puppetlabs-apache"],
"maxItems": 100,
"requestDelaySecs": 0.3,
"timeoutSecs": 300,
"requestTimeoutSecs": 30
}

What data does this actor extract?

A standard search result for a module like nginx extracts fields structured like this:

{
"slug": "puppet-nginx",
"name": "nginx",
"downloads": 48759335,
"created_at": "2016-09-02 02:48:40 -0700",
"updated_at": "2026-10-04 04:33:15 -0700",
"deprecated_at": null,
"supported": false,
"endorsement": "validated",
"module_group": "base",
"owner": {
"slug": "puppet",
"username": "puppet"
},
"premium": false,
"followers_count": 2,
"current_release": {
"slug": "puppet-nginx-8.3.1",
"version": "8.3.1"
},
"mode": "search",
"scraped_at": "2026-10-12T00:00:00+00:00"
}
FieldTypeDescription
slugstringUnique module or release slug.
namestringName of the module.
downloadsintegerTotal download count for the module or specific release.
created_atstringCreation timestamp.
updated_atstringLast updated timestamp.
deprecated_atstringDeprecation timestamp, if applicable.
endorsementstringStatus endorsement level (e.g., supported, validated).
ownerobjectDetails about the maintainer or owner account.
current_releaseobjectMetadata about the latest release version.
versionstringSpecific release version tag (releases mode).
file_sha256stringFile checksum for the release archive.
modestringMode used during extraction (search, detail, or releases).
scraped_atstringUTC timestamp recorded when the data was saved.
errorstringError message if a specific item failed to load.
inputstringThe requested query or slug associated with an error.
statusintegerStatus code returned during a failed item lookup.

FAQ

How fresh is the extracted data? Every row reflects the exact information available when your run executes. The scraped_at timestamp marks the precise time the record was stored.

What happens if a requested module slug doesn't exist? If a module slug cannot be found, the actor logs an error row containing the status and error details, then immediately continues processing the rest of your list.

How many records can I extract in a single run? You can set maxItems according to your needs. The actor will gather results page by page until it hits your item limit or runs out of results.

Can I export data to Excel or CSV? Yes. Once your run finishes, you can export your dataset directly from Apify as JSON, CSV, or Excel.

Trademark Notice

Puppet, Puppet Forge, and related names, logos, and trademarks belong to their respective owners. Their use here is strictly to identify the software ecosystem and data context, and does not imply any official endorsement, sponsorship, or affiliation.

Disclaimer

This Actor is an independent tool developed by B2B Lead Generation and is not affiliated with or endorsed by Puppet. All data processed by this tool comes from standard public web sources. Users are responsible for ensuring their usage complies with relevant terms, rate guidelines, and licensing requirements.

This Actor only collects publicly available data without bypassing any access controls or technical barriers. Scraping public data is widely recognized as legal, but how you store and handle that data remains your responsibility:

  • Personal data: If your extractions include personal details (such as developer names or contact info), privacy regulations like GDPR or CCPA may apply. Only process personal data with a valid business or legal justification.
  • Copyright: Always ensure you respect intellectual property rights when storing or displaying scraped module descriptions or codebase assets.
  • Usage policies: Be mindful of reasonable request pacing and standard data retention practices.
  • Legal advice: This guide provides general context, not legal advice. If you have questions about your specific implementation, consult a legal professional.

To learn more, read Apify's full guide: Is web scraping legal?