Hex.pm Elixir & Erlang Package Registry Scraper avatar

Hex.pm Elixir & Erlang Package Registry Scraper

Pricing

from $25.50 / 1,000 results

Go to Apify Store
Hex.pm Elixir & Erlang Package Registry Scraper

Hex.pm Elixir & Erlang Package Registry Scraper

Browse and search the Hex.pm registry of Elixir and Erlang packages. Filter by search query, sort by recency, downloads, or alphabetical, and pull versions, dependencies, licenses, and download counts per package.

Pricing

from $25.50 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

ParseForge Banner

📦 Hex.pm Elixir & Erlang Package Registry Scraper

🚀 Export the Hex.pm package registry in seconds. Browse and search 14,000+ Elixir and Erlang packages with versions, dependencies, licenses, download counts, owners, and ready-to-paste dependency lines for mix.exs, rebar.config, and erlang.mk. No login, no API key, no manual scraping.

🕒 Last updated: 2026-05-15 · 📊 30 fields per record · 📦 14,000+ packages · 🧪 Elixir + Erlang ecosystems · 📈 Live download stats

The Hex.pm Elixir & Erlang Package Registry Scraper pulls the official Hex.pm package source and returns 30 fields per package, including name, description, latest version, full release history, license list, repository URL, all-time and recent download counts, dependency tree of the latest release, build tools, Elixir requirement, publisher, owners, and ready-to-paste dependency lines for the three major BEAM build systems. Hex.pm is the canonical package manager for Elixir and Erlang, used by every production team in the BEAM ecosystem since 2014.

The registry covers the full Elixir and Erlang ecosystem, from Phoenix and Ecto down to single-author utility libraries. This Actor exports the catalog as CSV, Excel, JSON, or XML, with sorting by recent downloads, total downloads, recently added, recently updated, or alphabetical. Optional per-package lookups enrich each record with maintainer details and the latest release dependency tree.

🎯 Target Audience💡 Primary Use Cases
BEAM developers, DevSecOps teams, supply-chain auditors, package-tracker maintainers, conference organizers, recruiters, analystsDependency discovery, license auditing, popularity analytics, security review, maintainer mapping, ecosystem reporting

📋 What the Hex Packages Scraper does

Five workflows in a single run:

  • 🔍 Search. Free-text package search across name and description.
  • 🏷️ Sort. Recent downloads, total downloads, recently added, recently updated, or alphabetical.
  • 📦 Bulk export. Pull tens of thousands of records with paged listing.
  • 👤 Owner enrichment. Optional per-package lookup that adds maintainer usernames and emails.
  • 🌲 Latest-release detail. Optional per-package lookup that adds checksum, dependency tree, build tools, Elixir requirement, and publisher.

Each record carries the latest version (and latest stable, when different), license list, repository URL, full release history with timestamps, all-time / recent / weekly / daily downloads, retirement flags, project links, and the exact dependency line you'd paste into mix.exs, rebar.config, or erlang.mk.

💡 Why it matters: the BEAM ecosystem ships fast, and dependency choices have outsized impact on uptime and security. Building your own catalog means handling pagination, version logic, and per-package follow-ups. This Actor delivers a clean, ready-to-query dataset on every run.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded Hex package dataset.


⚙️ Input

InputTypeDefaultBehavior
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.
searchstring""Free-text package search (name and description). Empty = browse the full registry.
sortenum"recent_downloads"Recent downloads, total downloads, recently added, recently updated, or alphabetical.
fetchOwnersbooleanfalseAdd per-package maintainer usernames and emails (one extra lookup per package).
fetchLatestReleasebooleantrueAdd latest-release dependency tree, checksum, build tools, Elixir requirement, publisher (one extra lookup per package).

Example: top 50 most-downloaded packages with full release detail.

{
"maxItems": 50,
"sort": "total_downloads",
"fetchLatestRelease": true,
"fetchOwners": false
}

Example: every package matching "phoenix" with maintainer enrichment.

{
"maxItems": 100,
"search": "phoenix",
"sort": "recent_downloads",
"fetchOwners": true,
"fetchLatestRelease": true
}

