Hex.pm Scraper | Elixir and Erlang Packages avatar

Hex.pm Scraper | Elixir and Erlang Packages

Pricing

from $19.00 / 1,000 results

Go to Apify Store
Hex.pm Scraper | Elixir and Erlang Packages

Hex.pm Scraper | Elixir and Erlang Packages

Scrape Hex.pm package data including name, version history, downloads, dependencies, owners, repository links, licenses, and release dates. Track the Elixir and Erlang ecosystem, audit dependencies, or build BEAM developer intelligence and security tools for production projects.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

ParseForge Banner

📦 Hex.pm Package Scraper

🚀 Export Elixir and Erlang package data from Hex.pm in seconds. Search or browse the full Hex.pm registry by keyword or sort order, and pull download stats, versions, licenses, links, and timestamps. No API key, no login, no parser maintenance.

🕒 Last updated: 2026-05-21 · 📊 12 fields per record · 📦 20,000+ packages · 🌍 Global Elixir/Erlang ecosystem · ⚡ Public REST API

The Hex.pm Package Scraper exports structured metadata for every Elixir and Erlang package published to hex.pm - the package manager for the BEAM ecosystem. Each record captures 12 fields, including the package name, latest version, description, cumulative and recent download counts, licenses, external links, owner API endpoint, and ingestion timestamps.

Hex.pm is the primary distribution hub for Phoenix, Ecto, LiveView, and thousands of BEAM-compatible libraries. This Actor makes the entire catalog queryable and exportable without you writing a single parser.

🎯 Target Audience💡 Primary Use Cases
Elixir/Erlang developers, open-source researchers, security teams, ecosystem analysts, developer-tool builders, data scientistsDependency auditing, popularity analysis, ecosystem research, vulnerability triage, trend tracking, OSS discovery

📋 What the Hex.pm Package Scraper does

Four workflows in a single run:

  • 📦 Full registry export. Every public package on Hex.pm sorted by your chosen field.
  • 🔍 Keyword search. Search for packages matching a term like phoenix, ecto, or json.
  • 📊 Popularity ranking. Sort by total downloads, recent activity, name, or newest first.
  • 🕒 Timestamped snapshots. Every record includes insertedAt, updatedAt, and scrapedAt for point-in-time tracking.

Each record includes the package name, direct Hex.pm URL, latest version, description, total and recent downloads, license list, external links object, owners API endpoint, and both Hex.pm timestamps.

💡 Why it matters: manually browsing Hex.pm is fine for finding one library - but auditing your company's full dependency surface, tracking ecosystem trends, or building a package-search tool requires bulk structured data. This Actor delivers that in under a minute, without touching the HTML.


🎬 Full Demo

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


⚙️ Input

InputTypeDefaultBehavior
searchQuerystring""Filter packages by keyword (e.g. phoenix, ecto). Leave empty to get all packages.
sortBystring"downloads"One of: downloads, recent, name, inserted_at.
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.

Example: top 100 most downloaded packages.

{
"maxItems": 100,
"sortBy": "downloads"
}

Example: search for JSON-related packages.

{
"maxItems": 50,
"searchQuery": "json",
"sortBy": "downloads"
}

⚠️ Good to Know: sortBy: "recent" ranks by downloads in the last 90 days, not by publication date. Use inserted_at to sort by newest packages first.


📊 Output

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

🧾 Schema

FieldTypeExample
📦 namestring"jason"
🔗 urlstring"https://hex.pm/packages/jason"
🏷️ latestVersionstring"1.5.0-alpha.2"
📝 descriptionstring"A blazing fast JSON parser and generator in pure Elixir."
⬇️ totalDownloadsnumber200060803
📈 recentDownloadsnumber4895062
📜 licensesarray["Apache-2.0"]
🔗 linksobject{"GitHub": "https://github.com/michalmuskala/jason"}
👥 ownersUrlstring"https://hex.pm/api/packages/jason/owners"
🗓️ insertedAtISO 8601"2017-12-22T09:32:40.615828Z"
🔄 updatedAtISO 8601"2026-05-05T14:34:54.953586Z"
🕒 scrapedAtISO 8601"2026-05-21T00:00:00.000Z"

📦 Sample records


✨ Why choose this Actor

Capability
📦Full registry access. 20,000+ packages across the Elixir and Erlang ecosystem in a single run.
🔍Keyword search. Filter by any term the Hex.pm API supports - library name, description content, or topic.
📊Download analytics. Both cumulative and 90-day recent downloads in every record.
🔖Rich metadata. Licenses, external links, owner endpoint, and both Hex.pm timestamps per package.
Fast. 10 packages in under 5 seconds, 10,000 records in under a minute.
🚫No authentication. Hex.pm's public API requires no key or login.
🔁Always live. Every run fetches real-time data - no cached snapshots.

