CPAN Module Metadata Scraper
Pricing
Pay per usage
CPAN Module Metadata Scraper
Extract metadata, dependencies, and reverse-dependency counts for Perl modules from CPAN via the MetaCPAN API.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Pierrick McD0nald
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
CPAN Module Metadata Scraper — Extract Perl Package Metadata, Dependencies & Reverse Dependencies
The CPAN Module Metadata Scraper extracts structured metadata for Perl distributions from the Comprehensive Perl Archive Network (CPAN) via the public MetaCPAN API. It is built for developers, security researchers, and DevOps teams who need to inventory Perl dependencies, track release history, or monitor the open-source Perl ecosystem.
This Actor accepts a list of CPAN distribution names (e.g., Moose, JSON, DBI, Dancer2) and returns a clean dataset with version, author, license, release date, dependency counts, reverse-dependency counts, and source links. You can also supply a search query to discover related distributions through MetaCPAN autocomplete before extraction.
Use Cases
- Dependency inventory — Audit all Perl modules used across your organization and export them to a spreadsheet or SIEM.
- Supply-chain monitoring — Track new releases, deprecation flags, and license changes for critical CPAN distributions.
- Competitive research — Compare reverse-dependency counts to identify the most widely used libraries in the Perl ecosystem.
- Security triage — Identify deprecated modules and outdated versions that may need upgrading or replacement.
- Dataset creation — Build a structured corpus of Perl package metadata for research, search, or internal tooling.
Input
| Field | Type | Required | Description |
|---|---|---|---|
moduleNames | Array | Yes | CPAN distribution names to scrape, e.g., ["Moose", "JSON", "DBI"] |
searchQuery | String | No | MetaCPAN autocomplete query used to discover additional distributions |
maxItems | Number | No | Maximum results to output (default: 100) |
includeReverseDependencies | Boolean | No | Fetch reverse-dependency counts for each distribution (default: true) |
proxyConfiguration | Object | No | Apify proxy configuration (recommended for production runs) |
Output
The Actor outputs a dataset with one row per CPAN distribution:
{"distribution": "Moose","moduleName": "Moose","version": "2.4000","author": "ETHER","abstract": "A postmodern object system for Perl 5","license": "perl_5","releaseDate": "2025-07-04T21:24:15","downloadUrl": "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Moose-2.4000.tar.gz","homepageUrl": "http://moose.perl.org/","repositoryUrl": "https://github.com/moose/Moose","bugtrackerUrl": "https://rt.cpan.org/Dist/Display.html?Name=Moose","dependencyCount": 42,"dependencyNames": "Carp, Class::Load, Data::OptList, ...","reverseDependencyCount": 3122,"deprecated": false,"maturity": "released","url": "https://metacpan.org/release/ETHER/Moose-2.4000"}
Pricing
Pay per event: $0.001 per module extracted. The Actor charges only after successfully extracting metadata, so you never pay for failed or empty requests.
Limitations
- The Actor relies on the public MetaCPAN API. Availability and rate limits are governed by MetaCPAN.
- Distribution names are treated as distribution names, not full module paths (e.g.,
Mooseworks,Moose::Roleshould be mapped to its parent distribution). - Very large dependency lists are truncated to a comma-separated string in the output.
- Reverse-dependency counts require an additional API call per distribution.
FAQ
Q: Do I need a CPAN or MetaCPAN account? A: No. The public MetaCPAN API does not require authentication.
Q: Can I scrape all CPAN distributions at once?
A: The Actor is designed for targeted lists or autocomplete queries. Use maxItems to cap output and respect API limits.
Q: Why are some fields empty?
A: CPAN maintainers provide metadata voluntarily. If a field such as homepageUrl or repositoryUrl is missing from the upstream release, the output will be blank.
Changelog
- v1.0.0 — Initial release: distribution metadata, dependency counts, reverse-dependency counts, and source links.