How to hit the PyPI API

PyPI's JSON API at https://pypi.org/pypi/<project>/json returns a package's metadata and its release files.

Authentication

None — no key, no signup. Every example runs as-is.

Full reference: https://docs.pypi.org/api/json/

Get a package

info has the metadata; urls lists the latest release's files.

curl https://pypi.org/pypi/requests/json
Run in PostTaco
Example response (trimmed)
{
  "info": {
    "author": null,
    "author_email": "Kenneth Reitz <[email protected]>",
    "bugtrack_url": null,
    "classifiers": [
      "Development Status :: 5 - Production/Stable",
      "Environment :: Web Environment"
    ],
    "description_content_type": "text/markdown",
    "docs_url": null,
    "download_url": null,
    "downloads": {
      "last_day": -1,
      "last_month": -1,
      "last_week": -1
    },
    "dynamic": [
      "License-File"
    ],
    "home_page": null,
    "keywords": null,
    "license": "Apache-2.0",
    "license_expression": null,
    "license_files": [
      "LICENSE",
      "NOTICE"
    ],
    "maintainer": null
  },
  "last_serial": 37059094,
  "ownership": {
    "organization": null,
    "roles": [
      {
        "role": "Owner",
        "user": "Lukasa"
      },
      {
        "role": "Owner",
        "user": "graffatcolmingov"
      }
    ]
  },
  "releases": {
    "0.0.1": [],
    "0.10.0": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "62350230421b8c4efad6624518028163329ad0c2df9e58e6b3bee013427bf8f6",
          "md5": "c90a48af18eb4170dbe4832c1104440c",
          "sha256": "210a82e678c45d433a4ad1f105974b3102a8ab5198872dc0a3238a8750d4c65e"
        },
        "downloads": -1,
        "filename": "requests-0.10.0.tar.gz",
        "has_sig": false,
        "md5_digest": "c90a48af18eb4170dbe4832c1104440c",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 62046,
        "upload_time": "2012-01-22T05:08:17",
        "upload_time_iso_8601": "2012-01-22T05:08:17.091441Z",
        "url": "https://files.pythonhosted.org/packages/62/35/0230421b8c4efad6624518028163329ad0c2df9e58e6b3bee013427bf8f6/requests-0.10.0.tar.gz",
        "yanked": false
      }
    ],
    "0.10.1": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "b456ba2d803383ec32d70f8faa7df5eb37ee9b3fc662ff68b7ab01ad9740b83a",
          "md5": "699147d2143bff95238befa58980b912",
          "sha256": "da6031575a30c7b65ea99465183468349b3645e6bf5322e49d53f565b27ed2b5"
        },
        "downloads": -1,
        "filename": "requests-0.10.1.tar.gz",
        "has_sig": false,
        "md5_digest": "699147d2143bff95238befa58980b912",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 63234,
        "upload_time": "2012-01-23T08:22:52",
        "upload_time_iso_8601": "2012-01-23T08:22:52.352375Z",
        "url": "https://files.pythonhosted.org/packages/b4/56/ba2d803383ec32d70f8faa7df5eb37ee9b3fc662ff68b7ab01ad9740b83a/requests-0.10.1.tar.gz",
        "yanked": false
      }
    ],
    "0.10.2": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "581e6b84552b6553f5beaf7cb0fe15115e7e4673326ed9188ad5338559ee8285",
          "md5": "47c3cf85a0112d423137b43989663bef",
          "sha256": "1546ef1e291ae337086369b621096fb0f69f88f6f67f60b1f6b7c18d1ca278e1"
        },
        "downloads": -1,
        "filename": "requests-0.10.2.tar.gz",
        "has_sig": false,
        "md5_digest": "47c3cf85a0112d423137b43989663bef",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 60158,
        "upload_time": "2012-02-15T09:48:52",
        "upload_time_iso_8601": "2012-02-15T09:48:52.830436Z",
        "url": "https://files.pythonhosted.org/packages/58/1e/6b84552b6553f5beaf7cb0fe15115e7e4673326ed9188ad5338559ee8285/requests-0.10.2.tar.gz",
        "yanked": false
      }
    ],
    "0.10.3": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "014439988315e036b79fe70428273053617266bf20d1363e91082346fae8450d",
          "md5": "a055af00593f4828c3becd0ccfab503f",
          "sha256": "8eeb24328304b015cbd59a49670e2738b77034b225b566729ddb19941899e490"
        },
        "downloads": -1,
        "filename": "requests-0.10.3.tar.gz",
        "has_sig": false,
        "md5_digest": "a055af00593f4828c3becd0ccfab503f",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 60493,
        "upload_time": "2012-02-20T20:10:57",
        "upload_time_iso_8601": "2012-02-20T20:10:57.584946Z",
        "url": "https://files.pythonhosted.org/packages/01/44/39988315e036b79fe70428273053617266bf20d1363e91082346fae8450d/requests-0.10.3.tar.gz",
        "yanked": false
      }
    ],
    "0.10.4": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "94ac5fa21e435ba8050d14db92ce29763c28196b727d4079dc608d39177fbf9b",
          "md5": "5e465e9e739bcc9f71935ca4e9706168",
          "sha256": "2ad4cc51d7595ca6f97373a0d697999e0cbdbbf1ba665d18f0f3dcec12b8be77"
        },
        "downloads": -1,
        "filename": "requests-0.10.4.tar.gz",
        "has_sig": false,
        "md5_digest": "5e465e9e739bcc9f71935ca4e9706168",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 60889,
        "upload_time": "2012-02-20T22:21:31",
        "upload_time_iso_8601": "2012-02-20T22:21:31.091713Z",
        "url": "https://files.pythonhosted.org/packages/94/ac/5fa21e435ba8050d14db92ce29763c28196b727d4079dc608d39177fbf9b/requests-0.10.4.tar.gz",
        "yanked": false
      }
    ],
    "0.10.6": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "b41f8f5430040fcf4391dc5bd324424a569e2e0d96595952b21eb82403602d98",
          "md5": "c889401445de3cbbac98509208a73b83",
          "sha256": "31134b4f35951730dcce59f2af334478b68caa5728902a1d6bd5e115ec677d8b"
        },
        "downloads": -1,
        "filename": "requests-0.10.6.tar.gz",
        "has_sig": false,
        "md5_digest": "c889401445de3cbbac98509208a73b83",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 61673,
        "upload_time": "2012-02-26T05:17:54",
        "upload_time_iso_8601": "2012-02-26T05:17:54.135905Z",
        "url": "https://files.pythonhosted.org/packages/b4/1f/8f5430040fcf4391dc5bd324424a569e2e0d96595952b21eb82403602d98/requests-0.10.6.tar.gz",
        "yanked": false
      }
    ],
    "0.10.7": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "c5cd0597f9c040db24ca6d23cc74faa102554cb0a93bdbffb855d7749547921f",
          "md5": "a3ac9d431981dcfd592fd0f35c499e4a",
          "sha256": "80f32a74bed8cf081a3a25512f8725e09ceda217101ea706efced262bb05aec6"
        },
        "downloads": -1,
        "filename": "requests-0.10.7.tar.gz",
        "has_sig": false,
        "md5_digest": "a3ac9d431981dcfd592fd0f35c499e4a",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 61826,
        "upload_time": "2012-03-08T01:50:58",
        "upload_time_iso_8601": "2012-03-08T01:50:58.069132Z",
        "url": "https://files.pythonhosted.org/packages/c5/cd/0597f9c040db24ca6d23cc74faa102554cb0a93bdbffb855d7749547921f/requests-0.10.7.tar.gz",
        "yanked": false
      }
    ],
    "0.10.8": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "9a054ab34c6aae63a01aef2fd8be3573a99c197cc76a67f8cee751cb3a7784fb",
          "md5": "0fc89a30eef76b2393cbc7ebace91750",
          "sha256": "bec280d924a8be87b3377ee78a976334a6e7c944a8fe09bbd9447e669b984dae"
        },
        "downloads": -1,
        "filename": "requests-0.10.8.tar.gz",
        "has_sig": false,
        "md5_digest": "0fc89a30eef76b2393cbc7ebace91750",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 62201,
        "upload_time": "2012-03-09T17:59:54",
        "upload_time_iso_8601": "2012-03-09T17:59:54.950126Z",
        "url": "https://files.pythonhosted.org/packages/9a/05/4ab34c6aae63a01aef2fd8be3573a99c197cc76a67f8cee751cb3a7784fb/requests-0.10.8.tar.gz",
        "yanked": false
      }
    ],
    "0.11.1": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "d7ee6826f31ae3e0e68606cb9086c3904582b3982bbccc73f34d6dc9912b48ad",
          "md5": "c903c32a0e1f04889e693da8e9c71872",
          "sha256": "fd4260541d0e559c78e2b3072bd79f36e0f8ef935bcbbadaa8c98cd8b5a62897"
        },
        "downloads": -1,
        "filename": "requests-0.11.1.tar.gz",
        "has_sig": false,
        "md5_digest": "c903c32a0e1f04889e693da8e9c71872",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 63100,
        "upload_time": "2012-03-31T05:47:56",
        "upload_time_iso_8601": "2012-03-31T05:47:56.690051Z",
        "url": "https://files.pythonhosted.org/packages/d7/ee/6826f31ae3e0e68606cb9086c3904582b3982bbccc73f34d6dc9912b48ad/requests-0.11.1.tar.gz",
        "yanked": false
      }
    ],
    "0.11.2": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "b652ad2911cf5586f2372a296a93a94d0324e4ffdd225975241562c450594795",
          "md5": "5acd23600c897bf1560dca18005b428c",
          "sha256": "547bf78a774a6018271d6e5c40613ec554642ba4d6cdf45813e7894145293c57"
        },
        "downloads": -1,
        "filename": "requests-0.11.2.tar.gz",
        "has_sig": false,
        "md5_digest": "5acd23600c897bf1560dca18005b428c",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 71080,
        "upload_time": "2012-04-23T04:29:36",
        "upload_time_iso_8601": "2012-04-23T04:29:36.868120Z",
        "url": "https://files.pythonhosted.org/packages/b6/52/ad2911cf5586f2372a296a93a94d0324e4ffdd225975241562c450594795/requests-0.11.2.tar.gz",
        "yanked": false
      }
    ],
    "0.12.0": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "3aac0372d6b7fbde19444d5cc560f296e70b26283d2bac0665b576dd3f5e6b60",
          "md5": "c38bacf4d6a065f3c47463e63efdfb5a",
          "sha256": "8a88a291599444be608940c227b6114212220d8126c512af821f1ab207fe5072"
        },
        "downloads": -1,
        "filename": "requests-0.12.0.tar.gz",
        "has_sig": false,
        "md5_digest": "c38bacf4d6a065f3c47463e63efdfb5a",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 76859,
        "upload_time": "2012-05-03T01:18:47",
        "upload_time_iso_8601": "2012-05-03T01:18:47.376345Z",
        "url": "https://files.pythonhosted.org/packages/3a/ac/0372d6b7fbde19444d5cc560f296e70b26283d2bac0665b576dd3f5e6b60/requests-0.12.0.tar.gz",
        "yanked": false
      }
    ],
    "0.12.01": [],
    "0.12.1": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "3a0a7c62c06702ddb4d3bc50d27f5b8e094d6e66a3374fc2eedf264742f84805",
          "md5": "fe9e0515d09733d0eb9e2031c03401b2",
          "sha256": "9ce56b87180c06728d96ca734055675abf8f5cc3136e0d7712a6260430685589"
        },
        "downloads": -1,
        "filename": "requests-0.12.1.tar.gz",
        "has_sig": false,
        "md5_digest": "fe9e0515d09733d0eb9e2031c03401b2",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 78245,
        "upload_time": "2012-05-08T07:21:59",
        "upload_time_iso_8601": "2012-05-08T07:21:59.920122Z",
        "url": "https://files.pythonhosted.org/packages/3a/0a/7c62c06702ddb4d3bc50d27f5b8e094d6e66a3374fc2eedf264742f84805/requests-0.12.1.tar.gz",
        "yanked": false
      }
    ],
    "0.13.0": [
      {
        "comment_text": "",
        "core-metadata": false,
        "digests": {
          "blake2b_256": "861b88d3753931419a226bb4e4c1d354cd2d40acff3482b37e30dd84ba8a243b",
          "md5": "7d41e51c273806456faab61370d5147e",
          "sha256": "03a2001843546147ddb6972d0661e2002b9be4ccbbbd2177ee10f05bd1910109"
        },
        "downloads": -1,
        "filename": "requests-0.13.0.tar.gz",
        "has_sig": false,
        "md5_digest": "7d41e51c273806456faab61370d5147e",
        "packagetype": "sdist",
        "python_version": "source",
        "requires_python": null,
        "size": 68172,
        "upload_time": "2012-05-30T02:54:18",
        "upload_time_iso_8601": "2012-05-30T02:54:18.564587Z",
        "url": "https://files.pythonhosted.org/packages/86/1b/88d3753931419a226bb4e4c1d354cd2d40acff3482b37e30dd84ba8a243b/requests-0.13.0.tar.gz",
        "yanked": false
      }
    ]
  },
  "urls": [
    {
      "comment_text": null,
      "core-metadata": {
        "sha256": "8c384ba3e979480faae2859d3c5e6c1276dd2c3616e322e124d52c8cfc556f27"
      },
      "digests": {
        "blake2b_256": "a0f4c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a",
        "md5": "cc4287951c320ff794e5e183c7a91f85",
        "sha256": "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0"
      },
      "downloads": -1,
      "filename": "requests-2.34.2-py3-none-any.whl",
      "has_sig": false,
      "md5_digest": "cc4287951c320ff794e5e183c7a91f85",
      "packagetype": "bdist_wheel",
      "python_version": "py3",
      "requires_python": ">=3.10",
      "size": 73075,
      "upload_time": "2026-05-14T19:25:26",
      "upload_time_iso_8601": "2026-05-14T19:25:26.443000Z",
      "url": "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl",
      "yanked": false
    },
    {
      "comment_text": null,
      "core-metadata": false,
      "digests": {
        "blake2b_256": "acc3e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf",
        "md5": "611e438d0803e962500225f9807a475e",
        "sha256": "f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed"
      },
      "downloads": -1,
      "filename": "requests-2.34.2.tar.gz",
      "has_sig": false,
      "md5_digest": "611e438d0803e962500225f9807a475e",
      "packagetype": "sdist",
      "python_version": "source",
      "requires_python": ">=3.10",
      "size": 142856,
      "upload_time": "2026-05-14T19:25:27",
      "upload_time_iso_8601": "2026-05-14T19:25:27.735762Z",
      "url": "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz",
      "yanked": false
    }
  ],
  "vulnerabilities": []
}

