Fireplexity

Comparison

Firecrawl alternatives,
by the job they replace.

Firecrawl does two different jobs: it turns a URL into clean markdown, and it searches the web and scrapes the results in one call. Most alternatives do only one of those. Which one you need decides the whole shortlist, so this page sorts them that way, with the cost per query and what each one leaves out.

The short version

Search + page content

Tavily is the closest drop-in: one call returns results with full-page markdown and images, and its free tier covers about 500 answer-engine queries a month. Exa is the alternative if you want its own index and pay-as-you-go billing.

URL to markdown, self-hosted

Crawl4AI if you write Python and want no accounts or credits; add SearXNG or Brave for search. Note the attribution clause in its licence. Jina Reader if you just want a URL prefix that returns markdown.

None of these is cheaper than Firecrawl by an order of magnitude. The per-query costs below land within a cent of each other. The real differences are licence, self-hosting, and which result types you get back.

First: which Firecrawl are you replacing?

Firecrawl's v2 API has grown well past scraping. It has /scrape, /crawl and /map for pages and sites; /search for web, news and image results with optional scraping of each one; and newer endpoints for document parsing, browser sessions, monitoring and agents. Nobody replaces all of that with one tool. People looking for an alternative are usually replacing one of two things:

  • Scrape: “give me this page as markdown.” For RAG ingestion, docs crawling, or feeding a known URL to a model. Lots of alternatives do this well, several of them free.
  • Search and scrape: “find pages about this question and give me their contents.” This is what an AI answer engine needs, and far fewer services do it in one step.

Fireplexity is a useful test case because it needs exactly the second job and nothing else. Its backend makes one Firecrawl call per question: a POST to /v2/search with sources: ["web", "news", "images"], limit: 6, and scrapeOptions asking for each web result as main-content markdown. The markdown feeds the model; the news and images fill the panels around the answer. (The Firecrawl SDK is in package.json, but nothing imports it. The call is a plain fetch.)

So for this page, “can it replace Firecrawl” means: can it return search results with page content, ideally with news and images, at a sane price per query? That is what the table measures.

Is Firecrawl free?

In two senses, with limits. The cloud free plan gives 1,000 credits a month, refreshed monthly, no card, two requests at a time. A scraped page costs 1 credit and a search costs 2 credits per 10 results, so that is about 1,000 pages or 500 searches. A Fireplexity question, which searches three source types and scrapes six to twelve pages, uses 10–16 credits, so the free plan answers 60–100 questions a month.

The engine is open source under AGPL-3.0, so you can self-host it for nothing but the server. The self-hosted version is a smaller product, though. It doesn't include Fire-engine, the anti-bot layer, so screenshots, page actions and hard-to-scrape sites don't work. Agent, browser sessions and the enhanced proxies are cloud-only. And its search falls back to SearXNG or scraped DuckDuckGo results, both of which return web results only. Self-hosted, Fireplexity loses its news and image panels.

Paid cloud plans start at $19 a month for 5,000 credits (Hobby; $16 billed annually), then Standard at about $99 for 100,000 and Growth at about $399 for 500,000 when billed monthly. Annual billing takes about a sixth off. We work through what that means per query in the self-hosting guide.

The alternatives at a glance

Firecrawl alternatives — October 2026
ToolSearch + content in one callOpen sourceFree tierBest at
Firecrawl (cloud)Yes; web, news, imagesEngine AGPL-3.01,000 credits/moOne call for everything
TavilyYes; images too, news is a 2nd callNo1,000 credits/moSearch for agents
ExaYes, via contentsNo$10 credit/moIts own semantic index
Jina Reader / SearchSearch: top 5 with contentReader code, Apache-2.010M tokens on a new keyURL → markdown, no setup
Crawl4AILibrary: no search. Cloud: links, then scrapeApache-2.0 + attributionLibrary free; cloud 2,000 credits onceSelf-hosted scraping in Python
ScrapeGraphAIYes, 2 credits per resultLibrary MIT500 credits onceLLM-driven extraction
SpiderYes, search can crawl resultsCrate MITNot statedFast bulk crawling
Apify Website Content CrawlerNo (crawler)Built on Crawlee, Apache-2.0$5 usage/moWhole-site crawls
Cloudflare Browser RunNo (no search)No10 browser-min/dayMarkdown from a Worker
SearXNG + Crawl4AITwo steps, all yoursAGPL-3.0 / Apache-2.0Free, plus a serverNothing leaves your network

Search + content: the drop-in replacements

Tavily

Tavily is a search API built for agents, and of everything here it is the closest match to Firecrawl's /search. One request with include_raw_content: "markdown" returns up to 20 results with each page's content, and include_images: true adds an image list. News is a separate request with topic: "news". Tavily bills by search depth: 1 credit for a basic search, 2 for advanced, and its docs list no extra charge for raw content or images. A Fireplexity-shaped query is therefore 2 credits: one for web and images, one for news.

