Puppet Forge Modules Scraper
Pricing
from $2.99 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare
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
nginxorapache, 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
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | Choose search, module detail, or list releases. |
searchQueries | array | ["nginx"] | Keywords for search mode. |
moduleSlugs | array | [] | Slugs such as puppetlabs-apache. Used in detail and releases mode. |
sortBy | string | rank | Search sorting options: rank, downloads, or latest_release. |
maxItems | integer | 100 | Target maximum rows to save. |
requestDelaySecs | number | 0.3 | Delay between requests in seconds to manage pacing. |
timeoutSecs | integer | 300 | Overall run timeout in seconds. |
requestTimeoutSecs | integer | 30 | Single request timeout in seconds. |
proxyConfiguration | object | {} | 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"}
| Field | Type | Description |
|---|---|---|
slug | string | Unique module or release slug. |
name | string | Name of the module. |
downloads | integer | Total download count for the module or specific release. |
created_at | string | Creation timestamp. |
updated_at | string | Last updated timestamp. |
deprecated_at | string | Deprecation timestamp, if applicable. |
endorsement | string | Status endorsement level (e.g., supported, validated). |
owner | object | Details about the maintainer or owner account. |
current_release | object | Metadata about the latest release version. |
version | string | Specific release version tag (releases mode). |
file_sha256 | string | File checksum for the release archive. |
mode | string | Mode used during extraction (search, detail, or releases). |
scraped_at | string | UTC timestamp recorded when the data was saved. |
error | string | Error message if a specific item failed to load. |
input | string | The requested query or slug associated with an error. |
status | integer | Status 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.
Is web scraping legal?
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?