Skip to content
Guideintermediate

Firecrawl vs Tavily vs Exa: we ran the same 50 searches through all three

The short version

Pondero Labs sent 50 identical queries to the Exa, Tavily and Firecrawl search APIs and graded the results. Exa returned the official source most often, Firecrawl was fastest, and Firecrawl's free plan stops you at 10 searches a minute. Full data, setup and code included.

Published July 30, 2026 · Updated October 19, 2026by Jonathan Hildebrandt
Table of Contents

Firecrawl vs Tavily vs Exa: we ran the same 50 searches through all three

We sent the same 50 questions to the Exa, Tavily and Firecrawl search APIs on October 19, 2026, from one server, on each service's free plan, and checked what came back. Three results stood out.

  • Exa put the official source in its top 3 most often: 106 of 150 top results came from the vendor's own site or docs, against 79 for Firecrawl and 44 for Tavily. On the 20 queries we graded by hand, Exa scored 40 out of 40.
  • Firecrawl was the fastest: a 0.98 second median, against 1.37 seconds for Exa and 1.77 for Tavily.
  • Firecrawl's free plan has a wall: 10 searches a minute. Our first pass sent 50 back to back and 40 were refused.

If your agent needs the right page, start with Exa. If it needs speed on a budget, Firecrawl. Tavily was the most likely to hand back a secondary or outdated source. The rest of this page shows how we ran the test, every request we sent, and the raw results, so you can run it yourself.

Test setup
DateOctober 19, 2026, 13:29 to 13:40 UTC
WhereOne server in Falkenstein, Germany
PlansFree plan on all three
EndpointsExa /search, Tavily /search, Firecrawl /v2/search
SettingsEach API's recommended default request, 10 results per query
Queries50, ten each for pricing, setup, docs, news and comparisons
Searches150 (plus a throttled Firecrawl rerun)
Code and datarun.py, results.csv

Watch it run

One query through all three APIs, then 12 Firecrawl searches back to back until the free plan refuses them. Output captured live on October 19, 2026 with demo.py and replayed; the raw capture with timings is in demo-capture.json.

The results

ExaFirecrawlTavily
Top-3 results from the official source (of 150)1067944
Answer quality, 20 graded queries (max 40)403432
Median response time1.37 s0.98 s1.77 s
Slowest 1 in 20 searches2.0 s1.9 s2.6 s
Cost of our 50 searches$0.35100 credits50 credits
Free plan$10 credits a month + $10 bonus1,000 credits a month (500 searches)1,000 credits a month
Free-plan limit we hitnone10 searches a minutenone

Bar chart: top-3 results from the vendor's own site or docs, out of 150. Exa 106 (71 percent), Firecrawl 79 (53 percent), Tavily 44 (29 percent).

Bar chart: answer quality on 20 graded queries, out of 40. Exa 40, Firecrawl 34, Tavily 32.

Bar chart: median response time per search. Firecrawl 0.98 seconds, Exa 1.37 seconds, Tavily 1.77 seconds.

On 12 of the 20 graded queries all three APIs scored full marks. The difference lives in the other 8.

Where Tavily and Firecrawl slipped

"OpenAI API price per million tokens for the newest GPT model." Exa's top two results were OpenAI's own pricing and models pages. Tavily's top three were articles from May 2026 calling GPT-5.5 the newest flagship, five months and two model generations out of date. This is the top Tavily result, as returned:

1. OpenAI API Pricing May 2026: GPT-5.5, o4-mini & All Models   (metacto.com)
   "GPT-5.5 ($5/$30 per 1M tokens) is OpenAI's newest flagship
    general-purpose model released April 2026, with a 1M context window..."

"Latest Claude model release announcement." Exa returned Anthropic's announcements page with Claude Haiku 5.5 (October 7) on top. Tavily returned third-party pages naming Opus 5 and Fable 5. Firecrawl found a current third-party timeline, but not the announcement itself.

