PyPI's JSON API at https://pypi.org/pypi/<project>/json returns a package's metadata and its release files.
None — no key, no signup. Every example runs as-is.
Full reference: https://docs.pypi.org/api/json/
info has the metadata; urls lists the latest release's files.
curl https://pypi.org/pypi/requests/json
{
"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": []
}
curl https://pypi.org/pypi/requests/2.32.3/json
{
"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
}
]
}