📊 Knowing which packages are most downloaded - and whether that trend is rising or falling - tells you where the Elixir ecosystem is concentrating investment, which libraries are being replaced, and which are safe long-term dependencies.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ Hex.pm Package Scraper (this Actor)$5 free credit, then pay-per-use20,000+ packagesLive per runkeyword, sort order⚡ 2 min
Manual Hex.pm browsingFreeOne page at a timeManualUI only🐢 Hours
Hex.pm official CSV exportsFree, rareOccasional snapshotQuarterlyNone🕒 Variable
Custom API scriptFree (dev time)FullOn-demandCustom🏗️ Days

🚀 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 Package Scraper page on the Apify Store.
  3. 🎯 Set input. Optionally enter a search term, choose a sort order, and set maxItems.
  4. 🚀 Run it. Click Start and let the Actor collect your packages.
  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

🔒 Security and Dependency Auditing

  • Inventory which Hex packages your org depends on
  • Identify packages with no recent updates or stale versions
  • Cross-reference license lists for compliance review
  • Flag packages with unusual download spikes (possible compromise signal)

📊 Ecosystem and Market Research

  • Rank Elixir libraries by download velocity to spot momentum
  • Compare download trends across competing packages
  • Track when packages are first published vs. when they take off
  • Build ecosystem maps by category or license type

🛠️ Developer Tooling and Inner Source

  • Power package-search autocomplete in your internal developer portal
  • Seed a local mirror or cache with the most popular packages
  • Build a Slack bot that surfaces trending Hex packages weekly
  • Generate weekly digest emails of new packages in a domain

🤝 Open Source Discovery and Community

  • Discover new or underrated Elixir libraries before they trend
  • Find packages with permissive licenses for inclusion in OSS projects
  • Identify maintainers via the owners endpoint for collaboration
  • Track the release cadence of critical BEAM infrastructure packages

🔌 Automating Hex.pm Package 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. Run it weekly to track how package download rankings shift over time, or daily to catch new publications in a specific category.


🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Longitudinal studies on BEAM ecosystem adoption
  • Software engineering research on open-source health metrics
  • Reproducible package-registry analyses with versioned snapshots
  • Comparative studies across registries (npm, PyPI, Crates.io, Hex.pm)

🎨 Personal and creative

  • Personal dashboards tracking your favorite Elixir libraries
  • Side projects and portfolio demos on package analytics
  • Content research for Elixir bloggers and newsletter writers
  • Visualizations of BEAM ecosystem growth over time

🤝 Non-profit and civic

  • OSS health reports on critical infrastructure packages
  • Community transparency on which packages receive most attention
  • Contributions to open package-registry datasets
  • Investigative journalism on supply-chain risk in OSS ecosystems

🧪 Experimentation

  • Train recommendation models on package metadata
  • Validate hypotheses about language adoption rates
  • Prototype package-monitoring alerting pipelines
  • Test dashboard concepts using live registry data

🤖 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?

Set optional filters in the input form, click Start, and the Actor calls the public Hex.pm REST API, paginates through results, and emits one clean record per package. No browser automation, no captchas, no credentials.

📦 How many packages does Hex.pm have?

As of mid-2026, Hex.pm hosts over 20,000 packages. The Actor can retrieve all of them in a single paginated run.

🔁 How often is the data refreshed?

Every run fetches live data from the Hex.pm API. There is no caching - each run reflects the registry state at run time.

🔍 What search terms does the search filter support?

The searchQuery field is passed directly to the Hex.pm API search endpoint. It matches against package names and descriptions. Exact behavior follows the Hex.pm API specification.

📊 What is the difference between totalDownloads and recentDownloads?

totalDownloads is the all-time cumulative download count. recentDownloads reflects downloads over the past 90 days - useful for spotting momentum rather than legacy popularity.

⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor on any cron interval (daily, weekly, monthly) to track how rankings shift over time or to catch newly published packages.

Hex.pm publishes a fully public REST API with no terms prohibiting data collection for non-commercial or commercial research. Review the Hex.pm terms of service for your specific use case.

💼 Can I use this data commercially?

Yes. Package metadata is public and Hex.pm's API is open. You are responsible for complying with any downstream license terms of the packages you reference.

💳 Do I need a paid Apify plan?

No. The free plan is enough for testing (10 records per run). A paid plan removes the limit and enables scheduling, higher concurrency, and larger datasets.

🔗 Can I get owner details?

Each record includes an ownersUrl pointing to the Hex.pm API endpoint for that package's owners. You can query that URL directly to retrieve owner information.

🆘 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 Package Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get run notifications in your channels
  • Airbyte - Pipe 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 push fresh package data into your product backend when a run finishes, or to alert your team in Slack whenever a new package in your stack is updated.


💡 Pro Tip: browse the complete ParseForge collection for more registry and developer-tool 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, Dashbit, or Erlang Ecosystem Foundation. All trademarks mentioned are the property of their respective owners. Only publicly available data from the Hex.pm public REST API is collected.