"How to add an MCP server to Claude Code." Exa and Tavily both returned Anthropic's Claude Code docs. Firecrawl's top three were a Reddit thread, an MCP page written for Claude Desktop, and a YouTube video. Firecrawl's results looked the most like a general web search, forums and video included.

"Anthropic Messages API max_tokens parameter documentation." Only Exa returned Anthropic's API reference. Tavily led with a LangChain GitHub issue; Firecrawl with NVIDIA's and AWS Bedrock's docs for the same API.

Pricing questions. For "Cursor Teams plan price per seat", Tavily's top three were all third-party pricing blogs. Exa and Firecrawl both returned cursor.com.

The pattern held across all 50 queries: Tavily favoured write-ups about a product, Firecrawl mixed official pages with forums and video, and Exa leaned hardest toward the source itself.

Explore all 50 queries

Pick a category or type a word to see what each API returned for every query in the test: the top 3 results, the response time, which results came from the official source, and the grade where we graded it.

PricingGitHub Copilot Pro+ monthly price and included AI creditsGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 0.23 s
  1. Usage-based billing for individualsdocs.github.comofficial
  2. Plans for GitHub Copilotdocs.github.comofficial
  3. GitHub Copilot · Plans & pricing · GitHubgithub.comofficial

GitHub docs billing + plans + pricing page

Firecrawl 0.57 s
  1. GitHub Copilot · Plans & pricinggithub.comofficial
  2. Plans for GitHub Copilotdocs.github.comofficial
  3. Copilot pro pricing, what's the catch? : r/GithubCopilot - Redditreddit.com

GitHub pricing page + plans docs

Tavily 0.48 s
  1. GitHub Copilot is moving to usage-based billing - The GitHub Bloggithub.blogofficial
  2. Plans for GitHub Copilot - GitHub Docsdocs.github.comofficial
  3. Usage-based billing for individuals - GitHub Docsdocs.github.comofficial

GitHub blog + docs with AI credits table

PricingCursor Teams plan price per seatGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 1/2
Exa 1.61 s
  1. Team Pricingcursor.comofficial
  2. Improvements to Teams Pricing · Cursorcursor.comofficial
  3. cursor.comcursor.comofficial

Cursor docs Team Pricing + Cursor blog

PricingClaude Max plan price and usage limitsGrade: Exa 2/2 | Firecrawl 1/2 | Tavily 1/2
Exa 0.94 s
  1. What is the Max plan? | Anthropic Help Centersupport.claude.comofficial
  2. Plans & Pricing | Claude by Anthropicclaude.comofficial
  3. Manage usage credits for paid Claude plans | Claude Help Centersupport.claude.comofficial

Claude help center Max article + claude.com/pricing

Firecrawl 0.59 s
  1. How do usage and length limits work? | Claude Help Centersupport.claude.comofficial
  2. Claude Code Rate Limits & Usage Quotas Explained (2026)truefoundry.com
  3. Claude is the better product. Two compounding usage caps ... - Redditreddit.com

official usage-limits article (limits, not price) + third-party

PricingOpenAI API price per million tokens for the newest GPT modelGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 0/2
Exa 1.04 s
  1. Pricingdevelopers.openai.comofficial
  2. Models | OpenAI APIdevelopers.openai.comofficial
  3. GPT-6.1 Sol Pricing: API Cost per Million Tokens (listed 2026-09-29)overpayingforai.com

OpenAI pricing + models pages

Firecrawl 0.69 s
  1. Pricing | OpenAI APIdevelopers.openai.comofficial
  2. Business Pricing - OpenAIopenai.comofficial
  3. OpenAI API Pricing (October 2026): Model & Token Costs - BenchLM.aibenchlm.ai

OpenAI pricing page

