> Search many engines as one, read pages and PDFs, and get back the passages that answer the question, each with its source.

Canonical page: https://clawifi.dev/

# Web access for AI agents.
Only the lines that answer.

Search many engines as one, read pages and PDFs, and get back the passages that answer the question, each with its source.

[Get an API key](https://clawifi.dev/signup)

Works with any MCP client

pip install clawifi

1,000 free credits **·** 8 lanes, 46 providers **·** MCP, Python SDK and HTTP **·** public beta

[ 02 / 09 ] · Clients

## Works with the agents you already run.

- Claude Code
- Codex
- Cursor
- Claude Desktop
- Hermes
- any MCP client

MCP server **·** Python SDK **·** plain HTTP

[ 03 / 09 ] · Core

## Three calls. Three kinds of answer.

search_free

### Search

Free engines first, merged by rank, three results a query, each with the engine that found it.

What is the Model Context Protocol (MCP)?modelcontextprotocol.io · via meta search (bing, yahoo, google cse)

scrape / fetch

### Read

A page or a PDF comes back as markdown, with page markers and ruled tables. A scanned file is flagged as needing OCR instead of being guessed.

# asyncio — Asynchronous I/Odocs.python.org · fetched directly, no browser

fetch(url, query=…)

### Ask a page

Pass a question and the page becomes the passages that answer it, in page order, each with its heading and offset.

asyncio is a library to write concurrent code using the async/await syntax.passage 1 · heading “asyncio” · docs.python.org

# your agent calls the tool
search_free(query="what is the Model Context Protocol")
fetch(url="https://docs.python.org/3/library/asyncio.html", query="what is asyncio for")
# pip install clawifi
from clawifi import Clawifi

client = Clawifi() # reads CLAWIFI_API_KEY
hits = client.search_free("what is the Model Context Protocol")
page = client.fetch("https://docs.python.org/3/library/asyncio.html", query="what is asyncio for")
curl https://api.clawifi.dev/search/free -H "Authorization: Bearer $CLAWIFI_API_KEY" -H "content-type: application/json" -d '{"query": "what is the Model Context Protocol"}'

[ 04 / 09 ] · Trace

## Every step on the record.

Each run says which engine was asked, which answered, what was merged and how long it took. When only one engine answers, it says so.

- **Failed engines are shown, not hidden.** A paused or rate-limited engine stays in the trace, dimmed, with the reason.

- **Sources on every line.** Every result carries its URL and the engine that found it.

- **Nothing invented.** If the live API can’t answer, the box replays a dated recording and labels it.

- asked the meta-search engine: “what is the Model Context Protocol”

- engines inside it: bing, yahoo, google cse

- 3 results, merged by rank

- sources: modelcontextprotocol.io, en.wikipedia.org, databricks.com

- answered end to end5.3 s

Live playground run, recorded 20 Oct 2026. Only the meta-search engine answered on that run.

[ 05 / 09 ] · Measured

## Measured, with the method attached.

38 of 40

### searches landed on target

40 prospecting queries on the live playground, no paid key, 3 results each: all 40 answered, median 3.8 s. Measured 20 Oct 2026 from one location.

8 of 8 2 of 2

### text PDFs read · scanned PDFs flagged

Every text PDF came back as markdown; both scanned files were flagged as needing OCR instead of returning fragments. Published 13 Oct 2026.

3,746919

### tokens per page, median, with passages

The answer was in the top 3 passages on 26 of 29 pages. Published 13 Oct 2026.

[ 06 / 09 ] · Lanes

## 8 lanes, one API.

Each kind of question goes to the sources that hold it, free first.

| Lane | Providers | Examples |

| Free web search | 13 | Meta search, DuckDuckGo, Marginalia, … |
| Sitemap, RSS, and docs discovery | 5 | robots.txt, Sitemaps, Page links, … |
| Open scholarly archives | 8 | arXiv, Crossref, Zenodo, … |
| Academic workflows | 5 | arXiv, PubMed, Semantic Scholar, … |
| Package registries | 8 | PyPI, npm, crates.io, … |
| Dataset registries | 4 | Hugging Face, OpenML, Dataverse, … |
| Code intelligence | 1 | GitHub |
| Domain and identity OSINT | 3 | Domain records, Username search, Email checks |

Also in the APIBrowserMonitorCrawlMapBatchSocial threadsDomain reconDatasetsPackages

Catalogue as of 2026-10-13 · [every source →](https://clawifi.dev/sources)

[ 07 / 09 ] · Onboarding

## Three steps to your agent’s first answer.

- 1 · Pick your client
- 2 · Paste
- 3 · Ask

Which agent will use Clawifi?

Install, get a key, add it to your client:

pip install clawifi
clawifi signup --email you@example.com

Restart the client and ask it something that needs the web:

“Use clawifi to search for the latest Python release notes and read the top result.”
[Read the docs](https://clawifi.dev/docs)

[ 08 / 09 ] · Pricing

## Start free. Pay as you grow.

### Free

**$0**/ month
1,000 credits a month
[Start free](https://clawifi.dev/signup)

### Starter

**$19**/ month
10,000 credits a month
[Choose Starter](https://clawifi.dev/signup?plan=starter)

### Pro

**$99**/ month
125,000 credits a month
[Choose Pro](https://clawifi.dev/signup?plan=pro)

### Scale

**$299**/ month
500,000 credits a month
[Choose Scale](https://clawifi.dev/signup?plan=scale)

Most calls cost 1 credit · browser renders 3 · cache hits and failures on our side are free · [every price →](https://clawifi.dev/pricing#credits)

[ 09 / 09 ] · FAQ

## Questions, answered plainly.

### What does Clawifi return?

Search returns ranked results with the URL and the engine that found each one. Read returns a page or PDF as markdown. Read it with a question and you get only the passages that answer it, each with its heading and its place in the page.

### Which agents can use it?

Any MCP client: Claude Code, Claude Desktop, Cursor, Codex, Hermes and others. There is also a Python SDK and a plain HTTP API.

### Which engines does search use?

Free engines first. The hosted playground runs a private meta-search engine that queries several web engines and merges them by rank; paid providers are only used when you enable them.

### What happens when a page can’t be read?

It says so. A blocked page is reported as blocked, and a scanned PDF is flagged as needing OCR instead of being passed off as text.

### How are credits counted?

Most calls cost 1 credit. A page that needs the browser costs 3, a PDF 2 per 50 pages, and research 30 to 300 depending on how much it reads; the [pricing page](https://clawifi.dev/pricing#credits) lists every operation. Cache hits, failures on our side and errors in the request itself (such as a bad input or a missing key) are free; a page whose own site answers with an error (such as a 404) is still charged. Asking a question about a page adds nothing, and the playground needs no key.

### Where does the 38/40 number come from?

40 prospecting searches run against the live playground on 20 Oct 2026 (and 13 Oct before it, with the same result), with no paid key, from one location. Results move with the web, so we date every number and re-measure it.
