Hackage Haskell Package Scraper avatar

Hackage Haskell Package Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Hackage Haskell Package Scraper

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

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

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

FieldTypeDescription
modeselectsearchPackages or getByName
searchQuerystringKeyword to filter packages (for searchPackages mode)
packageNamesarrayExact package names to fetch (for getByName mode)
maxItemsintegerMax 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:

FieldDescription
packageNameHackage package name
versionLatest stable version
synopsisShort one-line description
descriptionFull package description (trimmed to 1000 chars)
authorPackage author(s)
maintainerCurrent maintainer with email
licenseLicense type (e.g. BSD-3-Clause, MIT)
homepageProject homepage URL
bugReportsIssue tracker URL
categoryHackage category tags
buildDependsBuild dependencies (list of package names)
deprecatedWhether this package is deprecated
hackageUrlHackage package page URL
sourceUrlSame as hackageUrl
recordTypeAlways "package"
scrapedAtISO 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.