PricingZapier free plan task limit per monthGrade: Not hand-graded
PricingMake.com Core plan operations per month and priceGrade: Not hand-graded
Pricingn8n cloud Starter plan price and workflow executionsGrade: Not hand-graded
PricingFirecrawl free plan credits per monthGrade: Not hand-graded
PricingPerplexity Pro subscription priceGrade: Not hand-graded
PricingWindsurf Pro plan price and creditsGrade: Not hand-graded
Setuphow to add an MCP server to Claude CodeGrade: Exa 2/2 | Firecrawl 1/2 | Tavily 2/2
Exa 1.40 s
  1. Connect Claude Code to tools via MCP - Claude Code Docscode.claude.comofficial
  2. Connect to MCP servers - Claude Code Docscode.claude.comofficial
  3. MCP · Claude Code 101 · Claude Academyacademy.claude.comofficial

Claude Code MCP docs + quickstart

Tavily 1.77 s
  1. Set Up MCP with Claude Code | SailPoint Developer Communitydeveloper.sailpoint.com
  2. Connect to MCP servers - Claude Code Docscode.claude.comofficial
  3. Usage with Claude Code | MCP Server | Make Developer Hubdevelopers.make.comofficial

Claude Code MCP quickstart (2nd)

Setuphow to self-host n8n with Docker ComposeGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 2.10 s
  1. Install using Docker Compose | Deploy | n8n Docsdocs.n8n.ioofficial
  2. Use Docker Compose | Deploy | n8n Docsdocs.n8n.ioofficial
  3. Host n8n | Deploy | n8n Docsdocs.n8n.ioofficial

n8n Docker Compose docs

Firecrawl 1.01 s
  1. Install with Docker | Deploy - n8n Docsdocs.n8n.ioofficial
  2. Use Docker Compose | Deploy - n8n Docsdocs.n8n.ioofficial
  3. Self host N8N : r/n8n - Redditreddit.com

n8n Docker / Docker Compose docs

Setuphow to set a custom model in GitHub Copilot for VS CodeGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 1.69 s
  1. AI language models in VS Codecode.visualstudio.comofficial
  2. Changing the AI model for GitHub Copilot Chatdocs.github.comofficial
  3. docs.github.comdocs.github.comofficial

VS Code language models docs + GitHub docs

Firecrawl 0.91 s
  1. AI language models in VS Codecode.visualstudio.comofficial
  2. Changing the AI model for GitHub Copilot inline suggestionsdocs.github.comofficial
  3. Allow GitHub Copilot in VS Code to configure third-party / custom model ...github.comofficial

VS Code language models docs

Tavily 2.36 s
  1. Custom Models for GitHub Copilotplainconcepts.com
  2. Set up GitHub Copilot in VS Codecode.visualstudio.comofficial
  3. How to Use Custom Models with API Keys in GitHub Copilot (VSCode) - Bring Your Own Key (BYOK)syntackle.com

VS Code setup docs (bring your own key)

Setuphow to connect Zapier to Slack and post a message when a form is submittedGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Setuphow to run Llama models locally with Ollama on LinuxGrade: Not hand-graded
Setuphow to give Cursor rules for a projectGrade: Not hand-graded
Setuphow to create a scenario in Make that watches Gmail and saves attachments to Google DriveGrade: Not hand-graded
Setuphow to set up the Claude Agent SDK in PythonGrade: Not hand-graded
Setuphow to use the OpenAI Responses API with web search toolGrade: Not hand-graded
Exa 1.62 s
  1. Web searchdevelopers.openai.comofficial
  2. Using toolsdevelopers.openai.comofficial
  3. Web search | OpenAI APIdevelopers.openai.comofficial
Firecrawl 0.92 s
  1. Web search | OpenAI APIdevelopers.openai.comofficial
  2. Web Search in Responses API - OpenAI Developer Communitycommunity.openai.comofficial
  3. Using tools | OpenAI APIdevelopers.openai.comofficial
Setuphow to install the Tavily MCP server in CursorGrade: Not hand-graded
DocsAnthropic Messages API max_tokens parameter documentationGrade: Exa 2/2 | Firecrawl 1/2 | Tavily 1/2
Exa 1.46 s
  1. Messagesdocs.anthropic.comofficial
  2. Messagesplatform.claude.comofficial
  3. Using the Messages APIplatform.claude.comofficial

Anthropic Messages API reference

