Discover/Python API
live

Python APIpython.org

Access Python release metadata, download files, OS support lists, news, events, and site search via a structured REST API built on python.org data.

Endpoint health
verified 1d ago
get_latest_release
get_supported_os_list
get_active_release_versions
get_release_detail_page
search
13/13 passing latest checkself-healing
Endpoints
13
Updated
22d ago

What is the Python API?

This API exposes 13 endpoints covering the full breadth of python.org data: release versions, downloadable files, OS compatibility, news articles, upcoming events, and full-text site search. The get_all_releases endpoint returns every published Python release with fields like is_latest, pre_release, release_date, and resource_uri, while get_release_files_by_release gives you direct download URLs and MD5 checksums for any specific release.

Try it

No input parameters required.

api.parse.bot/scraper/196a6c49-f721-4a4b-a403-75f093a0672e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/196a6c49-f721-4a4b-a403-75f093a0672e/get_all_releases' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace python-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.python_org_api import PythonOrg, Release, OsSlug, SearchResult, ActiveVersion

client = PythonOrg()

# Get the latest stable Python release
latest = client.releases.latest()
print(latest.name, latest.release_date, latest.slug)

# List all active Python versions and their support status
for version in client.activeversions.list():
    print(version.version, version.maintenance_status, version.end_of_support)

# Get OS-specific releases for Windows
os_releases = client.osreleaselists.get(os_slug=OsSlug.WINDOWS)
for release in os_releases.stable_releases:
    print(release.name, release.date)
    for dl in release.downloads:
        print(dl.label, dl.url)

# Search python.org
for result in client.searchresults.search(query="asyncio"):
    print(result.title, result.url, result.snippet)

# Browse FTP directory listing
for entry in client.ftpentries.list(path="3.12.0/"):
    print(entry.name, entry.url)

# Get upcoming events
for event in client.events.list():
    print(event.name, event.location, event.date)
All endpoints · 13 totalmissing one? ·

Returns all Python releases from the python.org API. Each release includes version metadata, release dates, and resource URIs. The full list is returned in a single page and includes both Python 2.x and 3.x releases across all states (published, pre-release, etc.).

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "items": "array of release objects with name, slug, version, is_latest, pre_release, is_published, release_date, resource_uri"
  },
  "sample": {
    "data": {
      "items": [
        {
          "name": "Python 3.14.3",
          "slug": "python-3143",
          "version": 3,
          "is_latest": false,
          "pre_release": false,
          "is_published": true,
          "release_date": "2026-02-03T18:27:43Z",
          "resource_uri": "https://www.python.org/api/v2/downloads/release/1090/"
        }
      ]
    },
    "status": "success"
  }
}

About the Python API

Release and Version Data

The get_all_releases and get_release_by_id endpoints return structured release records with fields including name (e.g. Python 3.14.4), slug, version (integer major version), is_latest, pre_release, is_published, and an ISO 8601 release_date. get_release_by_id accepts a numeric ID such as '1090' or '146'. To get only the current stable release without filtering client-side, use get_latest_release, which returns the highest published, non-pre-release Python 3.x record.

get_active_release_versions returns the lifecycle table from the downloads page — each record includes version, maintenance_status, first_released, end_of_support, and a download_link. This is the right endpoint for answering questions like "is Python 3.9 still supported?"

Download Files and OS Coverage

get_all_release_files returns every downloadable artifact across all releases. Each file record carries url, name, md5_sum, filesize in bytes, and API URIs pointing to the parent release and os. To scope files to a single release, pass a numeric ID or full resource URI path to get_release_files_by_release. get_supported_os_list returns the OS taxonomy (name, slug, resource_uri) used by those file records.

get_releases_for_os accepts an os_slug of windows, macos, or source and returns separate stable_releases and pre_releases arrays, each containing release name, URL, date, and download links. get_release_detail_page accepts a version_slug like 'python-3120' or a dotted version string like '3.12.0' and returns per-file metadata including operating_system, file_size, md5_checksum, and download URLs. Note it returns input_not_found for older releases without detail pages. get_ftp_index exposes the raw FTP directory listing; pass an optional path like '3.12.0/' to drill into a subdirectory.

News, Events, and Search

