---
title: "Semantic package search"
method: POST
path: "/packages/search"
tags: ["Search"]
---

# Semantic package search

`POST /packages/search`

## Request

- Base URL: `https://apigcp.trynia.ai/v2`
- URL: `https://apigcp.trynia.ai/v2/packages/search`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nozomio-labs/apis/nia-ai-api/docs/packages/search/post.ts> (a function with typed inputs; its response is checked against the schema)

Hybrid semantic + keyword search over package source. 1-5 natural language queries.

## Request body

- PackageSearchHybridRequest: Request model for package hybrid search
  - `registry` string, required: Registry: crates_io, golang_proxy, npm, py_pi, or ruby_gems
  - `package_name` string, required: Package name
  - `semantic_queries` string[], required: 1-5 semantic queries
  - `version` string, nullable: Package version
  - `filename_sha256` string, nullable: File SHA256 filter
  - `pattern` string, nullable: Regex pattern filter
  - `language` string, nullable: Language filter

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-02-28** `7e426dce5dda`: 2 info
  - api tag `Search` added
  - api tag `Usage` removed
- **2026-02-19** `c41dcb6ac8f7`: 2 info
  - api tag `Usage` added
  - api tag `Packages` removed
- **2026-02-14** `5b3db391b9ea`: 3 info
  - api tag `Packages` added
  - api tag `v2-api` removed
  - api tag `v2-api-package-search` removed

[Operation history](https://skmtc.dev/nozomio-labs/apis/nia-ai-api/changes/packages/search/post.md)

---

[API](https://skmtc.dev/nozomio-labs/apis/nia-ai-api.md) - [All operations](https://skmtc.dev/nozomio-labs/apis/nia-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nozomio-labs/apis/nia-ai-api/revisions/dbb602a3ef17?raw)
