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

Any website or file, searchable in one call.

Point it at a site or drop in a PDF. It comes back as clean markdown, indexed, chunked and embedded — ready to query by keyword or by meaning.

  • No card to start
  • 1 billion tokens included
  • Self-host or cloud

Called from Claude Code · Cursor · VS Code · n8n · Node · Python · cURL

01Give it a URL

new crawl

https://docs|
depth 2limit 25 pagesinclude linked documents
Start crawl

Same call from the API: POST /api/jobs/crawl

https://docs.example.comcrawling
/200
markdownfetching18 KB
linksfetching12 found
/authentication200
markdownfetching18 KB
screenshotfetching240 KB
security-notes.pdffetchingOCR
/v1/legacy301
redirectfetching→ /v2

/authentication → stored

authentication.mdmarkdown18 KB
authentication.htmlraw html61 KB
links.json37 links2 KB
page.jsonstructured4 KB
screenshot.pngimages240 KB
security-notes.pdfparsed + OCR1.2 MB

Kept in object storage, with the page row and its job lineage in Postgres — and indexed for keyword search.

authentication.md

# Authentication
Every request carries an x-api-key header…

## Rotating a key
Issue a second key, move traffic, then revoke…
markdown_router · split on headings
chunk 01Authentication180 tokens
chunk 02Rotating a key164 tokens
chunk 03Rate limits212 tokens
embedding chunks103 / 412
chunk 01[ 0.021, −0.118, 0.334, … ]
chunk 02[ −0.067, 0.245, 0.019, … ]
chunk 03[ 0.132, 0.008, −0.201, … ]

Stored beside the chunk, so a hit can always be traced back to its page.

Your data is ready to query

24

pages

3

documents

412

chunks

412

vectors

how do I rotate a key without downtime?hybrid

“Issue a second key, move traffic to it, then revoke the first. Keys never expire on their own.”

/authentication — Rotating a key · chunk 02 · 0.91

Paste a site, set how deep to go, and start. That is the whole setup.

See what it did

Every answer traces back to a page you can open.

The console is not a wrapper on the API — it is where a person checks the crawl, reads the chunks and finds the bad conversion.

Jobs · Docs KB5 of 128
crawldocs.example.com24completed
uploadsecurity-notes.pdf61completed
monitorchangelog pagewatching
crawlhelp.example.com9running
mapexample.com318completed

crawl tree · job_8b41d0

/             200  ·  12 links
├─ /auth      200  ·  security-notes.pdf
├─ /api       200  ·  4 links
└─ /v1/legacy 301  →  /v2

Every job, with the tree it produced

  • Status, inputs and per-job worker logs
  • Crawls render as a tree, so a dead branch is visible
  • Cancel a queued or running job from the row

For developers

Six surfaces, one API key.

REST, Node, Python, a terminal client, 21 MCP tools and an n8n node. Nothing is gated behind a higher plan.

shell
# crawl a site, then ask it something
curl -X POST $KB/api/jobs/crawl -H "x-api-key: $KEY" \
  -d '{"kb_id":"kb_3f9c21","url":"https://docs.example.com","limit":25}'

curl "$KB/api/kb/kb_3f9c21/search/embed?q=rotate%20api%20key" \
  -H "x-api-key: $KEY"

Asked before every integration

Six things people check first.

Scrape, crawl or map — which one?

Scrape takes one URL. Crawl follows links from a root URL, bounded by depth, a page limit and a path exclude list, and returns a tree of what it found. Map only discovers URLs — no content, no page cost — which is the cheap way to decide what is worth crawling.

What happens to a PDF, and to a scanned one?

It is parsed to markdown, stored beside the original, then indexed, chunked and embedded like any page. With no text layer — a scan or a photo — it goes through OCR instead, and the conversion audit scores the OCR output on its own rather than against a text layer that does not exist.

Do you train models on our content?

No. There is no training or fine-tuning step anywhere in the pipeline. It is retrieval: crawl, parse, chunk, embed, search. The chunks stay in your knowledge base, are readable in the console, and export to JSONL or CSV whenever you want them out.

Can an AI client drive it directly?

Yes — 21 zod-validated MCP tools over stdio or HTTP streamable at /v2/mcp. The tool descriptions tell the model to poll job status until a job completes before it searches, so an agent runs the async pipeline without glue code.

How many tokens do I get for free?

One billion on sign-up, with no card. Tokens are what parsing, chunking and embedding consume, so at roughly 500 tokens to a page of text that is on the order of two million pages through the full pipeline before you owe anything.

Can we run it ourselves?

Yes. The stack ships as a Compose file for a single host and a Swarm bundle for a cluster, behind one nginx front door, with five dependencies checked at boot: PostgreSQL, Redis, RabbitMQ, MinIO and Elasticsearch.

More in the API docs.

Point it at a site.Ask it something.

  • 1 billion tokens free
  • No card to start
  • Exports anytime