That makes the free tier unusually generous for this job: 1,000 credits a month is about 500 queries, or 1,000 if you drop news. Paid plans run from $30 for 4,000 credits up to $500 for 100,000, or $0.008 a credit pay-as-you-go. It also has Extract (1 credit per five URLs), Map and Crawl endpoints, so it covers the scrape job too.

Two caveats. The API is closed, so there is no self-hosted fallback. And it changed hands this year: Nebius completed its acquisition of Tavily on 19 February 2026. Nothing about the API or pricing has visibly changed since, but if you build on it, that's the company you're depending on.

Exa

Exa runs its own index, built for embedding-style search, rather than wrapping a conventional search engine. That changes what you get back. It's good at “pages like this” and conceptual queries, and less predictable for exact names and fresh news. Billing is pay-as-you-go only: search costs $4 per 1,000 requests at the Instant tier or $7 at Fast/Auto (up to 10 results), and page contents cost $1 per 1,000 pages per content type. The free balance resets to $10 on the first of each month.

For an answer engine that is one search plus six pages of text: about 1.0¢ a query at Instant, 1.3¢ at Auto, so roughly 750–1,000 free queries a month. We didn't find news or image results in its pricing or search docs, so treat Exa as web-only for this purpose. That is the main thing “Firecrawl vs Exa” comes down to.

Jina Reader and Jina Search

Jina Reader is the simplest scraper there is: put https://r.jina.ai/ in front of any URL and you get the page back as markdown. It works without a key at 20 requests a minute (we tested it), and a free key raises that to 500. Its search sibling, s.jina.ai, needs a key and returns the top five results with their content, which is the search-and-scrape job in one call, just with a fixed result count. Each search costs a fixed number of tokens, from 10,000, against the 10 million a new key gets free.

Jina AI is now part of Elastic, which completed the acquisition in October 2025. Both APIs still run at the old addresses. The Reader code is on GitHub under Apache-2.0, but the hosted service is the product. We couldn't find a current paid token price on Jina's own pages, so check it before you budget for it.

ScrapeGraphAI and Spider

ScrapeGraphAI is an MIT-licensed library for LLM-driven extraction (describe what you want, and it builds the scraping steps), with a hosted API on top. Its Search endpoint returns results with extracted data at 2 credits per result, so six results is 12 credits: about 2.4¢ on the $20 Starter plan (10,000 credits). That makes it the priciest per query here. It earns that back when you want structured fields rather than raw markdown.

Spider is a Rust crawler (the open-source crate is MIT) with a hosted API whose /search can crawl the results it finds. Pricing is by bandwidth and compute, $1 per GB plus a small CPU charge, so per-query cost depends on page weight and we haven't estimated it. Its pricing page and its own llms.txt also disagree on whether failed requests are billed. It is built for throughput; consider it if you're crawling at volume, not for a handful of answer-engine queries.

URL to markdown: the scrape-only alternatives

Crawl4AI

Crawl4AI is the open-source project most people mean when they search for a Firecrawl alternative. It's a Python library built on Playwright that turns pages into LLM-ready markdown, with filters to strip a page down to its main content and strategies for pulling structured data out with CSS selectors or a model. It also ships a Docker server with REST endpoints (/md, /crawl, /screenshot and others) if you'd rather call it over HTTP. No account, no API key, no credits.

Two things to know before you choose it. First, the library has no web search. Its own docs say so, so for an answer engine you need a separate search source. Second, the licence is Apache-2.0 with an attribution requirement added: public uses, websites included, must credit the project, for example in an About or Credits section. That's easy to comply with but easy to miss, and it means “Apache-2.0” on a dependency list isn't the whole story.

Crawl4AI now also has a hosted cloud, in soft launch, with /scrape, /search, /extract and /answer. Credits cost a tenth of a cent. Search is a flat 1 credit, and a scrape is 0.5 credits multiplied by how hard the page was to get (1× for a plain fetch, 2× with a browser, up to 4× past anti-bot measures). Its /search returns ranked links and snippets rather than page content, so a Fireplexity-shaped query is one search plus six scrapes: 4–7 credits, or about 0.4–0.7¢. That makes it the cheapest hosted option here, at least while the soft-launch prices hold. Adding rich=1 returns news and video links too, but not images.

Apify, Cloudflare Browser Run and the DIY stack

Apify's Website Content Crawler is for crawling whole sites into markdown for RAG, not for answering questions. You pay for platform compute: Apify estimates about $0.20 per 1,000 pages over plain HTTP and $0.50–5 with a headless browser. The free plan includes $5 of usage a month. For bulk ingestion it is often cheaper than paying per page, and that is what “Firecrawl vs Apify” usually turns on.