⚠️ Good to Know: enabling fetchOwners or fetchLatestRelease makes one extra lookup per package, so a 1,000-package run runs longer than a plain listing-only run. For large bulk exports, leave both off and re-enrich the rows you actually care about.


📊 Output

Each package record contains 30 fields. Download the dataset as CSV, Excel, JSON, or XML.

🧾 Schema

FieldTypeExample
📦 namestring"phoenix"
🔗 packageUrlstring"https://hex.pm/packages/phoenix"
🔗 docsUrlstring | null"https://hexdocs.pm/phoenix"
📝 descriptionstring | null"Productive. Reliable. Fast."
🏷️ latestVersionstring"1.7.18"
🏷️ latestStableVersionstring | null"1.7.18"
📜 licensesstring[]["MIT"]
🔗 repositorystring | null"https://github.com/phoenixframework/phoenix"
📅 insertedAtISO 8601"2014-04-18T22:11:30Z"
🕒 updatedAtISO 8601"2025-04-12T08:33:11Z"
📈 downloadsAllnumber41382391
📈 downloadsRecentnumber624512
📈 downloadsWeeknumber | null158234
📈 downloadsDaynumber | null22451
🔢 releaseCountnumber82
📦 releasesobject[][{"version":"1.7.18","hasDocs":true,"releasedAt":"2025-04-12T..."}]
🔗 linksobject{"GitHub":"https://github.com/...","Website":"https://www.phoenixframework.org"}
📦 mixDependencyLinestring | null"{:phoenix, \"~> 1.7.18\"}"
📦 rebarDependencyLinestring | null"{phoenix, \"1.7.18\"}"
📦 erlangMkDependencyLinestring | null"dep_phoenix = hex 1.7.18"
🚦 isRetiredbooleanfalse
📝 retirementsobject | null(only for retired packages)
🔐 latestChecksumstring | null"a48ac1...c9d2"
📈 latestDownloadsnumber | null158123
🏷️ elixirRequirementstring | null"~> 1.14"
🛠️ buildToolsstring[] | null["mix"]
👤 latestPublisherstring | null"chrismccord"
📦 dependenciesobject[][{"name":"plug","requirement":"~> 1.14","optional":false}]
👤 ownersobject[] | null[{"username":"chrismccord","email":"chris@..."}]
🕒 scrapedAtISO 8601"2026-05-15T00:00:00Z"
errorstring | undefined(only when a record fails)

📦 Sample records


✨ Why choose this Actor

Capability
📦30 fields per package. Full release history, license list, dependency tree, owners, and ready-to-paste dependency lines.
🛠️Three build systems supported. mix.exs, rebar.config, and erlang.mk snippets included whenever upstream provides them.
🔍Five sort modes + free-text search. Find what's new, what's hot, what's classic, alphabetically, or by name.
📈Live download stats. All-time, recent, weekly, and daily counts surface real adoption signal.
👤Optional owner enrichment. Add maintainer usernames and emails when you need a contact path.
🌲Optional dependency tree. Add latest-release dependencies, build tools, Elixir requirement, and checksum on demand.
🚫No authentication. Works on the public Hex.pm catalog. No login or token required.

📊 The Hex.pm registry is the operating record of the global Elixir and Erlang ecosystem, used by every production BEAM team since 2014.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ Hex Packages Scraper (this Actor)$5 free credit, then pay-per-use14,000+ packagesLive per runsearch, sort, owner / release enrichment⚡ 2 min
Manual Hex.pm browsingFreePer-pageManualNone🐢 Hours
Build your own clientFreeCustomManualManual⏳ Days
Static cached dumpsFreeSubsetStaleNone🕒 Variable

Pick this Actor when you want a clean, query-ready Hex catalog with optional owner and dependency enrichment, in seconds.


🚀 How to use

  1. 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the Hex.pm Elixir & Erlang Package Registry Scraper page on the Apify Store.
  3. 🎯 Set input. Pick a sort, optionally add a search term, decide whether to enrich with owners and release detail, and set maxItems.
  4. 🚀 Run it. Click Start and let the Actor collect your data.
  5. 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.


💼 Business use cases

🛡️ Supply-chain security and audit

  • Catalog every dependency of a chosen package
  • Flag retired or unmaintained packages
  • License inventory for compliance reviews
  • Maintainer contact mapping for vulnerability outreach

