Project
/api/pypi/project
A project or release with files, releases, vulnerabilities and downloads
Scrappa's PyPI API returns public Python Package Index data as structured JSON. Read a project with metadata, requirements, classifiers, release files with digests, the full release history, known vulnerabilities, ownership and recent downloads.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/pypi/project?project=requests" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"success": true,
"data": {
"name": "six",
"version": "1.17.0",
"summary": "Python 2 and 3 compatibility utilities",
"license": "MIT",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7",
"vulnerabilities": []
}
}
Structured data for real applications. Here are some ideas.
Read requires_dist, required Python and classifiers before you adopt a package.
See known vulnerabilities and fixed-in versions for a release.
Track new releases, yanked files and upload dates.
Build an index of projects with summaries, licenses and project URLs.
Everything you need in one API.
/api/pypi/project
A project or release with files, releases, vulnerabilities and downloads
See how Scrappa compares to PyPI JSON API (direct).
| Feature | Scrappa | PyPI JSON API (direct) |
|---|---|---|
| Release history as one row per release | Every file of every release | |
| Name normalisation (PEP 503) handled | You normalise names | |
| Recent downloads included when available | Separate statistics service | |
| Price per 1k requests | From $0.20 | Free, but you build the wrapper |
No. PyPI offers no JSON search, so this API reads projects by name.
They are best effort. When the statistics source is down, the field is left out and the request still succeeds.
Each successful request uses one Scrappa credit. Failed requests are never charged and the API never answers with HTTP 429. An upstream outage returns a retryable 503.
No. Scrappa is an independent service and is not affiliated with or endorsed by PyPI. It returns public PyPI data as JSON.