PyPI Package Release Monitor avatar

PyPI Package Release Monitor

Pricing

$1.00 / 1,000 results

Go to Apify Store
PyPI Package Release Monitor

PyPI Package Release Monitor

PyPI Package Release Monitor reads the official, public PyPI JSON API (https://pypi.org/pypi/<project>/json) for a list of Python packages you choose and returns one clean, structured dataset record per release.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

Snappy

Snappy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Categories

Security

Limited permissions

Share

PyPI Package Release Monitor – Python package release history export

Give it a list of PyPI package names and it returns the recent release history for each one. Use it as a PyPI API alternative when you want clean, flat rows instead of the raw JSON for every project.

You get one row per release. Each row has the version, the upload time (releasedAt), whether it is a prerelease or yanked, the file count, wheel and source distribution flags, the total size, requiresPython, the licence and whether it is the latest version.

Run it on a schedule with the Released after (ISO date) field set, and you get only the releases that are new since your cut-off.

Why this one

  • Official data source. It reads the public PyPI JSON API, so there is no login, API key or scraping of web pages.
  • Built for monitoring. Set a date and only newer releases come back, which suits scheduled checks.
  • Flags the things that matter. Each row shows isPrerelease, isYanked, yankedReason, hasWheel and hasSdist.
  • Handles messy names. Names follow PEP 503 normalisation, so Django and django count as one package and duplicates are removed.
  • Up to 100 packages per run. Check a whole dependency list in one go.
  • Pay per result. $1.00 per 1,000 results, with no start fee. Runs with no results cost nothing.

Quick start

{
"includePrereleases": false,
"includeYanked": true,
"maxReleasesPerPackage": 5,
"packages": ["requests", "numpy", "django"]
}

This returns the 5 newest stable releases for each of the three packages, 15 rows in total.

What you can use it for

WhoWhat for
Security and compliance teamsBuild a timeline of upstream releases as audit evidence and for patch reviews
DevOps and platform engineersCheck that a new version ships wheels and which Python versions it supports before upgrading
Engineering teamsWatch the libraries your product depends on and spot yanked releases
Developer relations and analystsCompare the release cadence of partner or competing open-source projects

How to use it

  1. Click Try for free.
  2. In PyPI package names, add the projects to watch, for example requests, numpy. You can add up to 100.
  3. Set Max releases per package (1 to 200, default 10). Releases are sorted newest first.
  4. Optionally set Released after (ISO date), for example 2024-01-01, to get only newer releases.
  5. Turn on Include prereleases if you want alpha, beta, release candidate and dev versions. It is off by default.
  6. Leave Include yanked releases on to see yanked versions flagged, or turn it off to hide them.
  7. Click Start.

To get alerts, put the run on a schedule and set Released after (ISO date) to a recent date.

What data you get

Each row is one release of one package. Example values come from requests.

FieldWhat it isExample
idStable ID, package name and versionrequests@2.34.2
urlPyPI page for the releasehttps://pypi.org/project/requests/2.34.2/
packageNamePackage namerequests
versionRelease version2.34.2
releasedAtEarliest file upload time2026-05-14T19:25:26.443Z
isPrereleaseWhether it is a prereleasefalse
isLatestWhether it is the current latest releasetrue
latestVersionLatest version of the package2.34.2
isYankedWhether the maintainer yanked itfalse
yankedReasonReason given for yankingnull
fileCountNumber of distribution files2
hasWheelWhether a wheel is publishedtrue
hasSdistWhether a source distribution is publishedtrue
totalSizeBytesTotal size of all files in bytes215931
requiresPythonDeclared Python constraint>=3.10
summaryShort package descriptionPython HTTP for Humans.
licenseLicence from package metadataApache-2.0
projectUrlPyPI project pagehttps://pypi.org/project/requests/
scrapedAtWhen the row was collected2026-10-27T00:56:46.597Z

Pricing

EventPrice
Result (each row written to the dataset)$0.001
RunCost
100 results$0.10
1,000 results$1.00
10,000 results$10.00

There is no start fee. In a test run on 27 Oct 2026, 3 packages with 5 releases each gave 15 results.

Good to know

  • Limits. Up to 100 packages per run and 200 releases per package.
  • Data source. The public PyPI JSON API. It makes anonymous requests for package metadata and never downloads package files.
  • Missing packages. Names that do not exist on PyPI are logged as warnings and skipped. They produce no rows, so you are not charged for them.
  • Release dates. releasedAt is the earliest upload time of the release's files. Releases with no files have no date and are listed last.
  • Prereleases. Detected from common PEP 440 markers such as a, b, rc, dev, alpha, beta and preview.
  • Metadata quality. Licence and summary come from the maintainers and may be empty or inconsistent. Author fields are not included.
  • Not affiliated. This tool isn't affiliated with or endorsed by PyPI or the Python Software Foundation.

Getting the data out

Download the results as Excel, CSV or JSON from the Output tab. Send them to Google Sheets, Slack, Zapier, Make or webhooks from the Integrations tab. Every run is also available through the Apify API, and you can schedule runs from Schedules.

Questions or problems

Open an issue on the Issues tab and include the run link. I reply within one business day.