Docs
Crawl

Start a website crawl

POST/crawl
AuthorizationBearer <token>

Enter your API key with the bc_ prefix

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

allowExternalLinks?boolean

Whether to allow crawling external domains

Defaultfalse
allowSubdomains?boolean

Whether to allow crawling subdomains

Defaultfalse
crawlEntireDomain?boolean

Whether to crawl entire domain or just subtree

Defaultfalse
deduplicateSimilarURLs?boolean

Deduplicate similar URLs using intelligent matching

Defaultfalse
delay?number

Delay between page scrapes in milliseconds

Default0
excludePaths?array<string>

Regex patterns to exclude paths

ignoreQueryParameters?boolean

Ignore query parameters when deduplicating URLs

Defaultfalse
includePaths?array<string>

Regex patterns to include paths

limit?number

Maximum number of pages to crawl

Default10000
maxConcurrency?number

Maximum number of concurrent scrapes for this crawl

maxDiscoveryDepth?number

Maximum depth for URL discovery

Default10
prompt?string

Natural language instructions for crawl configuration

scrapeOptions?

Scrape options to apply to each page. actions accepts at most 25 bounded browser actions. zeroDataRetention: true is currently rejected with 400 ZERO_DATA_RETENTION_NOT_SUPPORTED.

sitemap?string

Sitemap handling strategy

Default"include"

Value in

  • "include"
  • "skip"
  • "only"
url*string

Starting URL to crawl

webhook?

Webhook configuration

zeroDataRetention?boolean

Reserved for a future zero-data-retention mode. true is currently rejected with 400 ZERO_DATA_RETENTION_NOT_SUPPORTED; omit or use false.

Defaultfalse

Response Body

application/json

curl -X POST "https://example.com/crawl" \  -H "Content-Type: application/json" \  -d '{    "url": "https://example.com"  }'
{  "id": "string",  "invalidURLs": [    "string"  ],  "success": true,  "url": "string"}
Empty
Empty