New1 billion tokens free on sign-up — crawl, parse, chunk and embed on the houseClaim yours
SarvCrawl
Back/Docs
SarvCrawl/ Docs

Search, scrape & crawl

all through one API.

SarvCrawl turns any web content into clean, LLM-ready data — markdown, JSON, screenshots, and more.

QUICKSTART.JS
import { KBClient } from 'sarvcrawl';

const kb = new KBClient({ apiKey: 'kb-YOUR-API-KEY' });

const job = await kb.search('kb_abc123', 'knowledge infrastructure', {
  limit: 3,
  lang: 'en',
  formats: ['markdown'],
});
console.log(job);
01CAPABILITIES

What can SarvCrawl do?

Three core building blocks for working with any web content.

Search

Search the web and get full page content from results.

Scrape

Extract content from any URL as markdown, HTML, or JSON.

Crawl

Recursively crawl a website and store every discovered page.

Why SarvCrawl?

LLM-ready output

Clean markdown, structured JSON, consistent results.

Handles the hard stuff

Proxies, anti-bot, JavaScript rendering, dynamic content.

Reliable

Built for production with high uptime and consistent results.

Fast

Results in seconds, optimized for throughput.

03

Scrape

Scrape any URL and get its content in markdown, HTML, or other formats.

curl -X POST https://crawl.sarv.com/api/jobs/scrape \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "kb_id": "kb_abc123",
    "url": "https://example.com",
    "formats": ["markdown", "html"],
    "include_docs": true
  }'
04

Crawl

Recursively crawl a website from a root URL and store every discovered page.

curl -X POST https://crawl.sarv.com/api/jobs/crawl \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "kb_id": "kb_abc123",
    "url": "https://docs.example.com",
    "formats": ["markdown", "json"],
    "max_depth": 5,
    "limit": 500,
    "exclude_paths": ["/admin", "/api"],
    "include_docs": true
  }'
05

Map

Discover all URLs on a website instantly — without scraping content. Returns a full sitemap-style list of every reachable page.

curl -X POST https://crawl.sarv.com/api/jobs/map \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "kb_id": "kb_abc123",
    "url": "https://docs.example.com",
    "limit": 1000,
    "include_subdomains": false
  }'
06

Upload

Upload PDF, DOCX, and other documents directly into your knowledge base. Supports OCR for scanned files.

curl -X POST https://crawl.sarv.com/api/jobs/upload \
  -H "x-api-key: YOUR_API_KEY" \
  -F "kb_id=kb_abc123" \
  -F "file=@./report.pdf"
07

Monitor

Recurring checks that re-scrape a page (or re-crawl a whole site), diff the new content against the last check, and POST a webhook whenever something is new, changed, or removed. Output is always markdown — there's no formats/scrapeOptions field, so diffing stays well-defined.

curl -X POST https://crawl.sarv.com/api/jobs/monitor \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "kb_id": "kb_abc123",
    "monitor_type": "page",
    "urls": ["https://example.com/pricing"],
    "schedule": "daily",
    "notify_url": "https://your-endpoint.example.com/webhook"
  }'

Page vs. website

Set monitor_type to "page" to watch one or more exact URLs (pass urls), or "website" to crawl a whole site and watch every discovered page (pass url, plus optional limit, include_paths, exclude_paths).schedule accepts natural language ("daily", "every 30 minutes", "hourly") or a raw cron expression — a minimum interval is enforced server-side.

Webhook payload

Every new, changed, removed, or errored page sends a POST to your notify_url:

Stopping a monitor

A monitor job never "completes" — it sits at status: "running" indefinitely by design. Call cancelJob(jobId) to stop the recurring check (this is what actually stops the schedule upstream); deleteJob(jobId) will refuse a monitor that's still running, so cancel first if you also want to remove it.

10EXPLORE

SDK Reference

Full SDK reference — every method, every endpoint, with response examples.

11EXPLORE

MCP Servers

Connect SarvCrawl directly to Claude and any MCP-compatible AI client — 20 tools, zero manual API calls.

12EXPLORE

n8n Workflows

Automate SarvCrawl visually — drop the community node into any n8n workflow to scrape, crawl, search, and manage knowledge bases with no code.

13EXPLORE

Command Line

Scrape, crawl, search and manage knowledge bases straight from your terminal — a beautiful CLI styled to match SarvCrawl, with live job spinners and clean tables.