docs / packages
Package Registries API
Package Registries API
base /packages/v17 endpoints
post
/packages/v1/package1 creditfull package metadata (latest version normalized)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| registry | required | npm · pypi · node · nodejs · python · pip | Which package registry to query. npm = Node.js packages; pypi = Python packages. (Synonyms node/nodejs -> npm, python/pip -> pypi.) |
| name | required | — | Exact package name (e.g. npm 'react', PyPI 'requests'). Scoped npm names like '@scope/pkg' are supported. |
post
/packages/v1/versions1 creditpaginated version list for a package
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| registry | required | npm · pypi · node · nodejs · python · pip | Which package registry to query. npm = Node.js packages; pypi = Python packages. (Synonyms node/nodejs -> npm, python/pip -> pypi.) |
| name | required | — | Exact package name (e.g. npm 'react', PyPI 'requests'). Scoped npm names like '@scope/pkg' are supported. |
| page = 1 | optional | 1– | 1-based page number for paginated lists (versions / search). |
| page_size = 50 | optional | 1–250 | Results per page (1-250, default 50). Larger values are clamped. |
post
/packages/v1/version1 creditsingle version metadata
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| registry | required | npm · pypi · node · nodejs · python · pip | Which package registry to query. npm = Node.js packages; pypi = Python packages. (Synonyms node/nodejs -> npm, python/pip -> pypi.) |
| name | required | — | Exact package name (e.g. npm 'react', PyPI 'requests'). Scoped npm names like '@scope/pkg' are supported. |
| version | required | — | Exact version string to fetch (e.g. '18.2.0', '2.31.0'). |
post
/packages/v1/dependencies1 creditruntime + dev dependencies for a version (latest if omitted)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| registry | required | npm · pypi · node · nodejs · python · pip | Which package registry to query. npm = Node.js packages; pypi = Python packages. (Synonyms node/nodejs -> npm, python/pip -> pypi.) |
| name | required | — | Exact package name (e.g. npm 'react', PyPI 'requests'). Scoped npm names like '@scope/pkg' are supported. |
| version | optional | — | Optional exact version; omit to use the latest published version. |
post
/packages/v1/downloads1 creditdownload statistics (npm: period=last-day|week|month|year; pypi: recent day/week/month)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| registry | required | npm · pypi · node · nodejs · python · pip | Which package registry to query. npm = Node.js packages; pypi = Python packages. (Synonyms node/nodejs -> npm, python/pip -> pypi.) |
| name | required | — | Exact package name (e.g. npm 'react', PyPI 'requests'). Scoped npm names like '@scope/pkg' are supported. |
| period = last-month | optional | last-day · last-week · last-month · last-year | npm download window (rejects unknown values). Ignored for PyPI, which always returns recent last-day/last-week/last-month totals. |
post
/packages/v1/search2 creditssearch packages (npm: registry API; pypi: libraries.io→HTML→ranked simple-index+enrich)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| registry | required | npm · pypi · node · nodejs · python · pip | Which package registry to query. npm = Node.js packages; pypi = Python packages. (Synonyms node/nodejs -> npm, python/pip -> pypi.) |
| query | required | — | Free-text search keywords matched against package name/description. |
| page = 1 | optional | 1– | 1-based page number for paginated lists (versions / search). |
| page_size = 20 | optional | 1–250 | Results per page (1-250, default 20). Larger values are clamped. |
| from | optional | 0– | npm search only: raw result offset (alternative to page). Page forward with meta.next_from. |
post
/packages/v1/maintainer1 creditmaintainer/author records for a package
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| registry | required | npm · pypi · node · nodejs · python · pip | Which package registry to query. npm = Node.js packages; pypi = Python packages. (Synonyms node/nodejs -> npm, python/pip -> pypi.) |
| name | required | — | Exact package name (e.g. npm 'react', PyPI 'requests'). Scoped npm names like '@scope/pkg' are supported. |
Example request · package
curl -X POST https://api.reefapi.com/packages/v1/package \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"registry":"npm","name":"react"}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}