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

searxNcrawl and Firecrawl compared, by capability
CapabilitysearxNcrawlFirecrawl
LicenceMITAGPL-3.0 for the server, MIT for the SDKs and the MCP server
How you run itA Python package on your machine: uvx searxncrawlA hosted API, or self-hosted with Docker Compose
API keyNone with your own SearXNG instanceRequired for the hosted API, apart from a rate-limited keyless MCP endpoint
MCP serverBuilt in: search, crawl and crawl_site over STDIO or HTTPA separate package, firecrawl-mcp
Web searchYour SearXNG and/or You.com, queried in parallel and mergedSearch endpoint
Page to MarkdownDeduplicated Markdown via Crawl4AI and PlaywrightScrape endpoint
Whole sitescrawl_site with depth and page limitsCrawl endpoint
URL map of a siteNot includedMap endpoint
Structured extractionNot included; planned for searxNcrawl CloudAgent endpoint, the successor of extract
Screenshots and page actionsNot includedHosted API; not in the default self-hosted setup
Sites that block crawlersStandard Chromium from your network; stealth crawling planned for searxNcrawl CloudFire-engine in the hosted API; not included when self-hosted
REST API and SDKsCLI and Python API today; a Firecrawl-compatible REST API is plannedREST 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 tools and their searxNcrawl counterparts
Firecrawl MCP toolsearxNcrawl MCP tool
firecrawl_searchsearch
firecrawl_scrapecrawl
firecrawl_crawlcrawl_site
firecrawl_map, firecrawl_agent, firecrawl_interactNo 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.