$ man pypi-package-stats
/pypi-package-stats
PRICE / CALL
$0.003
USDC · base mainnet · scheme: exact
METHOD
POST
CLUSTER
webprobeCATEGORY
uncategorized
STATUS
● live
NAME
pypi-package-stats — pypi package stats / python package registry lookup / pip package metadata / pypistats downloads / python ecosystem metadata
SYNOPSIS
POST https://x402.agentutility.ai/pypi-package-stats
Content-Type: application/json
X-PAYMENT: <signed-transferWithAuthorization>
{ ... }↳ first call →
402 Payment Required. Sign USDCtransferWithAuthorization, retry with theX-PAYMENT header.DESCRIPTION
PyPI package stats / Python package registry lookup / pip package metadata / pypistats downloads / Python ecosystem metadata. Fetches the public PyPI JSON record for a Python package and returns summary, license, homepage, repository, documentation, issues URL, author, maintainer, classifiers, latest version, total version count, recent versions with publish timestamps and yanked flags, age in days, days_since_last_release. Also pulls last-day / last-week / last-month download counts from pypistats.org (Linehaul-derived). Lightweight companion to package-risk-pypi for cases where you just need the numbers, no risk synthesis. Public PyPI + pypistats APIs, no auth.
INPUT — request schema
| property | type | description | req? |
|---|---|---|---|
| package | string | PyPI package name. Case-insensitive; PEP 503 normalization applied internally. | required |
| recent_versions | number | How many most-recent versions to include. 1-20. Default 5. | optional |
OUTPUT — response shape
| field | type | description |
|---|---|---|
| package | string | Echo of the requested package name. |
| normalized_name | string | PEP 503-normalized name (lowercase, hyphenated). |
| name | string | Canonical package name from the PyPI registry document. |
| summary | string | Short package summary from the PyPI 'info' object. |
| license | string | License string from the PyPI info. null if unset. |
| homepage | string | Homepage URL from the PyPI info. null if unset. |
| repository | string | Repository URL from project_urls (Repository/Source/Source Code) or homepage. |
| documentation | string | Documentation URL from project_urls if present. |
| issues | string | Issue tracker URL from project_urls if present. |
| author | string | Author field from the PyPI info. |
| author_email | string | Author email from the PyPI info. |
| maintainer | string | Maintainer field from the PyPI info. |
| requires_python | string | Python version constraint from the package metadata. |
| keywords | array | Whitespace/comma-split keyword tags from the PyPI metadata. |
| classifiers | array | First 30 Trove classifiers ('Development Status :: 5 - Production/Stable', 'License :: OSI Approved :: MIT License', etc.). |
| latest_version | string | Current latest version per the PyPI registry. |
| total_versions | number | Count of versions that have a publish timestamp. |
| recent_versions | array | Most-recent N versions, each with version, published ISO timestamp, and yanked boolean. |
| first_published | string | ISO timestamp of the earliest version publish. |
| last_published | string | ISO timestamp of the most-recent version publish. |
| age_days | number | Days since the first publish. |
| days_since_last_release | number | Days since the most-recent publish — staleness signal. |
| downloads | object | Object with last_day, last_week, last_month integer download counts from pypistats.org. Individual fields may be null if pypistats returned an error for that window. |
| yanked | boolean | True if the latest version is marked yanked by the maintainer. |
EXAMPLES — two ways to call
EXAMPLE 1 · curl
curl -X POST https://x402.agentutility.ai/pypi-package-stats \
-H 'Content-Type: application/json' \
-d '{ }'first response =
402 Payment Required with payment requirements; sign + retry with X-PAYMENT.EXAMPLE 2 · mcp
# MCP packages on npm under # @agentutility/mcp-* (one per cluster) # # Catalog + install: # https://mcp.agentutility.ai # # Or call pypi-package-stats directly over HTTP — see above.
MCP server handles payment automatically — your coding agent just calls the tool by name.
METADATA
- tags
- web-probepypipythonpackage-statsdownloadsregistry
- methods
- POST
- cluster
- webprobe
- price
- $0.003 USDC per call
ADJACENT — other endpoints in webprobe
| endpoint | description | price |
|---|---|---|
| crates-io-stats | Crates.io package stats / Rust crate registry lookup / cargo package metadata / Rust ecosystem stats. | $0.003 |
| homoglyph-check | Homoglyph attack detector / Unicode lookalike scanner. | $0.003 |
| jwt-decode | JWT decoder / token inspector / debug tool. | $0.003 |
| npm-package-stats | npm package stats / npm registry lookup / npm downloads / package release history / lightweight package metadata. | $0.003 |
| url-metadata-extract | URL metadata extractor / OG tags / Open Graph parser / Twitter Card parser / meta tag extractor / link preview / page metadata / favicon… | $0.003 |
| arxiv-bibtex | arXiv to BibTeX / arxiv citation generator / paper bibtex / LaTeX citation builder / academic citation lookup. | $0.002 |
| github-readme | GitHub README fetch / repo readme / open-source-readme-as-markdown / package documentation puller. | $0.002 |
| keyword-suggest | Keyword autocomplete / search suggest / SEO keyword research / query expansion / autocomplete suggestions. | $0.002 |
SEE ALSO