Crawl

Discover and scrape an entire site, then poll for results.

POST/api/v1/crawl1 / page

Crawl starts at a root URL, discovers pages (sitemap + link graph), and scrapes each one. It runs asynchronously: you get a jobId, then poll the status endpoint or stream live progress over SSE. Creating a crawl is free — you're charged 1 credit per page as it runs.

Request

ParameterTypeDescription
urlrequiredstringRoot URL to crawl from.
limitnumberMaximum pages to scrape.
maxDiscoveryDepthnumberHow many link-hops deep to discover from the root.
includePaths / excludePathsstring[]Regex path filters to scope the crawl.
crawlEntireDomainbooleanFollow links beyond the starting path across the whole domain. Defaults to false.
allowSubdomainsbooleanInclude subdomains of the root host. Defaults to false.
promptstringDescribe what to crawl in natural language; Peep infers the path filters.
scrapeOptionsobjectPer-page scrape options (see Scrape).
webhookobjectReceive page.scraped / completed events at your URL.

Start A Crawl

bash
curl -X POST https://peep.shownomore.com/api/v1/crawl \
  -H "Authorization: Bearer peep_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://example.com",
  "limit": 50,
  "scrapeOptions": {
    "formats": [
      "markdown"
    ]
  }
}'

Check Status

GET/api/v1/crawl/{jobId}Free

Accepts the same options object as Scrape (formats, onlyMainContent, waitFor, actions, and so on), applied to every page.

Returns status, completed/total counts, and the scraped data array. For live updates, stream GET /api/v1/crawl/{jobId}/stream (SSE) or fetch failures from /api/v1/crawl/{jobId}/errors.