Hackage Haskell Package Scraper
Pricing
from $3.00 / 1,000 results
Hackage Haskell Package Scraper
Scrapes Haskell package metadata from Hackage (hackage.haskell.org). Search packages by query, or fetch specific packages by name.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(11)
Developer
Crawler Gang
Maintained by CommunityActor stats
11
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Haskell package metadata from Hackage (hackage.haskell.org) — the central package archive for the Haskell ecosystem. Extract package synopses, descriptions, authors, licenses, categories, build dependencies, and more. No API key required.
What does it do?
- Search packages by name or keyword — find all Haskell packages matching "parser", "aeson", "lens", etc.
- Fetch by name — retrieve full metadata for specific known packages including version history and cabal file details
Input
| Field | Type | Description |
|---|---|---|
mode | select | searchPackages or getByName |
searchQuery | string | Keyword to filter packages (for searchPackages mode) |
packageNames | array | Exact package names to fetch (for getByName mode) |
maxItems | integer | Max results (1–1000, default 50) |
Example inputs
Search for JSON-related packages:
{"mode": "searchPackages","searchQuery": "json","maxItems": 20}
Fetch specific packages:
{"mode": "getByName","packageNames": ["aeson", "parsec", "megaparsec", "text"],"maxItems": 10}
Output
Each record contains:
| Field | Description |
|---|---|
packageName | Hackage package name |
version | Latest stable version |
synopsis | Short one-line description |
description | Full package description (trimmed to 1000 chars) |
author | Package author(s) |
maintainer | Current maintainer with email |
license | License type (e.g. BSD-3-Clause, MIT) |
homepage | Project homepage URL |
bugReports | Issue tracker URL |
category | Hackage category tags |
buildDepends | Build dependencies (list of package names) |
deprecated | Whether this package is deprecated |
hackageUrl | Hackage package page URL |
sourceUrl | Same as hackageUrl |
recordType | Always "package" |
scrapedAt | ISO 8601 timestamp |
Example output record
{"packageName": "aeson","version": "2.2.3.0","synopsis": "Fast JSON parsing and encoding","description": "A JSON parsing and encoding library optimized for ease of use and high performance...","author": "Bryan O'Sullivan","maintainer": "Adam Bergmark <adam@bergmark.nl>","license": "BSD-3-Clause","homepage": "https://github.com/haskell/aeson","bugReports": "https://github.com/haskell/aeson/issues","category": "Text, Web, JSON","buildDepends": ["base", "bytestring", "containers", "text", "time"],"deprecated": false,"hackageUrl": "https://hackage.haskell.org/package/aeson","sourceUrl": "https://hackage.haskell.org/package/aeson","recordType": "package","scrapedAt": "2025-01-01T00:00:00+00:00"}
FAQs
Do I need an API key? No. Hackage provides a fully public REST API with no authentication required.
How are packages found?
The actor uses Hackage's /packages/search.json?terms=<query> endpoint to find relevant packages, then fetches each package's .cabal file for detailed metadata.
What is a cabal file?
A .cabal file is the Haskell package manifest — it contains all metadata about a Haskell package including dependencies, licensing, and description.
What does deprecated mean?
A package marked deprecated: true has been superseded by another package. The actor still scrapes its metadata but flags it clearly.
Can I search by category?
The searchQuery field matches against package names in search results. Use queries like "parser", "web", "database", "crypto" to find packages in those domains.
How many packages are on Hackage?
Hackage hosts over 15,000 Haskell packages. The searchPackages mode returns the most relevant matches for your query.