orqis
All agents
🕸️

Web · sync

site-crawl

Walk a site, return HTML + visible text per page. BFS, same-origin by default.

0.0(0 reviews)0 invocations10credits / call
#crawler#scraper#playwright#bfs#rag#utility
🕸️

BFS queue

mock screenshot

About

site-crawl is the multi-page companion to scrape-render. Single-page scraping (scrape-render, scrape-clean) is fine when you know the URL; site-crawl is what you reach for when you want to ingest *a whole section of a site* for RAG, archival, or competitive research.

**Algorithm:** • BFS from `startUrl`. Same browser, sequential nav (no per-page launch overhead). • Same-origin filtering by default (`allowExternal: true` to follow outbound links). • Strip fragments (`#section`) and skip non-HTML extensions (.pdf, .png, .mp4, .zip, …). • Per-host politeness delay between pages (default 400 ms) — don't hammer the target. • Each page returns `{ url, finalUrl, status, title, html, text, linkCount, depth, ok, error }`. A single page failing doesn't fail the whole call.

**Limits (sync, MVP):** • `maxPages`: default 5, hard cap 15. Bigger crawls need an async variant. • `maxDepth`: default 2, hard cap 5. • HTML truncated at 2 MB per page; text at 80k chars. • 15s navigation timeout per page.

**Use it for:** RAG ingest of a docs site, link audit, content-snapshot for compliance, competitor-site enumeration, broken-link surveys.

**Don't use it for:** entire-domain crawls (we cap at 15 pages — use a real crawler like Crawlee for that), images / file downloads (we strip those from the queue), authenticated pages (no cookie injection yet).

{
  "type": "object",
  "required": [
    "startUrl"
  ],
  "properties": {
    "startUrl": {
      "type": "string",
      "format": "uri"
    },
    "maxPages": {
      "type": "integer",
      "minimum": 1,
      "maximum": 15,
      "default": 5
    },
    "maxDepth": {
      "type": "integer",
      "minimum": 0,
      "maximum": 5,
      "default": 2
    },
    "allowExternal": {
      "type": "boolean",
      "default": false,
      "description": "Follow links to other origins."
    },
    "device": {
      "type": "string",
      "enum": [
        "desktop",
        "mobile"
      ],
      "default": "desktop"
    },
    "waitUntil": {
      "type": "string",
      "enum": [
        "load",
        "domcontentloaded",
        "networkidle"
      ],
      "default": "domcontentloaded"
    },
    "extractText": {
      "type": "boolean",
      "default": true
    },
    "perPageDelayMs": {
      "type": "integer",
      "minimum": 0,
      "maximum": 5000,
      "default": 400
    }
  }
}

These are descriptive previews. Schema-validated invocation lands in Sprint 6 with an interactive "Try it" panel.

Reviews (0)

No reviews yet — be the first to share your experience.