get_news returns the latest items from the Python blog: title, url, date, and an optional summary. get_events returns upcoming community events with name, url, date (a date-range string), and optional location. search accepts a query string and returns matching pages with title, url, and an optional snippet. Not every query returns results — coverage depends on the site's own search index.

Reliability & maintenanceVerified

The Python API is a managed, monitored endpoint for python.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when python.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official python.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1d ago
Latest check
13/13 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a release monitor that alerts when is_latest changes or a new non-pre_release version appears
  • Generate a download page for your CI pipeline by fetching url and md5_sum for the target platform from get_release_files_by_release
  • Display Python version support status in documentation by reading maintenance_status and end_of_support from get_active_release_versions
  • Populate a changelog feed by pulling name and release_date from get_all_releases filtered to a given major version
  • Track upcoming Python conferences and meetups by polling get_events for new name and date records
  • Audit artifact availability across platforms by cross-referencing get_supported_os_list slugs against get_all_release_files OS URIs
  • Surface relevant python.org documentation links in a developer tool using the query parameter of search
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does python.org have an official developer API?+
Yes. Python.org exposes a public REST API at https://www.python.org/api/v2/ covering releases and download records. This Parse API wraps and extends that surface with additional endpoints for news, events, OS-specific downloads, the FTP index, and full-text search.
What does `get_active_release_versions` return compared to `get_all_releases`?+
get_all_releases returns every release record ever published — including old minor versions — with fields like is_published, pre_release, and a resource_uri. get_active_release_versions returns only the major-version lifecycle rows visible on the downloads page, with maintenance_status, first_released, and end_of_support fields that get_all_releases does not include.
Are Python 2.x release files available?+
The underlying data includes Python 2.x release records (the version field will be 2), and get_all_releases returns them. However, get_release_detail_page returns input_not_found for older releases that do not have a structured detail page. get_releases_for_os covers only releases listed on OS-specific downloads pages, which may not include legacy Python 2.x artifacts.
Does the API return PEP data or Python documentation pages?+
Not currently. The API covers releases, download files, OS support, news, events, and site search results. You can fork this API on Parse and add an endpoint to fetch and parse peps.python.org or docs.python.org content.
How fresh is the news and events data from `get_news` and `get_events`?+
get_news and get_events reflect what is currently published on python.org/blogs/ and python.org/events/ respectively. There is no date-range filter parameter; both endpoints return whatever is visible on those pages at request time. If you need historical news items or past events, the current endpoints do not support that — you can fork the API on Parse and revise the endpoint to paginate or archive older entries.
Page content last updated . Spec covers 13 endpoints from python.org.
Related APIs in Developer ToolsSee all →
prnewswire.com API
Access the latest press releases, earnings announcements, and news from PR Newswire across specific categories and organizations, with options to search by keywords or dates. Filter releases by industry, company newsrooms, and subscribe to RSS feeds for real-time updates on corporate news and financial disclosures.
justice.gov API
Search and retrieve official U.S. Department of Justice press releases. Find information on DOJ announcements, enforcement actions, settlements, and legal proceedings across all topic areas. Access full press release details including case summaries, entities involved, and filing dates.
download.com API
Search and discover software across CNET's download library, filter by platform and category, and access detailed product specs and download links. Find the latest releases and most popular downloads to quickly locate the software you need.
serebii.net API
Search for comprehensive Pokémon data including stats, abilities, and game information, and discover upcoming Pokémon events and Sleep game details all from one place. Find specific Pokémon by name or browse complete Pokédex information to plan your team and stay updated on the latest events.
burningman.org API
Access comprehensive Burning Man information including Black Rock City event schedules, ticketing details, themed activities, playa events, volunteering opportunities, and mutant vehicle listings. Search global Burning Man events, stay updated with news and stories, and find preparation resources all in one place.
globenewswire.com API
globenewswire.com API
devex.com API
Search and explore global development opportunities including tenders, grants, job postings, news, organizations, and events all in one place. Find funding details, discover career opportunities, and stay updated on international development initiatives through a single integrated platform.
github.com API
Look up GitHub repositories and users: search repositories, fetch repository metadata, releases, issues and issue threads, browse repository files/trees, and retrieve user profiles and starred repositories.