ParseForge Scrapers

Hex.pm Packages Scraper

parseforge/hexpm-elixir-packages-scraper

BusinessDeveloper toolsAutomation

Scrapes Hex.pm packages by search query and returns each package as a flat row with name, version, downloads, and metadata.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
44
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Hex.pm Packages Scraper

Scrape Hex.pm packages by search query, up to a million per run. Every package comes with its name, version, downloads, and metadata. No login or API key. Export to CSV, JSON, Excel, or XML.

Hex.pm is the official package registry for Elixir and Erlang, but browsing it manually is slow and the API requires authentication. This Actor reads the public package list directly, filtered by search term, and returns each match in one fixed schema.

Who uses it What they scrape Hex.pm for
Elixir developers Which libraries are available for a given task
Erlang developers Which packages are actively maintained
Market researchers Which packages are trending in the Elixir ecosystem
DevOps engineers Which dependencies a project should pin

What it does

This Actor collects Hex.pm packages by search query and returns each one as a flat row.

  • ๐Ÿ” Search by keyword: find packages by name or description, like phoenix or ecto.
  • ๐Ÿ“ฆ Full package list: leave the search empty to browse every package on Hex.pm.
  • โš™๏ธ Flexible limits: collect from 1 to 1,000,000 packages per run.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Hex.pm data

๐Ÿ“ˆ Track package popularity.

A developer runs the Actor weekly with a search for 'phoenix' to see which related packages are gaining downloads and decide what to adopt.

๐Ÿ”Ž Audit dependencies.

A DevOps engineer scrapes all packages used by a project to check their latest versions and licenses before a release.

๐Ÿงช Research the ecosystem.

A market researcher collects the full package list to analyze which categories are growing and which are stagnant.

๐Ÿ“š Build a package index.

A startup scrapes Hex.pm daily to populate its own searchable database of Elixir libraries.

Why choose this scraper

What you get
No API key Scrape Hex.pm without registering an application or managing tokens.
One fixed schema Every package returns the same fields, so you can merge runs without cleaning.
Export anywhere Download as CSV, JSON, Excel, or XML, or push to Apify storage.

How it compares

This Actor focuses on search-driven scraping with a high item limit, while competitors offer different field sets or pricing models.

Feature ParseForge Hexpm Scraper Hex.pm Package Scraper Hex.pm Scraper - Elixir & Erlang Packages
Search by keyword Yes Not listed Yes Not listed
Fetch by package name Not listed Not listed Yes Not listed
Download statistics Yes Yes Yes Yes
Version history Not listed Yes Not listed Not listed
License information Not listed Not listed Yes Yes
Repository links Not listed Not listed Yes Not listed
Max items per run 1,000,000 Not listed Not listed Not listed

Configure the run

Drive the Actor with a search query, and set a maximum number of packages to collect. The search runs as each package is read, so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "searchQuery": "phoenix",
 "maxItems": 10
}

A larger pull:

{
 "searchQuery": "phoenix",
 "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

  1. Create a free Apify account with $5 in credit.
  2. Open the Hex.pm Packages Scraper.
  3. Set your inputs and any filters, then click Start.
  4. 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 Hex.pm 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/hexpm-elixir-packages-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 query. If it is too specific, try a broader term. Also ensure the maximum packages is set high enough.

Why is the run slow?

Hex.pm may rate-limit requests. Reduce the maximum packages or add a delay between requests if the platform allows.

Why are some fields empty?

Not all packages have every metadata field. Empty fields mean the data is not available on the public listing.

Can I scrape a specific package by name?

Yes. Enter the exact package name in the search query, and it will return that package if it exists.

FAQ

Question Answer
Do I need a Hex.pm API key? No. This Actor reads the public package list directly, so no authentication is required.
Can I scrape all packages on Hex.pm? Yes. Leave the search query empty and set a high maximum to collect the full list, up to one million packages per run.
What data does each package include? Each row includes the package name, latest version, download count, and other metadata available on the public listing.
How do I filter packages? Use the search query field to match package names or keywords. The filter is applied as packages are read, so only matches are returned.
Can I export the results? Yes. You can download the dataset as CSV, JSON, Excel, or XML, or access it via the Apify API.
Is there a limit on how many packages I can scrape? You can set the maximum packages per run from 1 to 1,000,000. The default is 10.
Does this work for Erlang packages too? Yes. Hex.pm hosts both Elixir and Erlang packages, and this Actor scrapes both.
Can I schedule this Actor to run automatically? Yes. Use Apify's scheduler to run it daily, weekly, or on any cron schedule.

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 Hex.pm. 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

FieldTypeWhat it doesDefault
searchQuery string Optional. Term to search Hex.pm packages for (for example phoenix, ecto, plug). Leave empty to browse the full package list. phoenix
maxItems integer How many packages to collect per run. 10

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice 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.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~hexpm-elixir-packages-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "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.

Related scrapers

Run Hex.pm Packages Scraper on Apify All scrapers