Cloudflare Browser Run (formerly Browser Rendering) has a /markdown endpoint that renders a page in a headless browser and returns markdown, plus /crawl and /json. You pay for browser time: 10 minutes a day on Workers Free, 10 hours a month on Workers Paid, then $0.09 an hour. It has no search. If your app already runs on Workers, it's the least new infrastructure.

And there is the do-it-yourself stack: Playwright to render pages, Trafilatura to extract the main content, Scrapy if you're crawling at scale. All are permissively licensed (Apache-2.0, Apache-2.0, BSD-3). You give up nothing on licence or cost and take on all of the maintenance: proxies, retries, blocked sites and the long tail of broken HTML.

What a query costs on each

Prices per page or per search are hard to compare, so here is one concrete workload: a Fireplexity-shaped question with six web results scraped to markdown. Where a service can't return news or images, the table says so instead of pretending it's the same product.

One answer-engine query, list prices — October 2026
OptionPer queryFree queries / monthGets news & images?
Firecrawl Standard (monthly)1.0–1.6¢ (10–16 credits)60–100Both, one call
Firecrawl Hobby3.8–6.1¢—Both, one call
Tavily1.0–1.6¢ (2 credits)~500Both, two calls
Exa1.0–1.3¢~750–1,000Web only, as far as we found
Crawl4AI Cloud0.4–0.7¢ (4–7 credits)~300–500, onceNews links, no images
ScrapeGraphAI Starter~2.4¢ (12 credits)~40, onceNot that we found
Brave Search + self-hosted Crawl4AI0.5¢ + a server~1,000Brave returns both
SearXNG + self-hosted Crawl4AI$0 + a serverUnlimited, until throttledWeb only in practice

The cheap end of the table is cheap because you're doing more of the work. The Brave and SearXNG rows mean running a scraper yourself, and SearXNG gets blocked by the engines it queries if you lean on it. Our self-hosting guide covers that catch. Among the hosted options, Tavily on a mid-size plan costs about the same as Firecrawl Standard and has the better free tier. Crawl4AI Cloud undercuts both, at soft-launch prices.

Crawl4AI vs Firecrawl

These two get compared most because both are open source and both produce clean markdown. They are built for different people, though.

Crawl4AI if…

  • You work in Python and want a library, not a service.
  • You only need pages turned into markdown, and you'll bring your own search.
  • You want to self-host with no credit system and a permissive licence (attribution aside).
  • You're happy owning the anti-bot problem on hard sites.

Firecrawl if…

  • You want search and scraping in one hosted call, with news and images.
  • You need hard sites to work, and want someone else to run the anti-bot layer.
  • You use JavaScript or call it over HTTP from any language.
  • You're fine with AGPL for the self-hosted engine, or don't self-host at all.

The licence point matters more than it looks. AGPL-3.0 only reaches you if you modify Firecrawl and offer it over a network, but legal teams often refuse AGPL dependencies outright. Crawl4AI's licence is permissive, but its attribution clause is a requirement, not a request.

Swapping Firecrawl out of Fireplexity

Because Fireplexity makes a single Firecrawl call, replacing it is one function. Return the same three arrays it reads (web, news, images) and the rest of route.ts doesn't need to know. Here's the Tavily version, as a sketch rather than a tested patch:

route.ts — replacing the /v2/search call with Tavily
async function search(query: string) {
  const call = (extra: object) =>
    fetch('https://api.tavily.com/search', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json',
                 Authorization: `Bearer ${process.env.TAVILY_API_KEY}` },
      body: JSON.stringify({ query, max_results: 6, ...extra }),
    }).then(r => r.json())

  const [web, news] = await Promise.all([
    call({ include_raw_content: 'markdown', include_images: true }),  // 1 credit
    call({ topic: 'news' }),                                          // 1 credit
  ])

  return {
    web: web.results.map(r => ({ url: r.url, title: r.title,
      description: r.content, markdown: r.raw_content ?? r.content })),
    news: news.results.map(r => ({ url: r.url, title: r.title,
      snippet: r.content, date: r.published_date })),
    images: (web.images ?? []).map((i, n) => {
      const src = typeof i === 'string' ? i : i.url
      return { url: src, imageUrl: src, position: n + 1 }
    }),
  }
}

Two things to check when you try it. Favicons and Open Graph images, which Firecrawl returns per result, aren't in Tavily's response, so the source cards will need a fallback (a favicon service, or none). And Fireplexity trims each page to about 2,000 characters around the question's keywords before prompting. That keeps working, but it's worth comparing answers side by side, because a different extractor means different text reaches the model.

