Hex.pm Package Scraper - Elixir Package Metadata & Downloads
Pricing
Pay per usage
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
Maintained by CommunityActor 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
| Field | Type | Required | Description |
|---|---|---|---|
packageNames | Array | Yes | List of Hex.pm package names to scrape (e.g., phoenix, ecto, absinthe). Leave empty to scrape all packages. |
maxItems | Number | No | Maximum packages to scrape (default: 100, 0 for unlimited). |
includeDetails | Boolean | No | Fetch additional details from individual package API endpoint (owners, security advisories). |
proxyConfiguration | Object | No | Proxy 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
maxItemsto 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
includeDetailsoption 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.