searxNcrawl, an open-source Firecrawl alternative
searxNcrawl is an open-source MCP server that gives AI agents web search and clean Markdown crawling, the job many teams use Firecrawl for. This page compares the two, says when each one fits and shows how to switch an MCP client.
searxNcrawl and Firecrawl compared
| Capability | searxNcrawl | Firecrawl |
|---|---|---|
| Licence | MIT | AGPL-3.0 for the server, MIT for the SDKs and the MCP server |
| How you run it | A Python package on your machine: uvx searxncrawl | A hosted API, or self-hosted with Docker Compose |
| API key | None with your own SearXNG instance | Required for the hosted API, apart from a rate-limited keyless MCP endpoint |
| MCP server | Built in: search, crawl and crawl_site over STDIO or HTTP | A separate package, firecrawl-mcp |
| Web search | Your SearXNG and/or You.com, queried in parallel and merged | Search endpoint |
| Page to Markdown | Deduplicated Markdown via Crawl4AI and Playwright | Scrape endpoint |
| Whole sites | crawl_site with depth and page limits | Crawl endpoint |
| URL map of a site | Not included | Map endpoint |
| Structured extraction | Not included; planned for searxNcrawl Cloud | Agent endpoint, the successor of extract |
| Screenshots and page actions | Not included | Hosted API; not in the default self-hosted setup |
| Sites that block crawlers | Standard Chromium from your network; stealth crawling planned for searxNcrawl Cloud | Fire-engine in the hosted API; not included when self-hosted |
| REST API and SDKs | CLI and Python API today; a Firecrawl-compatible REST API is planned | REST API with official SDKs for many languages |
Firecrawl facts as published in its GitHub repository, its MCP server repository and its self-hosting guide, fact-checked on 2026-11-03. searxNcrawl facts describe version 0.33.1.
What each one is built for
Firecrawl is a web data API. Its hosted service covers scraping, crawling, URL maps, search, batch scraping, document parsing, page interaction, monitoring and an agent that collects data from a description, with official SDKs in many languages and a separate MCP server. You send requests with an API key and receive Markdown, structured data or screenshots.
searxNcrawl is an MCP server first. It runs as one Python package next to your agents, searches through SearXNG and, opt-in, You.com, and turns pages and whole sites into deduplicated Markdown. It covers the core of what agents ask a web data API for, search and readable pages, and leaves structured extraction, screenshots and page actions to tools built for them.
Both turn web pages into Markdown for language models, and both render pages that need JavaScript in Chromium. The difference is the shape: Firecrawl is a broad API that agents reach through an MCP adapter, searxNcrawl a focused MCP server that also has a CLI and a Python API.
Both projects are open source, so their repositories, issues and changelogs show how they work and what is being worked on before you commit to either.
Self-hosting in practice
Firecrawl can be self-hosted from its repository with Docker Compose. Its self-hosting guide lists several services for that setup, among them the API, workers, a queue, a database and a Playwright service, and port 3002 on the host. Fire-engine, the component behind anti-bot handling, screenshots and page actions, is not included; LLM-backed extraction needs an OpenAI-compatible provider or Ollama; and authentication is switched off in the quickstart, so production needs its own. searxNcrawl starts with uvx searxncrawl and needs one SearXNG container for search, which the SearXNG JSON API guide sets up in three steps.
The two also differ in where pages are fetched from. The hosted Firecrawl API fetches them from Firecrawl's infrastructure. A self-hosted Firecrawl and searxNcrawl both fetch from your own network, which reaches intranet pages but also meets the bot protection that many sites apply to unknown addresses.
When searxNcrawl fits
- Your agents need web search and page content through MCP, not through a REST API.
- You want search and crawling on your own hardware, with no API key and no usage fees when you search through your own SearXNG instance.
- You want a permissive licence: MIT lets you embed and modify the code without the network copyleft of AGPL-3.0.
- You need to crawl pages behind a login with a browser session you captured yourself.
- You already run SearXNG, or you want to combine it with the You.com search API.
The licence matters once you change the code. Under MIT you may modify searxNcrawl and run it inside a product without publishing your changes. Under AGPL-3.0, users who interact with a modified Firecrawl server over a network are entitled to its corresponding source code. The Firecrawl SDKs and its MCP server are MIT licensed, so this applies to the server, not to client code.
When Firecrawl fits better
- You need a hosted REST API with SDKs today.
- You need structured extraction, screenshots, page actions or a URL map of a site.
- You crawl sites that block data-centre traffic and want a managed anti-bot service.
searxNcrawl Cloud is planned to cover these cases: a Firecrawl-compatible API, structured extraction and premium crawling are among its planned capabilities. None of them is available yet.
Firecrawl is also the shorter path when the client is not an agent: a backend written in Go, Java or .NET gets an official SDK for the REST API, while searxNcrawl offers a CLI and a Python API besides MCP.
Switch an MCP client from Firecrawl to searxNcrawl
Run uvx searxncrawl setup. It registers searxNcrawl with Claude Code, Codex, Gemini CLI, Cursor, VS Code and Claude Desktop, asks for your SearXNG URL and an optional You.com API key, and backs up every file before it changes it. For any other client, replace the Firecrawl entry in its MCP configuration with this block:
{
"mcpServers": {
"crawler": {
"command": "uvx",
"args": ["searxncrawl"],
"env": { "SEARXNG_URL": "http://your-searxng:8888" }
}
}
}| Firecrawl MCP tool | searxNcrawl MCP tool |
|---|---|
firecrawl_search | search |
firecrawl_scrape | crawl |
firecrawl_crawl | crawl_site |
firecrawl_map, firecrawl_agent, firecrawl_interact | No counterpart |
After the switch, update prompts and agent instructions that name Firecrawl tools, and test one search and one crawl. Workflows that depend on firecrawl_map, firecrawl_agent or firecrawl_interact have no counterpart yet; keep Firecrawl for those, since both servers can be registered side by side. Agents that use only search, scrape and crawl through MCP can switch today, without waiting for the planned compatible REST API.
Keep the old configuration until the new one works: uvx searxncrawl setup backs up every file it changes, and uvx searxncrawl setup --remove takes its entries out again.
Which one to try first
If your agents mainly search and read documentation, start with searxNcrawl: run uvx searxncrawl setup, point it at a SearXNG instance and keep Firecrawl registered for everything else. If you need structured data from pages or browser interaction today, start with Firecrawl and add searxNcrawl where search and readable pages are enough.
Neither path has a price on this page. The hosted Firecrawl API is billed by Firecrawl under its plans. Self-hosted, both cost the machine they run on and the time to keep them current; Firecrawl runs several services, searxNcrawl one Python process plus a SearXNG container.
Both can be compared in an afternoon: register both MCP servers, give the agent the same research task once with each, and compare the Markdown it read and the tokens it used.
Firecrawl-compatible API: planned
A Firecrawl-compatible REST API for scrape, crawl, map and search is planned for the open-source server and for searxNcrawl Cloud, so that existing Firecrawl SDKs and integrations work by changing the base URL. It is not released yet. Join the waitlist on the start page to hear when early access to searxNcrawl Cloud opens.
Firecrawl is a trademark of its owner; searxNcrawl is not affiliated with it.
We reviewed these facts on 2026-11-03 against the linked sources. Our editorial and corrections policy says how we keep them current and fix errors.
Frequently asked questions
Is there a free, open-source alternative to Firecrawl?
Yes. searxNcrawl is MIT licensed and free to run yourself. It gives AI agents web search and page crawling to Markdown through MCP, and it needs no API key when it searches through your own SearXNG instance.
Can I self-host a Firecrawl alternative without Docker?
Yes. searxNcrawl is a Python package: uvx searxncrawl starts the MCP server and Chromium downloads on the first crawl. Search needs a SearXNG instance, which runs as a separate service, and/or a You.com API key. A Docker setup is described in the installation guide on GitHub.
Do Firecrawl SDKs work with searxNcrawl?
Not yet. A Firecrawl-compatible REST API for scrape, crawl, map and search is planned for the open-source server and for searxNcrawl Cloud. Today searxNcrawl offers MCP tools, a CLI and a Python API.
What is the difference between Firecrawl and searxNcrawl?
Firecrawl is a web data API, used hosted or self-hosted, with a REST interface, SDKs and an MCP server. searxNcrawl is an MCP server first: it runs on your machine, searches through SearXNG and/or You.com and crawls pages and sites to Markdown, under the MIT licence.