# GitHub Search — Zapi reference > Searches public code and repositories and returns matching file or repo 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/github-code - 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 --- ## GitHub Search **Category:** search-tools · **Slug:** `github-code` **Detail page:** https://zpi.web.id/api/search-tools/github-code Searches public code and repositories and returns matching file or repo metadata. **Tags:** search, repositories, code ### Search Returns matching code or repositories with file paths, snippets, and URLs for a query. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/search-tools:github-code/search` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Search keyword | | `count` | number | query | no | Results per page 1-20 (default 10) | | `page` | number | query | no | Result page (default 1, max 50) | | `sort` | enum(stars|forks|updated) | query | no | Sort by: stars/forks/updated (default stars) | **cURL:** ```bash curl "https://api.zpi.web.id/v1/search-tools:github-code/search?query=react&count=10&page=1&sort=stars" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/search-tools:github-code/search?query=react&count=10&page=1&sort=stars", { 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:github-code/search?query=react&count=10&page=1&sort=stars", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 5, "items": [ { "url": "https://github.com/chimurai/http-proxy-middleware", "name": "http-proxy-middleware", "forks": 880, "owner": "chimurai", "stars": 11132, "title": "chimurai/http-proxy-middleware", "source": "github.com", "fullName": "chimurai/http-proxy-middleware", "language": "TypeScript", "updatedAt": "2026-08-01T11:55:01Z", "description": ":zap: The one-liner node.js http-proxy middleware for connect, express, next.js and more" }, { "url": "https://github.com/honojs/middleware", "name": "middleware", "forks": 360, "owner": "honojs", "stars": 971, "title": "honojs/middleware", "source": "github.com", "fullName": "honojs/middleware", "language": "TypeScript", "updatedAt": "2026-08-02T04:49:53Z", "description": "monorepo for Hono third-party middleware/helpers/wrappers" }, { "url": "https://github.com/rhinobase/hono-openapi", "name": "hono-openapi", "forks": 59, "owner": "rhinobase", "stars": 778, "title": "rhinobase/hono-openapi", "source": "github.com", "fullName": "rhinobase/hono-openapi", "language": "TypeScript", "updatedAt": "2026-07-31T13:06:26Z", "description": "Hono middleware to generate OpenAPI Swagger documentation" }, { "url": "https://github.com/rhinobase/hono-rate-limiter", "name": "hono-rate-limiter", "forks": 23, "owner": "rhinobase", "stars": 646, "title": "rhinobase/hono-rate-limiter", "source": "github.com", "fullName": "rhinobase/hono-rate-limiter", "language": "TypeScript", "updatedAt": "2026-07-25T09:58:00Z", "description": "Rate Limit middleware for Hono Server" }, { "url": "https://github.com/sergiodxa/remix-hono", "name": "remix-hono", "forks": 9, "owner": "sergiodxa", "stars": 553, "title": "sergiodxa/remix-hono", "source": "github.com", "fullName": "sergiodxa/remix-hono", "language": "TypeScript", "updatedAt": "2026-07-23T10:43:29Z", "description": "Hono middlewares for Remix" } ], "total": 231, "hasMore": true, "nextPage": 2 } ``` --- _Generated: 2026-08-02T14:20:16.569Z_