---
title: "Create a new project"
method: POST
path: "/projects"
tags: ["Projects"]
---

# Create a new project

`POST /projects`

## Request body

- object
  - `name` string, required
  - `description` string

## Response `200`

Project created successfully

- object
  - `code` integer
  - `message` string
  - `data` object
    - `_id` string — MongoDB ObjectId represented as a hexadecimal string
    - `name` string
    - `description` string
    - `spiders` integer — Number of spiders in this project
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `created_by` string — MongoDB ObjectId represented as a hexadecimal string
    - `updated_by` string — MongoDB ObjectId represented as a hexadecimal string

## Changes

- **2025-03-03** `14e4eafea538` — 1 breaking, 3 warning, 1 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
  - removed the optional property `code` from the response with the `200` status
  - removed the optional property `data` from the response with the `200` status
  - removed the optional property `message` from the response with the `200` status
  - …1 more
- **2025-03-02** `526e5bdf6dee` — 2 breaking, 10 warning, 6 info
  - added the new required request property `name`
  - request body became required
  - removed the request property `data`
  - removed the optional property `data/_id` from the response with the `200` status
  - …14 more

[Change history](https://skmtc.dev/crawlab-team/apis/crawlab-api/changes/projects/post.md)

---

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