Metacpan Perl Modules Scraper
Pricing
from $2.99 / 1,000 results
Metacpan Perl Modules Scraper
Search MetaCPAN for Perl modules, latest releases, and PAUSE author profiles. Easily extract clean data and export results as JSON, CSV, or Excel 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
a day ago
Last modified
Categories
Share
MetaCPAN Perl Modules Scraper: Perl modules search
MetaCPAN Perl Modules Scraper searches for Perl modules, latest distribution releases, and PAUSE author profiles. Results land in an Apify dataset you can export as JSON, CSV, or Excel.
A run stops at your item cap, waits between requests, and writes an error row when one entry fails so the rest of the list finishes smoothly.
Use cases
- Perl module catalogs: search CPAN releases with a Lucene query and keep the rows organized in a spreadsheet.
- Dependency review: pull the latest Moose-style distribution record, license, and download link before an upgrade.
- Author watch: collect a PAUSE profile and direct page links quickly.
- Archive checks: export older backpan releases next to current latest rows.
- Scheduled exports: rerun the same query on a routine basis and drop the dataset into Sheets or a data warehouse.
- No-fuss research: grab Perl module metadata effortlessly.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | Release search, latest release, or author. |
query | string | name:Moose* | Lucene query used in release search. |
distributions | array | Moose | Distribution names for latest-release mode. |
authors | array | ETHER | PAUSE IDs for author mode. |
maxItems | integer | 100 | Stop after this many rows. Hard max 1000. |
requestDelaySecs | number | 1 | Pause between requests. |
userAgent | string | `` | Contact string sent on every request. |
timeoutSecs | integer | 300 | Whole-run time limit in seconds. |
requestTimeoutSecs | integer | 30 | Per-request time limit in seconds. |
proxyConfiguration | object | No proxy | Optional proxy settings. Default is {"useApifyProxy": false}. |
Example input
{"mode": "search","query": "name:Moose*","maxItems": 100,"requestDelaySecs": 1,"timeoutSecs": 300,"requestTimeoutSecs": 30,"proxyConfiguration": { "useApifyProxy": false }}
Latest release mode uses distributions such as ["Moose"]. Author mode uses authors such as ["ETHER"].
What data does this actor extract?
Each success row is one release, or one author record when that mode is selected.
{"name": "Moose-0.45","distribution": "Moose","version": "0.45","abstract": "A postmodern object system for Perl 5","author": "STEVAN","date": "2008-05-25T04:35:10","license": ["perl_5"],"status": "backpan","download_url": "[https://cpan.metacpan.org/authors/id/S/ST/STEVAN/Moose-0.45.tar.gz](https://cpan.metacpan.org/authors/id/S/ST/STEVAN/Moose-0.45.tar.gz)","url": "[https://metacpan.org/release/STEVAN/Moose-0.45](https://metacpan.org/release/STEVAN/Moose-0.45)","scraped_at": "2026-10-12T00:00:00+00:00","error": "","message": ""}
| Field | Type | Description |
|---|---|---|
name | string | Release name, or the person name on an author row. |
distribution | string | Distribution name. |
version | string | Version string. |
abstract | string | Short summary text. |
author | string | PAUSE ID. |
date | string | Release date, or author record update time. |
license | array | License identifiers such as perl_5. |
status | string | latest, cpan, or backpan on a release. HTTP status code on an error row. |
download_url | string | Archive package download link. |
url | string | Public release or author page. |
scraped_at | string | UTC timestamp when the row was saved. |
error | string | Failure description. Empty when successful. |
message | string | Detailed failure message for filtering. |
A missing distribution or PAUSE ID will not halt your run. The tool saves an error row containing url, status, and message, then smoothly continues with the remaining items. Duplicate release or author IDs inside a single run are automatically deduplicated.
How it works
- Reads your input settings, verifies the selected mode, and prepares the queue.
- Sends clean, properly identified web requests with custom user-agent headers.
- Pages through release results until reaching page limits, hit totals, or your specified
maxItems. - Maps records into dataset fields, skips duplicates, and saves rows in organized batches of 50.
- Logs error entries for broken links without breaking the entire run, providing clear summaries at completion.
FAQ
How many Perl modules can one run export?
maxItems defaults to 100 and holds a upper limit of 1000 per single run. You can raise the cap or schedule additional runs to grab remaining chunks of larger queries.
What happens if a distribution or PAUSE ID is wrong? If a target is not found, the actor records a clear error row with details and continues processing the rest of your list.
Can I export CSV? Yes, once your dataset finishes, you can export your findings directly as JSON, CSV, or Excel.
Does the actor use a proxy?
Not by default. proxyConfiguration is entirely optional and defaults to {"useApifyProxy": false}.
Trademark Notice
MetaCPAN Perl Modules and related names, logos, and trademarks belong to their respective owners. Their use in this documentation is solely to identify the data context and does not imply affiliation, sponsorship, endorsement, or partnership.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, sponsored by, or otherwise officially associated with MetaCPAN Perl Modules or its owners. All data is gathered from publicly accessible sources. Users are responsible for complying with terms of use, rate limits, and attribution requirements.
Is web scraping legal?
This Actor only collects publicly available data without bypassing access controls. Scraping public data is generally legal, but how you use it matters:
- Personal data: If results include personal data (such as names, emails, or profile details), laws such as GDPR in the EU and CCPA in California may apply. Only collect and store personal data when you have a legitimate business reason.
- Copyright: Certain content (articles, descriptions) may be protected by copyright. Do not republish full copyrighted materials without permission.
- Terms of use: Respect stated rate limits, community guidelines, and attribution requirements listed in the documentation.
- Legal advice: This general overview is provided for context, not formal legal advice. If you have specific compliance questions, consult legal counsel.
To learn more, check out Apify's guide: Is web scraping legal?