---
title: "Get a project"
method: GET
path: "/projects/{id}"
tags: ["Projects"]
---

# Get a project

`GET /projects/{id}`

Fetch a specific project by ID. Ratelimit: 30 reqs/min.

## Response `200`

A single project

- Project
  - `id` integer
  - `title` string
  - `description` string
  - `repo_url` string
  - `demo_url` string
  - `readme_url` string
  - `ai_declaration` string
  - `ship_status` string
  - `devlog_ids` integer[]
  - `banner_url` string, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401` — Missing or invalid API key
- `404` — Resource not found
- `429` — Rate limit exceeded

## Changes

> 5 revisions in range; 1 could not be searched.

- **2026-03-26** `5aa899f5a7d4` — 1 info
  - added the non-success response with the status `429`
- **2026-02-28** `cf6ee4e9eef4` — 1 info
  - removed the non-success response with the status `429`

[Change history](https://skmtc.dev/hackclub/apis/flavortown-api/changes/projects/:id/get.md)

---

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