POST
Start a durable, multi-page crawl beginning at url. The crawl runs as a background job — use the returned id to poll GET /crawl/{id} for status and results, or cancel it with DELETE /crawl/{id}. By default the crawl discovers URLs via sitemap first (same semantics as POST /map) and then follows links found on each page across the whole domain. Set crawlEntireDomain to false to stay below the starting URL’s path, and allowSubdomains to include subdomains.

Authorization

Send your pline API key in the X-API-Key header on every request.

Body

string
required
Starting URL for the crawl.
string
Address to notify by email once the crawl completes. Must be a valid email address.
string[]
Only crawl URLs whose path matches one of these regex patterns (not globs). For example, ["^/docs/"] keeps the crawl to paths starting with /docs/.
string[]
Skip URLs whose path matches one of these regex patterns.
integer
Maximum link-following depth from the starting URL. Unlimited when omitted.
any
default:"include"
Sitemap handling for initial URL discovery, same semantics as POST /map.
boolean
default:"false"
Whether URLs with query parameters should be treated as duplicates.
integer
default:"10000"
Maximum number of pages to crawl (max 10,000).
boolean
default:"true"
Follow links anywhere on the domain. Set to false to stay below the starting URL’s path.
boolean
default:"false"
Follow links on subdomains of the starting URL’s registrable domain.
string[]
Output formats to return for each crawled page, as a list. Defaults to markdown only when omitted. At least one format is required when you set it.
object
Optional webhook notified on crawl lifecycle events.
object
Options applied to every page the crawl scrapes (also accepted as scrapeOptions). Field names are snake_case, as on POST /scrape. Any other POST /scrape field, such as geolocation, actions, or only_main_content, is also accepted. url, method, and body are ignored, because the crawler sets them for each page.

Response

boolean
required
Whether the crawl job was started.
string
required
Crawl job ID. Use this to poll status (GET /crawl/{id}) or cancel (DELETE /crawl/{id}).
string
required
Relative path to poll for this crawl’s status.

Response codes