---
title: "Run Spider"
method: POST
path: "/spiders/{id}/run"
tags: ["Spiders"]
---

# Run Spider

`POST /spiders/{id}/run`

Run a task for the given spider

## Path parameters

- `id` string, objectid, required — Spider ID

## Request body

- RunSpiderInput
  - `cmd` string — Command
  - `mode` 'random' | 'all-nodes' | 'selected-nodes' | 'selected-node-groups' — Run mode: random,all-nodes,selected-nodes,selected-node-groups
  - `node_group_ids` string[] — Node group IDs, used in selected-node-groups mode
  - `node_ids` string[] — Node IDs, used in selected-nodes mode
  - `param` string — Parameters
  - `priority` integer — Priority
  - `schedule_id` string, objectid — Schedule ID

## Response `200`

OK

- ControllersResponseGoMongodbPrimitiveObjectID
  - `data` string[]
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

## Changes

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

- **2025-03-03** `14e4eafea538` — 1 warning
  - removed the optional property `data` from the response with the `200` status
- **2025-03-02** `526e5bdf6dee` — 3 breaking, 7 warning, 7 info
  - added the pattern `^[0-9a-fA-F]{24}$` to the `path` request parameter `id`
  - the `param` request property type/format changed from `string`/`` to `object`/``
  - the `data` response's property type/format changed from `array`/`` to `object`/`` for status `200`
  - removed the request property `cmd`
  - …13 more

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