DocsGitHub Copilot coding agent supported repositories requirementsGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 1.33 s
  1. GitHub Copilot on GitHub.comdocs.github.comofficial
  2. Adding GitHub Copilot cloud agent to your organization - GitHub Docsdocs.github.comofficial
  3. Understanding and enabling the GitHub Copilot Cloud Agentlearn.microsoft.com

GitHub docs about cloud agent + org setup

Firecrawl 9.00 s
  1. GitHub Copilot on GitHub.comdocs.github.comofficial
  2. GitHub Copilot · Agents on GitHubgithub.comofficial
  3. Application card: GitHub Copilot Agentsdocs.github.comofficial

GitHub docs (repo hosting requirement)

Tavily 1.52 s
  1. GitHub Copilot on GitHub.com - GitHub Docsdocs.github.comofficial
  2. GitHub Copilot: Meet the new coding agent - The GitHub Bloggithub.blogofficial
  3. GitHub Copilot · Your AI coding agent · GitHub · GitHubgithub.comofficial

GitHub docs (repo hosting requirement)

DocsExa search API contents highlights parameterGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 1.57 s
  1. Search - Exaexa.aiofficial
  2. Highlights - Exaexa.aiofficial
  3. Exa Search APIexa.aiofficial

Exa search reference + highlights page

Firecrawl 1.07 s
  1. Contents API - Exaexa.aiofficial
  2. Search Best Practices - Exaexa.aiofficial
  3. Exa Search APIexa.aiofficial

Exa docs

Tavily 2.60 s
  1. Contents API - Exaexa.aiofficial
  2. Exa Search API - Exaexa.aiofficial
  3. Exa Search API - Exaexa.aiofficial

Exa docs

DocsFirecrawl scrape endpoint formats markdown jsonGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 1.42 s
  1. Scrape - Firecrawl Docsdocs.firecrawl.devofficial
  2. Advanced Scraping Guide | Firecrawldocs.firecrawl.devofficial
  3. JSON mode | Firecrawldocs.firecrawl.devofficial

Firecrawl scrape API reference

Firecrawl 1.02 s
  1. Scrape - Firecrawl Docsdocs.firecrawl.devofficial
  2. How to Use Firecrawl's Scrape API: Complete Web Scraping Tutorialfirecrawl.devofficial
  3. JSON mode - Firecrawl Docsdocs.firecrawl.devofficial

Firecrawl scrape docs

Tavily 1.84 s
  1. How to Use Firecrawl's Scrape API: Complete Web Scraping Tutorialfirecrawl.devofficial
  2. Scrape | Firecrawldocs.firecrawl.devofficial
  3. Add AI-Powered Data Retrieval to Your Product with Firecrawlfirecrawl.devofficial

Firecrawl blog + scrape docs

DocsCloudflare Pages _redirects file limitsGrade: Not hand-graded
Exa 1.26 s
  1. Redirects · Cloudflare Pages docsdevelopers.cloudflare.comofficial
  2. Limits · Cloudflare Pages docsdevelopers.cloudflare.comofficial
  3. src/content/partials/workers/redirects.mdxgithub.comofficial
Firecrawl 0.98 s
  1. Redirects · Cloudflare Pages docsdevelopers.cloudflare.comofficial
  2. Limits · Cloudflare Pages docsdevelopers.cloudflare.comofficial
  3. _redirects silently drops rules after #100 - docs say 2,000 static limitcommunity.cloudflare.com
DocsModel Context Protocol specification tools listGrade: Not hand-graded
DocsGemini API context caching pricing documentationGrade: Not hand-graded
DocsLangGraph checkpointer persistence documentationGrade: Not hand-graded
DocsZapier webhooks catch hook documentationGrade: Not hand-graded
DocsOllama REST API generate endpoint parametersGrade: Not hand-graded
Newslatest Claude model release announcementGrade: Exa 2/2 | Firecrawl 1/2 | Tavily 0/2
Exa 1.32 s
  1. Product announcements | Claude by Anthropicclaude.comofficial
  2. Release notes | Claude Help Centersupport.claude.comofficial
  3. Claude Platform release notesplatform.claude.comofficial

