Returns the full version history of a package from a single normalised schema that covers
Returns the full version history of a package from a single normalised schema that covers seven ecosystems. Versions are ordered by semantic version, not alphabetically and not in registry order, so 1.10.0 sorts after 1.9.0 — the mistake that quietly breaks naive comparisons. For each version you get the publication timestamp, whether it is the registry default, whether it is deprecated and the deprecation reason as the registry states it.
3000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-14
updated
Provider
paket.halowerk.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "3000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"include_prereleases": true,
"limit": 200,
"name": "express",
"system": "npm"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"include_prereleases": {
"default": true,
"description": "Whether pre-release versions appear in the list. They are counted either way.",
"type": "boolean"
},
"limit": {
"default": 200,
"description": "How many versions to return, newest first.",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"name": {
"description": "Package name. Maven uses groupId:artifactId, Go uses the module path.",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"system": {
"description": "The package ecosystem.",
"enum": [
"npm",
"pypi",
"maven",
"go",
"cargo",
"nuget",
"rubygems"
],
"type": "string"
}
},
"required": [
"system",
"name"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://paket.halowerk.com/v1/package-versions" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://paket.halowerk.com/v1/package-versions");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://paket.halowerk.com/v1/package-versions")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/15422.json, and this resource appears in /discovery/resources and /discovery/search.