GnistAI GnistAI
Log in

Package Registry

Package metadata and vulnerability data from npm, PyPI, crates.io, and OSV.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 7 tools tools 7 7 type: dataset aggregator type type dataset aggregator dataset aggregator lifecycle: maintained lifecycle lifecycle maintained maintained Software

Data source: npm, PyPI, crates.io, OSV.dev

REST Bridge Endpoint https://context.gnist.ai/rest/package-registry/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (7)

get_package

Get metadata for a package — latest version, description, license, maintainers.

Args:
ecosystem: Package ecosystem: 'npm', 'pypi', or 'crates'.
name: Package name (e.g. 'express', 'requests', 'tokio').

Returns:
Package metadata including version, description, license, homepage,
repository URL, maintainers, and keywords.

ParameterTypeRequiredDescription
ecosystemstringrequiredPackage ecosystem: 'npm', 'pypi', or 'crates'.
namestringrequiredPackage name (e.g. 'express', 'requests', 'tokio').
Request Body
{
  "ecosystem": "example",
  "name": "example"
}
get_package_versions

Get full release history for a package with publish timestamps.

Args:
ecosystem: Package ecosystem: 'npm', 'pypi', or 'crates'.
name: Package name.

Returns:
Dictionary with count and versions list (version string + published_at timestamp).

ParameterTypeRequiredDescription
ecosystemstringrequiredPackage ecosystem: 'npm', 'pypi', or 'crates'.
namestringrequiredPackage name.
Request Body
{
  "ecosystem": "example",
  "name": "example"
}
get_download_stats

Get download statistics for a package.

Args:
ecosystem: Package ecosystem: 'npm', 'pypi', or 'crates'.
name: Package name.
period: Time period — 'last-week' or 'last-month' (npm and PyPI).
crates.io always returns recent 90-day downloads.

Returns:
Dictionary with ecosystem, name, period, and download count.

ParameterTypeRequiredDescription
ecosystemstringrequiredPackage ecosystem: 'npm', 'pypi', or 'crates'.
namestringrequiredPackage name.
periodstringoptionalTime period — 'last-week' or 'last-month' (npm and PyPI). crates.io always returns recent 90-day downloads. (default: "last-week")
Request Body
{
  "ecosystem": "example",
  "name": "example"
}
get_dependencies

Get direct dependencies for a package version.

Args:
ecosystem: Package ecosystem: 'npm', 'pypi', or 'crates'.
name: Package name.
version: Specific version string. If omitted, uses the latest release.

Returns:
Dictionary with count and dependencies list (name, version_req, kind).
For crates, kind may be 'normal', 'dev', or 'build'.

ParameterTypeRequiredDescription
ecosystemstringrequiredPackage ecosystem: 'npm', 'pypi', or 'crates'.
namestringrequiredPackage name.
versionanyoptionalSpecific version string. If omitted, uses the latest release.
Request Body
{
  "ecosystem": "example",
  "name": "example"
}
get_vulnerabilities

Get known vulnerabilities for a package via OSV.dev (covers npm, PyPI, crates.io).

Args:
ecosystem: Package ecosystem: 'npm', 'pypi', or 'crates'.
name: Package name.
version: Specific version to check. If omitted, returns all known vulns for the package.

Returns:
Dictionary with count and vulnerabilities list (OSV ID, summary, severity,
aliases like CVE numbers, affected version ranges, references, published/modified dates).

ParameterTypeRequiredDescription
ecosystemstringrequiredPackage ecosystem: 'npm', 'pypi', or 'crates'.
namestringrequiredPackage name.
versionanyoptionalSpecific version to check. If omitted, returns all known vulns for the package.
Request Body
{
  "ecosystem": "example",
  "name": "example"
}
search_packages

Search for packages by keyword across npm, PyPI, or crates.io.

Args:
ecosystem: Package ecosystem: 'npm', 'pypi', or 'crates'.
query: Search keywords (e.g. 'http client async', 'date parsing').
limit: Maximum results (1–50, default 20).

Returns:
Dictionary with count and packages list (name, version, description, downloads where available).

ParameterTypeRequiredDescription
ecosystemstringrequiredPackage ecosystem: 'npm', 'pypi', or 'crates'.
querystringrequiredSearch keywords (e.g. 'http client async', 'date parsing').
limitintegeroptionalMaximum results (1–50, default 20). (default: 20)
Request Body
{
  "ecosystem": "example",
  "query": "example"
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
Request Body
{
  "feedback": "example"
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/rest/package-registry/get_package" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"ecosystem": "example", "name": "example"}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/rest/package-registry/get_package",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={
  "ecosystem": "example",
  "name": "example"
},
)
print(resp.json())

Related Toolkits (Software)

Resources