Catalog/dev-pypi-package

Developer

PyPI package metadata + maintenance API

Normalize PyPI's sprawling JSON for a package into one clean schema — latest version, resolved license (from metadata or classifiers), runtime dependency list (extras excluded), supported Python versions, release count, age, days-since-last-release, yanked flags, and a maintenance read (active/stale/abandoned/yanked). Parallels dev-npm-package for Python. Answers 'metadata for this PyPI package', 'what license does requests use', 'is this Python package maintained', 'dependencies of this pip package', 'is this release yanked'.

Price$0.01per request
MethodPOST
Route/v1/dev/pypi-package
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache3600s public
devpypipythonpackagemetadatadependencieslicensemaintenance
API URLhttps://x402.hexl.dev/v1/dev/pypi-package
Integration docs
Example request
{
  "package": "requests"
}
Example response
{
  "name": "requests",
  "version": "2.31.0",
  "summary": "Python HTTP for Humans.",
  "license": "Apache 2.0",
  "homepage": "https://requests.readthedocs.io",
  "repositoryUrl": "https://github.com/psf/requests",
  "requiresPython": ">=3.7",
  "pythonVersions": [
    "3.7",
    "3.8",
    "3.9",
    "3.10",
    "3.11"
  ],
  "dependencyCount": 4,
  "dependencies": [
    "charset_normalizer (>=2,<4)",
    "idna (>=2.5,<4)",
    "urllib3 (>=1.21.1,<3)",
    "certifi (>=2017.4.17)"
  ],
  "releaseCount": 150,
  "firstPublishedAt": "2011-02-14T00:00:00Z",
  "latestPublishedAt": "2023-05-22T15:12:00Z",
  "ageDays": 5000,
  "daysSinceLastRelease": 380,
  "yanked": false,
  "yankedReason": null,
  "maintenance": "stale"
}
Input schema
{
  "type": "object",
  "required": [
    "package"
  ],
  "properties": {
    "package": {
      "type": "string",
      "examples": [
        "requests"
      ]
    },
    "version": {
      "type": "string",
      "examples": [
        "2.31.0"
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}