Claude announcements: Haiku 5.5, Oct 7 2026

Firecrawl 1.13 s
  1. A public timeline of major Anthropic Claude model releases ... - GitHubgithub.comofficial
  2. Claude (AI) - Wikipediaen.wikipedia.org
  3. Models overview - Claude Platform Docsplatform.claude.comofficial

third-party timeline (current) + Wikipedia + models overview

NewsGitHub Copilot changelog this weekGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 1.38 s
  1. GitHub Copilot weekly releases - October 5 - GitHub Changeloggithub.blogofficial
  2. Use Case: copilot - GitHub Changeloggithub.blogofficial
  3. 10/2026 - GitHub Changeloggithub.blogofficial

Copilot weekly releases Oct 9 + changelog

Firecrawl 1.19 s
  1. Use Case: copilot - GitHub Changeloggithub.blogofficial
  2. GitHub Changeloggithub.blogofficial
  3. Releases · github/copilot-cligithub.comofficial

official changelog pages

Tavily 2.59 s
  1. GitHub Changelog Shipping Calendarfintanr.com
  2. GitHub Copilot releases and changelog · DevAgentRadardevagentradar.com
  3. Use Case: copilot - GitHub Changeloggithub.blogofficial

third-party calendar + official changelog label (3rd)

NewsOpenAI DevDay 2026 announcementsGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 1.06 s
  1. DevDay 2026 Recap | OpenAIopenai.comofficial
  2. OpenAI DevDay 2026 | OpenAIopenai.comofficial
  3. DevDay 2026learn.chatgpt.com

OpenAI DevDay 2026 recap

Firecrawl 0.94 s
  1. DevDay 2026 Recap | OpenAIopenai.comofficial
  2. OpenAI DevDay 2026openai.comofficial
  3. DevDay 2026 announcements and developer resourcescommunity.openai.comofficial

OpenAI DevDay 2026 recap

NewsCursor latest release notesGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Exa 1.30 s
  1. What's New in Cursor - Latest Updates & Release Notescursor.comofficial
  2. Release notes | Cursor Docscursor.comofficial
  3. CLI Changelogcursor.comofficial

cursor.com/changelog + release notes

Firecrawl 1.95 s
  1. Changelogcursor.comofficial
  2. Cursor Release Notes - October 2026 Latest Updates - Releasebotreleasebot.io
  3. Changelog or release notes not updated why - Help - Cursor Forumforum.cursor.comofficial

cursor.com/changelog Oct 16

NewsGoogle Gemini newest model launchGrade: Not hand-graded
NewsAI agent security incident this monthGrade: Not hand-graded
NewsHugging Face acquisition newsGrade: Not hand-graded
NewsEU AI Act general purpose AI obligations deadlineGrade: Not hand-graded
NewsAnthropic funding round latest valuationGrade: Not hand-graded
NewsMistral new model releaseGrade: Not hand-graded
CompareCursor vs GitHub Copilot for a team of 10 developersGrade: Exa 2/2 | Firecrawl 1/2 | Tavily 1/2
CompareMake vs Zapier for small business automationGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
Tavily 1.53 s
  1. Zapier vs. Make (Integromat): Pricing & Reliability | Zapierzapier.comofficial
  2. Make.com vs Zapier Automation Comparison Guide 2026 | Knackknack.com
  3. Zapier vs Make vs Power Automate | Parseur®parseur.com

Zapier's compare page (vendor-written) answers small business directly

Comparen8n vs Make pricing at 10000 executions per monthGrade: Exa 2/2 | Firecrawl 2/2 | Tavily 2/2
CompareClaude Code vs Codex CLIGrade: Exa 2/2 | Firecrawl 1/2 | Tavily 2/2
CompareExa vs Tavily vs Firecrawl for AI agent web searchGrade: Not hand-graded
CompareLangGraph vs CrewAI for multi-agent workflowsGrade: Not hand-graded
ComparePerplexity vs ChatGPT search for researchGrade: Not hand-graded
CompareOllama vs LM Studio for running local modelsGrade: Not hand-graded
CompareLindy vs Relevance AI for building AI agentsGrade: Not hand-graded
CompareWindsurf vs Cursor 2026Grade: Not hand-graded

