---
title: "List Projects"
method: GET
path: "/v1/marketplace/projects"
tags: ["marketplace"]
---

# List Projects

`GET /v1/marketplace/projects`

Community Projects catalog.

Sort signals: `featured` (featured first, then most recent), `newest`
(createdAt desc), `popular` (total marketplace views desc, downloads as
tiebreak). Returns a frequency-ordered `filters.tags` facet over the full
search scope and per-card `stats` (views, likes, and the viewer's `liked`
state when authenticated).

## Query parameters

- `page` integer
- `pageSize` integer
- `search` string, nullable
- `sort` string — featured | newest | popular
- `sortOrder` string
- `tags` string, nullable — Comma-separated tags (AND logic)
- `framework` string, nullable
- `runtime` string, nullable
- `featured` boolean — When true, return only featured projects

## Response `200`

Successful Response

- MarketplaceProjectsResponse
  - `items` MarketplaceCategoryItem[], required
    - `id` string, required
    - `type` string, required
    - `title` string, required
    - `description` string, required
    - `author` string, required
    - `authorId` union, required
      - integer
      - string
    - `rating` number, required
    - `ratingCount` integer, required
    - `downloads` integer, required
    - `tags` string[]
    - `categories` string[]
    - `license` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `featured` boolean
    - `verified` boolean
    - `isFree` boolean
    - `price` number, nullable
    - `currency` string, nullable
    - `version` string, nullable
    - `variables` MarketplaceVariable[], nullable
      - `name` string, required
      - `description` string, nullable
      - `required` boolean
      - `defaultValue` string, nullable
    - `outputFormat` string, nullable
    - `ruleFormat` string, nullable
    - `level` string, nullable
    - `durationMinutes` integer, nullable
    - `lessonCount` integer, nullable
    - `language` string, nullable
    - `hasExercises` boolean, nullable
    - `hasCertificate` boolean, nullable
    - `isBuiltIn` boolean, nullable
    - `thumbnailUrl` string, nullable
    - `repositoryUrl` string, nullable
    - `demoUrl` string, nullable
    - `framework` string, nullable
    - `runtime` string, nullable
    - `packageManager` string, nullable
    - `repositoryStars` integer, nullable
    - `stats` MarketplaceItemStats
      - `views` integer
      - `likes` integer
      - `forks` integer, nullable
      - `liked` boolean, nullable
    - `live` boolean, nullable
  - `total` integer, required
  - `page` integer, required
  - `pageSize` integer, required
  - `totalPages` integer, required
  - `tags` string[], required
  - `categories` string[], required
  - `filters` MarketplaceCatalogFilters
    - `tags` string[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/kodik/apis/kodik-api.md) · [All operations](https://skmtc.dev/kodik/apis/kodik-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kodik/kodik-api/revisions/55c71b347360/schema)
