---
title: "Update spider by ID"
method: PUT
path: "/spiders/{id}"
tags: ["Spiders"]
---

# Update spider by ID

`PUT /spiders/{id}`

## Path parameters

- `id` string, required — MongoDB ObjectId represented as a hexadecimal string

## Request body

- Spider
  - `_id` string — MongoDB ObjectId represented as a hexadecimal string
  - `name` string
  - `description` string
  - `cmd` string — Command to run the spider
  - `priority` integer
  - `project_id` string — MongoDB ObjectId represented as a hexadecimal string
  - `col_id` string — MongoDB ObjectId represented as a hexadecimal string
  - `col_name` string — Data collection name
  - `git_id` string — MongoDB ObjectId represented as a hexadecimal string
  - `git` object — Git repository information
  - `stat` object — Spider statistics
  - `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

## Response `200`

Spider updated successfully

- Success
  - `code` integer
  - `message` string
  - `data` object

## Other responses

- `404` — Spider not found

## Changes

- **2025-03-02** `526e5bdf6dee` — 2 breaking, 25 warning, 22 info
  - request body became required
  - added the pattern `^[0-9a-fA-F]{24}$` to the `path` request parameter `id`
  - removed the request property `data`
  - removed the optional property `data/_id` from the response with the `200` status
  - …45 more

[Change history](https://skmtc.dev/crawlab-team/apis/crawlab-api/changes/spiders/:id/put.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/526e5bdf6dee/schema)