Top 3 results each API returned on October 19, 2026, with response time. "official" marks the vendor's own domain (list in official-domains.json). Grades follow the rubric in rubric.md.

Firecrawl's 10-searches-a-minute wall

Our first pass fired the 50 queries back to back. Firecrawl answered the first 10, then refused the rest:

{
  "success": false,
  "error": "Rate limit exceeded. Consumed (req/min): 11, Remaining (req/min): 0. Upgrade your plan at https://firecrawl.dev/pricing for increased rate limits or please retry after 49s",
  "retry_after_seconds": 49
}

We reran Firecrawl with a 6.5 second pause between calls and all 50 went through. The refused calls cost nothing: Firecrawl's activity log, exported from the dashboard, lists only the 61 searches that completed (2 credits each), and none of the 40 that hit the limit.

Firecrawl dashboard Usage Over Time chart: a single bar of about 120 credits for the /search endpoint on October 19, with 123 credits from successful jobs and 62 jobs, 0 failed. Our Firecrawl usage after the test, from the dashboard, October 19, 2026.

Firecrawl Credits Remaining panel: free plan, 1,000 credits granted, 123 used, 877 remaining, refreshing November 13, 2026. Free-plan balance after the run: 123 of 1,000 credits used.

If your agent fans out several searches per step, plan for this limit on the free plan, or add a queue that waits on retry_after_seconds. The dashboard also shows a browser concurrency limit of 2 on the free plan.

What it costs

Exa billed $0.007 per search in our run, $0.35 for all 50, reported back in each response's costDollars field. Its free plan gives $10 of credits a month plus a $10 bonus, roughly 1,400 searches a month at that rate.

Exa pricing page: free Starter plan with $10 credits every month plus a $10 onboarding bonus, Developer pay-as-you-go plan, and custom Enterprise plan. Source: exa.ai, captured October 19, 2026.

Tavily's basic search costs 1 credit. The free Researcher plan includes 1,000 credits a month, pay-as-you-go is $0.008 per credit, and the Project plan is $30 a month for 4,000 credits, per Tavily's pricing page.

Tavily pricing page: free Researcher plan with 1,000 API credits a month, pay-as-you-go at $0.008 per credit, Project plan at $30 a month for 4,000 credits, and custom Enterprise. Source: tavily.com, captured October 19, 2026.

Firecrawl charged 2 credits per 10-result search, so its 1,000 free credits cover 500 searches a month. Our server is in Germany and Firecrawl's pricing page showed euro prices there, so we left that screenshot out; check firecrawl.dev/pricing for prices in your currency.

What would your volume cost?

Drag the slider to your monthly search volume.

10,000
Searches / monthExaTavilyFirecrawl
10,000$60.00after the $10 free monthly credit$72.00Pay as you go20,000 creditssmallest plan: Standard
1,000$0.00after the $10 free monthly credit$0Free plan2,000 creditssmallest plan: Hobby
100,000$690.00after the $10 free monthly credit$792.00Pay as you go200,000 creditssmallest plan: Growth

Estimates from each vendor's list prices on October 19, 2026 and the cost per search we measured: Exa $0.007 per search with $10 of free credit a month; Tavily 1 credit per basic search, 1,000 free credits, then $0.008 per credit or the $30 Project plan for 4,000 credits (above 4,000 searches we show pay-as-you-go; Tavily's larger Project tiers, priced on its pricing page slider, may cost less); Firecrawl 2 credits per 10-result search, plan names by monthly credits (Free 1,000, Hobby 5,000, Standard 100,000, Growth 500,000). Firecrawl showed euro prices to our server, so we show credits; check firecrawl.dev/pricing for your price.

How we ran it

