---
title: "Search Repositories"
method: GET
path: "/api/v2/repos/search"
---

# Search Repositories

`GET /api/v2/repos/search`

Fetch *all* public repos from Gitea, then apply local filtering / sorting /
pagination. If `task` is given we keep only repos whose `topics` array
contains that task (case-insensitive). Response now includes `total_count`.

## Query parameters

- `repo_type` 'program' | 'dataset', nullable — Type of repository to search for
- `q` string — Search query
- `tags` string — Comma-separated list of tags to filter by
- `sort` string — Sort by attribute
- `order` string — Sort order
- `page` integer — Page number (1-based)
- `limit` integer — Results per page
- `license` string, nullable — Filter by licence
- `task` string, nullable — Task keyword to match repo topics
- `autonomy_min` integer, nullable — Minimum autonomy level (0-100)
- `autonomy_max` integer, nullable — Maximum autonomy level (0-100)

## Headers

- `authorization` string, nullable

## Cookies

- `modaic_session` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/modaic-ai/apis/modaic-api.md) · [All operations](https://skmtc.net/modaic-ai/apis/modaic-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/modaic-ai/modaic-api/versions/43a90513ac59/schema)
