Docs
Scraping workflows

Crawl and map sites

Discover URLs cheaply, then fetch the pages your workflow actually needs.

Use POST /map for URL discovery and POST /crawl for page content.

Map first

Mapping is the efficient choice when an agent needs to understand a site's shape before deciding what to read.

{
  "url": "https://example.com",
  "search": "documentation",
  "limit": 100
}

The result is a list of discovered URLs. Filter or rank that list in your application, then scrape only the relevant pages.

Start a crawl

{
  "url": "https://example.com/docs",
  "limit": 50,
  "maxDepth": 3,
  "scrapeOptions": {
    "formats": ["markdown"],
    "onlyMainContent": true
  }
}

POST /crawl returns a job identifier. Poll GET /crawl/{id} until the status is terminal. Use GET /crawl/{id}/errors to inspect page-level failures and DELETE /crawl/{id} to cancel work that is no longer needed.

Control scope

Set explicit page and depth limits. Start from the narrowest useful path, exclude account, cart, search, calendar, and faceted-navigation patterns, and avoid crawling the same normalized URL through multiple query strings.

Credits are charged for completed page work rather than the act of creating the job. A blocked or invalid page is recorded as an error without inventing content.