# npm — Zapi reference > Searches the public package registry and returns matching package metadata. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/search-tools/npm - Endpoint catalog: https://zpi.web.id/category/search-tools - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## npm **Category:** search-tools · **Slug:** `npm` **Detail page:** https://zpi.web.id/api/search-tools/npm Searches the public package registry and returns matching package metadata. **Tags:** search, packages ### Search Returns matching packages with names, versions, and descriptions for a query. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/search-tools:npm/search` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Search keyword | | `count` | number | query | no | Results per page 1-30 (default 20) | | `page` | number | query | no | Result page (default 1, max 50) | **cURL:** ```bash curl "https://api.zpi.web.id/v1/search-tools:npm/search?query=react&count=20&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/search-tools:npm/search?query=react&count=20&page=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/search-tools:npm/search?query=react&count=20&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 5, "items": [ { "url": "https://www.npmjs.com/package/hono", "name": "hono", "links": { "npm": "https://www.npmjs.com/package/hono", "bugs": "https://github.com/honojs/hono/issues", "homepage": "https://hono.dev", "repository": "git+https://github.com/honojs/hono.git" }, "score": 2356.0767, "title": "hono", "source": "npmjs.com", "version": "4.12.33", "keywords": [ "hono", "web", "app", "http", "application", "framework", "router", "cloudflare", "workers", "fastly", "compute", "deno", "bun", "lambda", "nodejs" ], "publisher": "GitHub Actions", "description": "Web framework built on Web Standards", "publishedAt": "2026-07-31T10:42:41.417Z" }, { "url": "https://www.npmjs.com/package/@hono/node-server", "name": "@hono/node-server", "links": { "npm": "https://www.npmjs.com/package/@hono/node-server", "bugs": "https://github.com/honojs/node-server/issues", "homepage": "https://github.com/honojs/node-server", "repository": "git+https://github.com/honojs/node-server.git" }, "score": 623.7639, "title": "@hono/node-server", "source": "npmjs.com", "version": "2.0.12", "publisher": "GitHub Actions", "description": "Node.js Adapter for Hono", "publishedAt": "2026-07-26T05:02:01.126Z" }, { "url": "https://www.npmjs.com/package/hono-openapi", "name": "hono-openapi", "links": { "npm": "https://www.npmjs.com/package/hono-openapi", "bugs": "https://github.com/rhinobase/hono-openapi/issues", "homepage": "https://github.com/rhinobase/hono-openapi", "repository": "git+https://github.com/rhinobase/hono-openapi.git" }, "score": 513.671, "title": "hono-openapi", "source": "npmjs.com", "version": "1.3.1", "keywords": [ "hono", "openapi", "zod", "valibot", "typebox", "arktype", "effect" ], "publisher": "mathuraditya724", "description": "OpenAPI schema generator for Hono", "publishedAt": "2026-07-05T19:35:15.392Z" }, { "url": "https://www.npmjs.com/package/@hono/otel", "name": "@hono/otel", "links": { "npm": "https://www.npmjs.com/package/@hono/otel", "bugs": "https://github.com/honojs/middleware/issues", "homepage": "https://github.com/honojs/middleware", "repository": "git+https://github.com/honojs/middleware.git" }, "score": 478.1013, "title": "@hono/otel", "source": "npmjs.com", "version": "1.1.2", "publisher": "GitHub Actions", "description": "OpenTelemetry middleware for Hono", "publishedAt": "2026-05-08T08:29:53.507Z" }, { "url": "https://www.npmjs.com/package/hono-rate-limiter", "name": "hono-rate-limiter", "links": { "npm": "https://www.npmjs.com/package/hono-rate-limiter", "bugs": "https://github.com/rhinobase/hono-rate-limiter/issues", "homepage": "https://honohub.dev/docs/rate-limiter", "repository": "git+https://github.com/rhinobase/hono-rate-limiter.git" }, "score": 474.4182, "title": "hono-rate-limiter", "source": "npmjs.com", "version": "0.5.3", "keywords": [ "hono", "api", "middleware", "rest-api", "rate-limiting", "rate-limiter", "honojs" ], "publisher": "mathuraditya724", "description": "Rate limit middleware for Hono.", "publishedAt": "2025-12-29T18:14:39.982Z" } ], "total": 4360, "hasMore": true, "nextPage": 2 } ``` --- _Generated: 2026-08-02T14:25:26.895Z_