Hex.pm Package Scraper - Elixir Package Metadata & Downloads avatar

Hex.pm Package Scraper - Elixir Package Metadata & Downloads

Pricing

Pay per usage

Go to Apify Store
Hex.pm Package Scraper - Elixir Package Metadata & Downloads

Hex.pm Package Scraper - Elixir Package Metadata & Downloads

Extract package metadata from Hex.pm including versions, downloads, licenses, dependencies, and release history. Perfect for Elixir ecosystem research and dependency analysis.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Pierrick McD0nald

Pierrick McD0nald

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Hex.pm Package Scraper — Elixir Package Metadata & Downloads

Extract comprehensive metadata from Hex.pm, the official package manager for the Elixir programming language. This Actor fetches package names, descriptions, versions, download statistics, licenses, release history, dependency configurations, and source links. Perfect for Elixir ecosystem research, dependency analysis, package discovery, and market intelligence.

Use Cases

  • Elixir Ecosystem Research — Analyze the Hex.pm package landscape, identify trending packages, and study the growth of the Elixir and Phoenix framework communities.
  • Dependency Analysis — Collect dependency strings (mix.exs, rebar.config, erlang.mk) to understand how packages are consumed and to build dependency graphs.
  • Package Discovery — Build curated lists of Elixir packages by category, license, or popularity for research, teaching, or technology scouting.
  • Market Intelligence — Track download trends, release velocity, and package adoption to identify rising stars and mature libraries in the Elixir ecosystem.
  • Security Auditing — Identify packages with security advisories and review ownership information to assess supply chain risk.

Input

FieldTypeRequiredDescription
packageNamesArrayYesList of Hex.pm package names to scrape (e.g., phoenix, ecto, absinthe). Leave empty to scrape all packages.
maxItemsNumberNoMaximum packages to scrape (default: 100, 0 for unlimited).
includeDetailsBooleanNoFetch additional details from individual package API endpoint (owners, security advisories).
proxyConfigurationObjectNoProxy configuration. Apify proxy included by default.

Output

The Actor outputs a dataset with the following fields:

{
"name": "phoenix",
"description": "Productive. Reliable. Fast. A productive web framework that does not compromise speed or maintainability.",
"latestVersion": "1.7.21",
"latestStableVersion": "1.7.21",
"licenses": "MIT",
"downloadsAll": 28476532,
"downloadsRecent": 11429301,
"downloadsWeek": 28402,
"downloadsDay": 4021,
"repository": "hexpm",
"htmlUrl": "https://hex.pm/packages/phoenix",
"docsUrl": "https://phoenixframework.org/",
"releaseCount": 47,
"firstReleaseDate": "2014-08-01T00:00:00.000000Z",
"latestReleaseDate": "2026-06-15T00:00:00.000000Z",
"hasDocs": true,
"sourceLinks": "{\"GitHub\":\"https://github.com/phoenixframework/phoenix\",\"Website\":\"https://phoenixframework.org/\"}",
"owners": "chrismccord, josevalim",
"mixDep": "{:phoenix, \"~> 1.7\"}",
"rebarDep": "{phoenix, \"1.7.21\"}",
"erlangMkDep": "dep_phoenix = hex 1.7.21",
"insertedAt": "2014-08-01T00:00:00.000000Z",
"updatedAt": "2026-06-15T00:00:00.000000Z"
}

Pricing

Pay per event: $0.001 per package extracted.

Limitations

  • Scraping all Hex.pm packages may take significant time. Use maxItems to limit scope.
  • The Hex.pm API is public and rate-limited to approximately 100 requests per minute. The Actor respects this by using built-in retry logic.
  • Some packages may have missing fields (e.g., no source links, no owners) which will be returned as empty strings or zero values.
  • The includeDetails option requires one additional API call per package, which increases run time.

FAQ

Q: Can I scrape all Hex.pm packages at once? A: Yes. Leave packageNames empty and set maxItems to 0. This will fetch all packages. Consider using a higher compute tier for large runs.

Q: How do I find package names? A: Package names are the exact Hex.pm identifiers (e.g., phoenix, not phoenix framework). You can find them on hex.pm or by running the Actor with an empty packageNames list to discover them.

Q: What is the difference between includeDetails true and false? A: When includeDetails is true, the Actor visits each package's detail API endpoint to collect owners and other extended metadata. When false, it only uses the list endpoint data (faster but less data).

Changelog

  • v1.0.0 — Initial release. Scrape Hex.pm package metadata including versions, downloads, licenses, dependencies, and release history.