📊 Ecosystem analytics

  • Top-N reports by recent or all-time downloads
  • Track velocity of new package additions
  • License-mix dashboards across the registry
  • Build-tool adoption trends (mix vs rebar vs make)

🧑‍💻 Developer tooling

  • Autocomplete and search-engine ingestion
  • Dependency-line copy buttons in IDEs
  • "Suggest similar packages" features
  • Curated weekly newsletter automation

📰 Recruiter and conference outreach

  • Maintainer lists for sponsorship and talks
  • Identify top contributors by published packages
  • Surface emerging package authors
  • Build BEAM-community contact lists

🔌 Automating Hex Packages Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

  • 🟢 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI package.
  • 📚 See the Apify API documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval. Daily refreshes catch the new releases and recent-download shifts for ecosystem dashboards.


🌟 Beyond business use cases

Package-registry data powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Empirical software-engineering studies of the BEAM ecosystem
  • Reproducible dependency-graph analyses
  • Coursework on package management and semantic versioning
  • Long-term retirement and abandonment trend studies

🎨 Personal and creative

  • Personal "starred packages" curation
  • Hobbyist BEAM-community newsletters
  • Side-project package directories
  • Custom dashboards tracking favorite maintainers

🤝 Non-profit and civic

  • Open-source supply-chain transparency
  • BEAM-foundation health metrics reports
  • Volunteer-led vulnerability triage
  • Community discoverability tools

🧪 Experimentation

  • Train ML models on package adoption signals
  • Prototype recommendation systems
  • Build agent pipelines that audit a project's mix.exs
  • Validate ecosystem-visualization concepts

🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:


❓ Frequently Asked Questions

🧩 How does it work?

Pick a sort, optionally narrow with a search term, decide whether to enrich with owner and latest-release detail, and the Actor pulls one clean structured record per package, with all the metadata your downstream system needs.

🔍 Can I search by package name only?

Yes. The search field accepts free text and matches against package name and description. Empty means "browse the full registry sorted as requested."

🔁 How often is the registry refreshed?

Hex.pm publishes new versions continuously. Every Actor run pulls the current state, so download counts and version numbers reflect the latest catalog.

👤 How do I get maintainer emails?

Set fetchOwners: true. The Actor will run one extra lookup per package and add the owners field with username and email per maintainer (when the maintainer has chosen to make their email public).

🌲 What does latest-release detail add?

fetchLatestRelease (default true) makes one extra lookup per package and adds the latestChecksum, latestDownloads, elixirRequirement, buildTools, latestPublisher, and the dependencies array of the latest release.

⚡ How fast is a full-registry export?

A plain listing without enrichment runs at roughly 100 packages per page. Adding fetchOwners or fetchLatestRelease adds two lookups per package. For 14,000 packages with both enrichments, plan on a longer run; for ranking dashboards, leave them off.

📦 What about the dependency-line snippets?

When upstream provides them, the Actor returns ready-to-paste mixDependencyLine, rebarDependencyLine, and erlangMkDependencyLine strings. Paste directly into your build file with no transformation.

⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to refresh the catalog daily, weekly, or hourly and keep your downstream dashboard or notifier in sync.

Hex.pm publishes the registry openly. Always credit Hex.pm when you redistribute the data verbatim. Review per-package licenses (in the licenses field) before redistributing the actual package source.

💼 Can I use this data commercially?

Yes. The registry metadata is open. You are responsible for complying with the individual package licenses if you redistribute the package source itself.

💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and gives you access to scheduling, higher concurrency, and larger datasets.

🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.


🔌 Integrate with any app

Hex.pm Elixir & Erlang Package Registry Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get new-release notifications in your channels
  • n8n - Drop runs into self-hosted workflows
  • Pipedream - Trigger event-driven pipelines
  • Airbyte - Pipe Hex package data into your warehouse
  • GitHub - Trigger runs from commits and releases
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push retirement alerts into Slack the moment a dependency is flagged, or refresh the package directory on your dev-tooling site nightly.


💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.


🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.


⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Hex.pm, the Hex Foundation, the Erlang Ecosystem Foundation, or any package maintainer. All trademarks mentioned are the property of their respective owners. Only publicly available open registry metadata is collected.