Firecrawl alternative — the TutuSoo API
Own BM25 full-text index + web fallback, structured results from one request.
Firecrawl is great at scraping a single page into LLM-friendly Markdown. If what you need is not "scrape this page" but "ask the whole web and get back a set of relevant results", TutuSoo fits better.
TutuSoo runs its own crawler + Tantivy BM25 full-text index, falls back to external search when local results are thin, and returns structured JSON with title / snippet / source (local/brave) — real-time retrieval for RAG, agents and AI apps, with llms.txt support.
TutuSoo vs Firecrawl
| 對比項 | TutuSoo | Firecrawl |
|---|---|---|
| Core capability | Web-wide retrieval, a set of results | Scrape a given page to Markdown |
| Own index | ✅ Tantivy BM25 full-text | Mostly live scraping |
| CJK tokenizer | ✅ jieba | Generic |
| Source attribution | ✅ local / brave | — |
| llms.txt | ✅ Supported | Partial |
主要功能
Own web index
spider-rs crawler + Tantivy BM25 index focused on high-authority sites — not just single-page scraping.
Structured JSON
GET /api/v1/search returns title / url / snippet / source in one request, ready for your model.
Strong CJK search
title/body tokenized with jieba, so Chinese queries recall properly instead of one giant token.
Safe & compliant
Respects robots.txt + Crawl-delay; outbound SSRF guard rejects private / loopback / cloud-metadata.
使用步驟
- 1 Get an API keyRequest a key on the developer page, or try the public IP-based tier for free first.
- 2 Make one requestGET /api/v1/search?q=your+question with your Authorization header.
- 3 Use the resultsParse the results array (title/url/snippet/source) and feed it to your LLM or render directly.
常見問題
- How is TutuSoo different from Firecrawl?
- Firecrawl leans toward "scrape a given page to Markdown"; TutuSoo leans toward "retrieve a set of relevant results from the whole web". For RAG / grounded Q&A the latter is less work.
- Does it handle Chinese well?
- Yes, and it is tuned for it: the index uses jieba tokenization, so Chinese recall is clearly better than treating a phrase as one token.
- Can I see where results come from?
- Yes. Every result carries a source tag (local index or brave fallback) so you can judge trust and cite.
- Is there rate limiting?
- Yes. With a key it counts per-key rate_limit with X-RateLimit-* headers; without a key it uses the public per-IP tier.
現在就接入圖圖搜 API
免費額度 · 一行請求即得結構化結果 · 支援 llms.txt