The questions. 50 queries, 10 each in five categories a developer or an agent would actually run: pricing ("Claude Max plan price and usage limits"), setup ("how to self-host n8n with Docker Compose"), docs lookups ("Firecrawl scrape endpoint formats markdown json"), news ("GitHub Copilot changelog this week") and comparisons ("n8n vs Make pricing at 10000 executions per month"). The full list is in queries.txt.

The requests. Each API got its plain, recommended search call, asking for 10 results. Nothing tuned per query.

# Exa: the request Exa's own docs recommend (10 results by default)
curl -s https://api.exa.ai/search -H "x-api-key: $EXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "Cursor Teams plan price per seat", "type": "auto", "contents": {"highlights": true}}'

# Tavily (defaults to 5 results, so we asked for 10)
curl -s https://api.tavily.com/search -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "Cursor Teams plan price per seat", "max_results": 10}'

# Firecrawl (defaults to 5 results, so we asked for 10)
curl -s https://api.firecrawl.dev/v2/search -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "Cursor Teams plan price per seat", "limit": 10}'

What we measured. For every call: response time, HTTP status, the results returned, and the cost or credits the API reported. All 150 searches ran on October 19, 2026, between 13:29 and 13:40 UTC, from a server in Falkenstein, Germany.

Official-source count. We counted a top-3 result as official when its domain belongs to the vendor the query is about (for example cursor.com, docs.github.com, code.claude.com). The domain list is published in official-domains.json.

Grading. Before looking at results, we wrote a three-point rubric: 2 when a top-3 result answers the query from an official or authoritative current source, 1 when the answer is only on a secondary or outdated page, 0 when nothing in the top 3 answers it. Comparison queries have no single official source, so for them a current comparison that addresses the specific question also scores 2. We graded the first 4 queries in each category, 20 in all, from each result's title, URL and snippet, opening the page when the snippet was unclear. The rubric and every grade with its reason are in rubric.md and grades.csv.

Run it yourself

  1. Create free accounts at exa.ai, tavily.com and firecrawl.dev, and copy an API key from each dashboard.
  2. Download run.py and queries.txt. The script needs only Python 3.
  3. Export the keys and run it. On Firecrawl's free plan, keep the pause:
export EXA_API_KEY=...  TAVILY_API_KEY=...  FIRECRAWL_API_KEY=...
python3 run.py queries.txt --providers exa,tavily
python3 run.py queries.txt --providers firecrawl --sleep 6.5
  1. Results land in results/<timestamp>/ as one JSON line per search. Swap in your own queries; the ones your agent really sends are the test that matters.

Expect the speed and cost figures to land close to ours. The rankings will shift with time, region and topic.

What this test does not show

  • One day, one region. All searches ran on October 19 from Germany. Search results change daily, and "latest" queries most of all: Tavily's two zero scores were both on "newest model" questions.
  • 20 graded queries. The official-source count covers all 50; the hand grading covers 20, and grades rest partly on snippets.
  • Default settings only. Exa's faster modes, Tavily's advanced search depth and Firecrawl's scrape-on-search options were not tested. Exa's own instant mode is built for lower latency than the auto mode we used.
  • Search only. Scraping full pages, crawling sites and each API's research mode are a separate test.

Which one to pick

Your agent answers questions about products, prices or docs: Exa. It returned the source of truth more often than the other two, which is what keeps an agent from repeating a stale blog post.

Your agent searches often and speed matters more than the source: Firecrawl. It was the fastest of the three, and its results include forums and video, which some research tasks want. Budget for the free plan's 10-a-minute limit, or upgrade. You can start free with Firecrawl and check the result shape your pipeline expects.

You want a simple per-credit bill and LangChain-ready defaults: Tavily, with a check step for anything time-sensitive. Its results leaned on secondary sources in our test.

For the single-tool deep dive, see our Firecrawl pricing breakdown.

Download the data

What changed

  • October 19, 2026: Rebuilt as a Pondero Labs test. We ran 50 identical queries through all three APIs and replaced vendor-reported benchmarks with our own measurements, screenshots and raw data.
  • July 30, 2026: First published as a comparison of vendor-reported benchmarks and pricing.