Get one version

curl https://pypi.org/pypi/requests/2.32.3/json
Run in PostTaco
Example response (trimmed)
{
  "info": {
    "author": "Kenneth Reitz",
    "author_email": "[email protected]",
    "bugtrack_url": null,
    "classifiers": [
      "Development Status :: 5 - Production/Stable",
      "Environment :: Web Environment"
    ],
    "description_content_type": "text/markdown",
    "docs_url": null,
    "download_url": null,
    "downloads": {
      "last_day": -1,
      "last_month": -1,
      "last_week": -1
    },
    "dynamic": null,
    "home_page": "https://requests.readthedocs.io",
    "keywords": null,
    "license": "Apache-2.0",
    "license_expression": null,
    "license_files": null,
    "maintainer": null
  },
  "last_serial": 37059094,
  "ownership": {
    "organization": null,
    "roles": [
      {
        "role": "Owner",
        "user": "Lukasa"
      },
      {
        "role": "Owner",
        "user": "graffatcolmingov"
      }
    ]
  },
  "urls": [
    {
      "comment_text": "",
      "core-metadata": {
        "sha256": "658ee8454c1e2e76fb8c2127116f61156b3b22941b3559c00389dca70038581a"
      },
      "digests": {
        "blake2b_256": "f99b335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54",
        "md5": "83d50f7980b330c48f3bfe86372adcca",
        "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"
      },
      "downloads": -1,
      "filename": "requests-2.32.3-py3-none-any.whl",
      "has_sig": false,
      "md5_digest": "83d50f7980b330c48f3bfe86372adcca",
      "packagetype": "bdist_wheel",
      "python_version": "py3",
      "requires_python": ">=3.8",
      "size": 64928,
      "upload_time": "2024-05-29T15:37:47",
      "upload_time_iso_8601": "2024-05-29T15:37:47.027275Z",
      "url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl",
      "yanked": false
    },
    {
      "comment_text": "",
      "core-metadata": false,
      "digests": {
        "blake2b_256": "63702bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913",
        "md5": "fa3ee5ac3f1b3f4368bd74ab530d3f0f",
        "sha256": "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"
      },
      "downloads": -1,
      "filename": "requests-2.32.3.tar.gz",
      "has_sig": false,
      "md5_digest": "fa3ee5ac3f1b3f4368bd74ab530d3f0f",
      "packagetype": "sdist",
      "python_version": "source",
      "requires_python": ">=3.8",
      "size": 131218,
      "upload_time": "2024-05-29T15:37:49",
      "upload_time_iso_8601": "2024-05-29T15:37:49.536140Z",
      "url": "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz",
      "yanked": false
    }
  ],
  "vulnerabilities": [
    {
      "aliases": [
        "CVE-2024-47081",
        "PYSEC-2026-1872"
      ],
      "fixed_in": [
        "2.32.4"
      ],
      "id": "GHSA-9hjg-9r4m-mvj7",
      "link": "https://osv.dev/vulnerability/GHSA-9hjg-9r4m-mvj7",
      "source": "osv",
      "summary": null,
      "withdrawn": null
    },
    {
      "aliases": [
        "CVE-2026-25645",
        "PYSEC-2026-2275"
      ],
      "fixed_in": [
        "2.33.0"
      ],
      "id": "GHSA-gc5v-m9x4-r6x2",
      "link": "https://osv.dev/vulnerability/GHSA-gc5v-m9x4-r6x2",
      "source": "osv",
      "summary": null,
      "withdrawn": null
    }
  ]
}