← clify home · catalogue

hackage-haskell API for agents (unofficial) — JSON over curl | clify

Hackage, the Haskell community's package archive: search packages, read package metadata, versions, dependencies, reverse dependencies, changelogs, documentation indexes, tags, categories, recent uploads, deprecated and candidate packages, and maintainer profiles.

Host: hackage.haskell.org. Call these verified read commands with plain curl; no install, key, or account. Use the public JSON API with plain curl. No install, key, account, or browser is needed. Example: curl 'https://clify-dev.netlify.app/sites.json'. Start with /search?q=weather, then call /abc/COMMAND. Responses are one JSON object. The hosted MCP and GitHub repo are also available.

Commands

search-packages

Search Hackage packages by keyword, with optional filter expressions in the query, sorting and pagination (50 results per page) Params: query*, sort, direction, page

curl 'https://clify-dev.netlify.app/hackage-haskell/search-packages'

get-package

Get a package's detail page: synopsis, description, latest version, modules and changelog link Params: package*

curl 'https://clify-dev.netlify.app/hackage-haskell/get-package'

get-package-versions

List all versions of a package with their status (normal or deprecated), as JSON Params: package*

curl 'https://clify-dev.netlify.app/hackage-haskell/get-package-versions'

get-preferred-versions

Get a package's preferred versions (normal-version list, plus deprecated versions if any), as JSON Params: package*

curl 'https://clify-dev.netlify.app/hackage-haskell/get-preferred-versions'

get-package-dependencies

List the dependencies and version constraints of a specific package version Params: package_version*

curl 'https://clify-dev.netlify.app/hackage-haskell/get-package-dependencies'

list-reverse-dependencies

List the packages that depend on a given package (reverse dependencies of its latest version) Params: package*

curl 'https://clify-dev.netlify.app/hackage-haskell/list-reverse-dependencies'

get-changelog

Get the changelog of a specific package version Params: package_version*

curl 'https://clify-dev.netlify.app/hackage-haskell/get-changelog'

get-docs-index

Get the Haddock identifier index (functions, types and their modules) for a package version, as JSON Params: package_version*

curl 'https://clify-dev.netlify.app/hackage-haskell/get-docs-index'

list-recent-uploads

List the 20 most recently uploaded package versions on Hackage, newest first, from the recent-uploads RSS feed. Each item has the package-version title, package link, upload date, and a description na Params: none

curl 'https://clify-dev.netlify.app/hackage-haskell/list-recent-uploads'

list-packages-by-tag

List all packages that have a given tag (e.g. parsing, json, network) Params: tag*

curl 'https://clify-dev.netlify.app/hackage-haskell/list-packages-by-tag'

list-categories

List all package categories with their package counts Params: none

curl 'https://clify-dev.netlify.app/hackage-haskell/list-categories'

list-deprecated-packages

List deprecated packages and the packages that replace them Params: none

curl 'https://clify-dev.netlify.app/hackage-haskell/list-deprecated-packages'

list-candidates

List candidate package versions (uploaded for review but not yet published) Params: none

curl 'https://clify-dev.netlify.app/hackage-haskell/list-candidates'

get-user

Get a Hackage user's profile: the package groups (maintainers, candidates) they belong to Params: username*

curl 'https://clify-dev.netlify.app/hackage-haskell/get-user'