---
title: "Start an asynchronous crawl job from a seed URL."
method: POST
path: "/v1/crawl"
---

# Start an asynchronous crawl job from a seed URL.

`POST /v1/crawl`

## Request body

- object
  - `url` string, uri, required
  - `formats` string[]
  - `only_main_content` boolean
  - `wait_for` integer
  - `timeout` integer
  - `max_pages` integer
  - `depth` integer
  - `use_sitemap` boolean
  - `include_patterns` string[]
  - `exclude_patterns` string[]
  - `webhook_url` string, uri

## Response `200`

Successful response

- object
  - `id` string
  - `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled'
  - `results` object[]
    - `success` boolean
    - `url` string, uri
    - `markdown` string
    - `text` string
    - `html` string
    - `json` object
    - `metadata` object

## Other responses

- `400` — Invalid request
- `401` — Invalid or missing API key
- `402` — Payment required or insufficient credits
- `429` — Rate limit exceeded

---

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