LuaRocks Lua Modules Scraper
parseforge/luarocks-modules-scraper
Developer toolsAutomationOther
Scrapes LuaRocks for Lua modules by search term or from the full index. Returns each module as a flat row with optional detail fields like summary, latest version, and homepage.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 44
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
LuaRocks Lua Modules Scraper
Scrape Lua modules from LuaRocks by search term or browse the full index, up to a million per run. Every module comes with its name, author, latest version, summary, homepage, and download count. No API key. Export to CSV, JSON, Excel, or XML.
LuaRocks is the central package repository for Lua modules, but manually browsing pages for dependency research or ecosystem analysis is slow. This Actor reads the public module directory directly, searching by term or walking the full index, and returns each module in a consistent flat schema. You can optionally fetch each module's detail page to add its summary, latest version, and homepage.
| Who uses it | What they scrape LuaRocks for |
|---|---|
| Lua developers | Finding available libraries for a project dependency. |
| DevOps engineers | Auditing which Lua modules are published and their latest versions. |
| Security researchers | Cataloging LuaRocks modules to check for outdated or abandoned packages. |
| Market analysts | Tracking growth and trends in the Lua open-source ecosystem. |
What it does
This Actor collects LuaRocks modules by search term or from the full index and returns each one as a flat row with optional detail fields.
- ๐ Search by term: filter modules by a keyword like 'json', 'http', or 'sqlite'.
- ๐ Full index browse: leave the search term empty to walk the entire module listing.
- ๐ Detail fetch toggle: turn on to add summary, latest version, and homepage from each module's page, or off for a faster lightweight list.
- ๐ Flat row output: every module returns as one row, ready for CSV, JSON, Excel, or XML export.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with LuaRocks data
๐ฆ Find Lua dependencies.
A Lua developer searches for 'json' modules on LuaRocks to compare available libraries before adding one to their project.
๐ Track Lua ecosystem growth.
A market analyst scrapes the full LuaRocks index monthly to measure how many new modules are published and which categories are growing.
๐ Audit package freshness.
A security researcher collects all LuaRocks modules with detail pages to flag packages that have not been updated in years.
๐ Build a dependency catalog.
A DevOps engineer scrapes LuaRocks for every module's latest version and homepage to populate an internal approved-library registry.
Why choose this scraper
| What you get | |
|---|---|
| No API key needed | Reads the public LuaRocks pages directly with no registration. |
| Optional detail pages | Fetch summaries, versions, and homepages only when you need them. |
| Large scale | Collect up to a million modules in a single run. |
| Fixed schema | Every module lands in your dataset with the same predictable columns. |
How it compares
This Actor and the alternative LuaRocks Scraper both extract module data from the LuaRocks package repository. Here is how their listed capabilities compare.
| Feature | ParseForge | LuaRocks Scraper |
|---|---|---|
| Search by term | Yes | Yes |
| Browse full index without a search term | Yes | Not listed |
| Optional detail page fetch | Yes | Not listed |
| Download count in output | Yes | Yes |
| Configurable max items per run | Yes | Not listed |
Configure the run
Drive the Actor with a search term or leave it empty to browse all modules, and set a maximum item count to cap the run. The Input tab lists every parameter.
A first run with the defaults:
{
"searchTerm": "json",
"maxItems": 10
}
A larger pull:
{
"searchTerm": "json",
"maxItems": 200
}
Pricing
Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the LuaRocks Lua Modules Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to LuaRocks through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/luarocks-modules-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check your search term. If it is too specific or contains a typo, LuaRocks may return no matching modules. Try a broader term or leave the field empty to browse the full index.
The run is taking a long time.
Fetching detail pages for many modules adds one request per module. Disable fetchDetails for a faster run, or reduce maxItems to limit the scope.
Some modules are missing their summary or homepage.
These fields are only collected when fetchDetails is enabled. If it is on and fields are still missing, the module's detail page may not have that information filled in on LuaRocks.
The Actor stopped before reaching my maxItems limit.
The Actor stops when there are no more modules matching your search term or when it reaches the end of the index. Try a different search term or browse the full index without a term.
I see an error about a request failing.
LuaRocks may occasionally be slow or return an error. The Actor includes automatic retries. If errors persist, wait a few minutes and try again.
FAQ
| Question | Answer |
|---|---|
| Do I need a LuaRocks account or API key? | No. This Actor reads the public LuaRocks website pages directly. You do not need to register an account or obtain an API key. |
| Can I scrape all LuaRocks modules? | Yes. Leave the search term empty and set a high maxItems value to walk the full module index. The Actor will collect modules until it hits your limit or runs out of pages. |
| What does the fetchDetails option do? | When enabled, the Actor opens each module's individual page to extract the summary, latest version, and homepage URL. When disabled, it collects only the fields visible on the listing pages, which is faster. |
| How many modules can I collect in one run? | You can set maxItems up to 1,000,000. The actual number collected depends on how many modules match your search term or exist in the index. |
| What output formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML from the Apify platform. |
| Does this Actor handle pagination automatically? | Yes. It follows the LuaRocks listing pages automatically until it reaches your maxItems limit or there are no more pages. |
| Can I search for multiple terms at once? | The searchTerm input accepts a single string. To collect modules for multiple terms, run the Actor once per term or leave the term empty and filter the results afterward. |
| Is this Actor affiliated with LuaRocks? | No. This is an independent scraper that reads publicly available web pages from LuaRocks. It is not endorsed by or affiliated with the LuaRocks project. |
| What happens if a module page is temporarily unavailable? | The Actor will retry the request. If the page remains unavailable, that module may be skipped or returned with partial data depending on the error. |
| Can I run this on a schedule? | Yes. You can set up a recurring schedule in Apify to run the Actor daily, weekly, or at any custom interval to track changes over time. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by LuaRocks. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| searchTerm | string | Optional. Search LuaRocks for modules matching this text (for example json, http, sqlite). Leave empty to browse the full module index. | json |
| fetchDetails | boolean | When on, each module's page is opened to add summary, latest version, and homepage. Turn off for a faster, lighter list. | true |
| maxItems | integer | Maximum number of modules to collect per run. | 10 |
Pricing
from $19.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.019 to $0.021 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~luarocks-modules-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