For a fully self-hosted swap, the same function calls your SearXNG instance's JSON API for links and Crawl4AI's /md endpoint for each page, and returns empty news and images arrays. That is no worse than self-hosted Firecrawl, which loses those panels too.

So which one

  • Building an answer engine or research agent, hosted: Tavily first, and test Exa if your questions are more conceptual than factual. Stay on Firecrawl if you rely on hard-to-scrape sites or want news and images from a single call.
  • Cheapest hosted per query: Crawl4AI Cloud, if you're comfortable building on a service in soft launch.
  • Self-hosted, nothing leaves the network: SearXNG + Crawl4AI, or self-hosted Firecrawl if you'd rather run one service than two. Neither gets you news or images, and both get throttled by search engines eventually.
  • Just need markdown from a URL: Jina Reader for zero setup, Crawl4AI for control, Cloudflare Browser Run if you already live on Workers.
  • Crawling whole sites for RAG: Apify's Website Content Crawler or Spider, priced on compute or bandwidth rather than per page.

Whichever you choose, the scraper decides which text the model sees, and that is where citation errors start. A page that comes back half-extracted produces an answer that cites the right URL for the wrong claim. Our guide to checking AI search citations covers how to catch that, whatever is doing the scraping.

Common questions

Is Firecrawl free?

Partly. The cloud free plan gives 1,000 credits a month with no card, about 1,000 page scrapes or 500 ten-result searches, at two concurrent requests. The engine is also AGPL-3.0 and free to self-host, but self-hosted it has no Fire-engine anti-bot layer, no screenshots or page actions, and its search returns web results only. Paid plans start at $19 a month for 5,000 credits.

What is the best open-source alternative to Firecrawl?

For turning pages into markdown, Crawl4AI: a Python library with a Docker server, Apache-2.0 with an added attribution clause, and no accounts or credits. It has no web search, so for an answer engine pair it with a self-hosted SearXNG instance or the Brave Search API.

Crawl4AI vs Firecrawl: which should I use?

Crawl4AI if you write Python, want to run everything yourself and only need markdown. Firecrawl if you want one hosted call that searches and scrapes, with web, news and image results and anti-bot handling included. Crawl4AI's new cloud has search, but it returns links that you then scrape separately.

Firecrawl vs Tavily: what's the difference?

Firecrawl is a scraper that also searches; Tavily is a search API that also returns page content. For an answer engine they overlap almost completely. Tavily returns results with markdown and images for 1 credit, plus news with a second call, and its free tier covers about 500 such queries a month, against 60–100 on Firecrawl's. Tavily is closed source and has been owned by Nebius since February 2026.

Can I replace Firecrawl in Fireplexity?

Yes. It makes exactly one Firecrawl call, a search for web, news and images with the web results scraped to markdown. Rewrite that one call and map the response to the same fields. Tavily is the closest fit. A fully self-hosted swap with SearXNG and Crawl4AI works too, without the news and image panels.

Sources

  1. firecrawl/fireplexity on GitHub — app/api/fireplexity/search/route.ts at commit 7b7bb97: the single /v2/search call, its parameters and the fields it reads
  2. Firecrawl pricing — plans, free credits, concurrency, credit costs (read 12 October 2026; monthly Standard and Growth prices derived from the page's annual savings); search docs — sources, per-source limits, search credit cost
  3. Self-hosting Firecrawl, open source vs cloud and the firecrawl repository — AGPL-3.0, cloud-only features, self-hosted search backends returning web results only
  4. Tavily Search API reference and API credits — raw content, images, news topic, credit costs and plans
  5. Nebius filing — completion of the Tavily acquisition, 19 February 2026
  6. Exa pricing — search, contents and free balance
  7. Jina Reader — rate limits, search behaviour and free tokens; Elastic — acquisition completed October 2025
  8. Crawl4AI on GitHub — README and LICENSE (attribution requirement); Crawl4AI Cloud docs and price table — endpoints, credit costs, effort multipliers
  9. ScrapeGraphAI pricing and repository
  10. Spider pricing and llms.txt — billing model and endpoints
  11. Apify Website Content Crawler and Apify pricing — per-page cost estimates, free usage
  12. Cloudflare Browser Run pricing — browser-time limits and rate
  13. Brave Search API — price per 1,000 requests and monthly credit; SearXNG search API — JSON format requirement

Prices are list prices checked on 12 October 2026 and change often. Crawl4AI Cloud is in soft launch and says its prices may change. Per-query figures are estimates built on the stated workload, not measurements. This site is an independent community page and is not affiliated with Firecrawl, Tavily, Exa, Jina AI, Crawl4AI or any other project named here.

One call to swap.
Compare the answers.

Fireplexity keeps its scraping in a single function, so you can try any of these against the same questions and judge by the answers, not the pricing page.