---
title: "Search apt, pip or npm packages for a recipe (the API key’s organization)"
method: GET
path: "/v1/template-packages"
tags: ["Template builds"]
---

# Search apt, pip or npm packages for a recipe (the API key’s organization)

`GET /v1/template-packages`

## Request

- Base URL: `https://api.shardflux.dev`
- URL: `https://api.shardflux.dev/v1/template-packages`
- Auth: HTTP bearer

apt: the base’s package index (409 package_index_unavailable when the base has none); pip: the daily PyPI name list (names only; 409 package_index_unavailable before its first refresh); npm: the registry search. Upstreams are bounded (503 dependency_unavailable, retryable, when they do not answer within 2.5 s) and each organization may make 120 lookups a minute (429 rate_limited). Owners/admins and API keys with a tool permission.

## Query parameters

- `ecosystem` 'apt' | 'pip' | 'npm', required
- `q` string, required
- `base` string
- `limit` integer

## Response `200`

Default Response

- TemplatePackagePage
  - `data` object[], required
    - `name` string, required
    - `version` string, nullable, required
    - `summary` string, nullable, required
  - `source` 'apt_index' | 'pypi_names' | 'npm_search', required: apt_index: the base’s apt index; pypi_names: the daily PyPI name list (no versions: fetch one package for them); npm_search: the npm registry search.

## Other responses

- `4XX`: Default Response
- `5XX`: Default Response

---

[API](https://skmtc.dev/shardflux/apis/shardflux-api.md) · [All operations](https://skmtc.dev/shardflux/apis/shardflux-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shardflux/apis/shardflux-api/revisions/ea685f7b39c4?raw)
