Skip to content
CrawlfolioSourced research on web data for AI
Menu

How to choose

Should You Use Built-In LLM Web Search or a Search API?

Built-in LLM web search suits sourced answers; a search API suits retrieval control, local models and SERP fields. Here's how to compare total cost.

Dark curved staircase contrasts with warm light on a pale interior wall
Photo: Art Lasovsky / Unsplash · Unsplash License

I would use built-in LLM search for a model-authored sourced answer, and a separate search API when the application needs explicit retrieval controls, local inference or SERP fields. That is an architectural choice: built-in tools may decide whether to search, while a custom tool needs application code to execute the retrieval and return its results. OpenAI search, function calling.

Short on time?

Here's my take

Sourced generated answer
Built-in search tool
Prefer it when the model’s output, citations and usage terms fit the application.
Explicit retrieval controls
Separate search API
Choose the search/fetch path, source fields and local inference boundary deliberately.
Budget comparison
Whole-path cost worksheet
Count actual searches, extraction, model context and retries in their own units.

Prices verified . Sponsors cannot buy a verdict or a position.

Which path matches the output you need? #

Use built-in search for a sourced model answer; choose a separate retrieval API for explicit result fields, page passages or local-model context. These are different deliverables; a citation does not establish that you received a complete source page or an organic rank position. OpenAI search output, Perplexity Search, SerpentAPI output.

Decision Built-in model search Separate retrieval API
Main output Model answer with provider-specific citations/tool records API rows/content your application supplies to a model
Search execution Model/provider workflow can choose tool use Application executes selected retrieval calls
Local inference Not the hosted model-integrated path Can return retrieved context to a local model
Cost accounting Tool calls plus model/search-content tokens Search/fetch/extras plus chosen inference costs
Storage/reuse Follow tool/provider contract Still requires provider/content rights

Sources: OpenAI tool behavior, custom tools, Perplexity Agent, Gemini terms, Brave terms. Specifications verified 2026-11-10.

I would start with it when the application needs a sourced answer and the provider’s tool behavior, display rules and data handling fit. The shorter integration path is a reason to inspect it, not evidence that it is faster, more accurate or cheaper. No outcome comparison was performed here.

OpenAI Responses search returns tool actions and citation annotations; the model can skip searching, and visible/clickable citations need to remain in the displayed answer. Its modern web_search and legacy preview tools also have different tariffs. Search guide, pricing.

Claude search exposes controls including max_uses and domain settings. The basic 20250305 tool remains documented, while newer 20260209/20260318 versions add capabilities; an older code sample should not be labeled the latest path. Fetch is another operation, with token costs even where there is no additional fetch fee. Search tool, fetch tool, pricing.

Gemini grounding supplies its own search suggestions/citation requirements and restricts harvesting grounding links for indexes or crawl queues. Perplexity separates raw Search from typed Agent answers, with current Sonar migration requirements. Those contracts should shape the application before provider-rate arithmetic does. Gemini grounding, terms, Perplexity Search, Agent, migration.

OpenAI search guide documents tool actions, message annotations and visible citation requirements
OpenAI’s guide separates web_search_call actions from message content and URL annotations, and requires visible, clickable citations in the user interface. A returned citation is a display contract, not proof that a full page or ranked SERP data was supplied. Screenshot: OpenAI web search tool actions and visible citation requirements, 16 Oct 2026 · Screenshot of a public page (commentary/review)

When would I use a separate API? #

I would choose a separate API when the application must select retrieval depth/filters, inspect explicit result fields, fetch permitted sources independently or send bounded source context to a local model. Host code must execute the custom search tool and return results; declaring a schema does not itself grant network access. Function calling.

The path becomes application/model → chosen search → optional permitted fetch/rerank → source context → chosen model → answer. I would preserve source identifiers and URLs through that path, cap tool iterations and avoid treating untrusted page content as instructions for the application.

Exa’s search mode, requested results and Contents type/page units differ from Tavily’s Search depth and extraction credits. Brave Search, Parallel and Linkup also have distinct output and billing menus. A separate API gives configuration choices, but the chosen output must still satisfy the application’s own checks. Exa, Tavily, Brave, Parallel, Linkup.

SerpentAPI at apiserpent.com is relevant when explicit Google organic/SERP data is the job. Web rates are $0.60/$0.30/$0.10/$0.05/$0.03 per 1,000 units at Default/Growth/Scale/Enterprise/Enterprise Plus, with the paid tiers reached by deposits of $100/$500/$1,000/$1,250; your best deposit in a calendar month sets the price for that month’s deposits. Quick is one unit and organic-only; Deep counts requested pages. Pricing, API documentation.

Credit you already hold keeps the price you bought it at, purchased credit does not expire, and no public SLA/indemnity was verified. Pricing, docs, FAQ, terms.

How should I compare the total cost? #

My worksheet is search use + extraction/rerank + model input/output/context + retries + hosting, subtracting only an eligible unused allowance. Keep each component’s unit visible and do not assume equal result quality or equal model context across products.

Documented input, USD verified 2026-11-10 Unit What the headline omits
OpenAI modern search: $10/1,000 Search calls Model-priced search-content and other model tokens
Claude search: $10/1,000 Searches Model tokens; fetch can also add tokens
Gemini 3+ grounding: rates in my grounding pricing guide Executed queries Model tokens; prompts can cause multiple queries
Perplexity raw standard/Fast: $5/$1 per 1,000 Successful requests Different from Agent tool-plus-token billing
Tavily PAYG: $0.008/credit Basic one / advanced two credits Extraction/Research; no assumed free/PAYG stacking
Firecrawl ordinary Search: two credits/ten results rounded up Search results Page scraping/PDF/extraction adds other units

Inputs: OpenAI pricing, Claude search, Gemini pricing, Perplexity pricing, Tavily credits, Firecrawl Search.

For 1,000 hypothetical answers with exactly three billable OpenAI modern or Claude searches each, the search fee is 3,000 × $10/1,000 = $30. That is not an all-in answer price: model/search-content tokens and any other operations still need their own inputs. OpenAI pricing, Claude pricing.

Perplexity raw Fast Search is a search_type choice, not its Agent fast effort level. Search permits multiple queries in one successful request but counts rate-limit query units separately; a low request price is not a guaranteed answer cost. Fast Search, Search quickstart, rate limits.

Exa’s first-team grants/purchase-conditioned limits and Firecrawl’s annual-equivalent advertised price also belong in the worksheet. Consumption rates, cash purchase requirements and free allowances should remain separate. Exa billing, Firecrawl plans.

Claude documentation lists ten dollars per thousand searches plus token costs and error rules
Claude lists $10 per 1,000 searches plus standard token costs for retrieved content. Each search counts separately, and the documented search-fee rule excludes search errors; this is documentation, not a measured bill. Screenshot: Anthropic Claude search fees and token-cost rule, 16 Oct 2026 · Screenshot of a public page (commentary/review)

Does MCP replace the search API? #

No. MCP standardizes how servers make tools available to a host, while the underlying search provider still supplies results and charges according to its account/tool rules. A server connection does not make every search operation free or its output suitable for every model. For example, apiserpent.com’s hosted MCP server bills each tool call as the matching REST call, at the same prices. SerpentAPI documentation.

I would inspect the exact tool schema and result shape before treating an MCP tool as an API substitute. A model-generated answer, a tool’s structured result and a visible citation are separate layers; review the search MCP guide for those choices.

What about privacy and data rights? #

Neither path is private by default: local inference does not localize an external search query. Even OpenAI’s external_web_access: false, which OpenAI calls an offline/cache-only mode, still runs search on OpenAI’s service rather than as a local private engine; endpoint/tool-specific data controls still apply. Search behavior, data controls.

A separate API also does not automatically grant rights to retain, train on or redistribute results. Brave has storage/evaluation conditions, Tavily restricts performance disclosure, Parallel bars copying or storing one end customer’s output for others, and Gemini restricts certain grounding-output uses. Brave terms, Tavily terms, Parallel terms, Gemini terms.

Perplexity’s privacy documentation is conditional around zero-data-retention. Its API terms say customer content is not used to train generative AI models, but third-party model providers’ own terms also apply, and I did not complete a legal review. I would review the selected contract before sending confidential prompts rather than infer safety from a provider category. Privacy/security, API terms.

For a custom fetch path, my proposed requirements are approved public URLs, redirect/private-address checks, bounded calls/bytes/tokens and preserved visible sources. Gemini URL context’s supplied-public-URL limits are a different contract from unrestricted crawling. URL context, Gemini quotas.

Which one would I pick? #

For a sourced model answer, I would first inspect the current model-integrated tool and its UI/data obligations. For a local-model application or explicit retrieval fields, I would inspect a separate API and budget the adapter, permitted fetch and inference path together.

I did not establish a universal cheapest or most accurate route. One Google forum discussion about multiple grounding queries is a useful warning about units, not a representative comparison of providers. Forum discussion.

The search API pillar, local LLM guide, Google grounding guide, Perplexity pricing and web search API price comparison cover the next decisions.

FAQ #

Is a separate search API always cheaper? #

No. Compare actual search, extraction, model-context, retry and hosting costs. Different outputs and billing units do not establish equal usable answers. OpenAI pricing.

Can I add web search to a local model? #

Yes, through host-managed retrieval that returns context to the local model. External search providers still receive the queries you send. OpenAI function calling.

No. A model-integrated tool can be available without being invoked for every prompt. Inspect actual tool actions rather than assume a fixed call count. OpenAI web search.

Does MCP replace the search provider? #

No. It exposes tools to a host; the underlying provider, output contract, account and billing remain separate. Perplexity API MCP.

Can I keep search results and reuse them later? #

Not automatically. Storage, redistribution, training and grounded-display rights depend on the selected provider and content contract. Gemini additional terms.

Is OpenAI’s cached-only web search private and offline? #

Offline only in OpenAI’s sense. external_web_access false runs search in an offline/cache-only mode with no live fetching, but the search still runs on OpenAI’s service; it does not make search local or erase applicable data controls. OpenAI web search.

Sources

38 sources, accessed .

Official pricing, docs, changelogs and status pages 37

  1. OpenAI web search developers.openai.com · accessed
  2. OpenAI pricing developers.openai.com · accessed
  3. OpenAI function calling developers.openai.com · accessed
  4. OpenAI data controls developers.openai.com · accessed
  5. Claude web search platform.claude.com · accessed
  6. Claude pricing platform.claude.com · accessed
  7. Claude web fetch platform.claude.com · accessed
  8. Gemini Search grounding guide ai.google.dev · accessed
  9. Gemini pricing ai.google.dev · accessed
  10. Gemini additional terms ai.google.dev · accessed
  11. Gemini rate limits ai.google.dev · accessed
  12. Gemini URL context ai.google.dev · accessed
  13. Perplexity pricing docs.perplexity.ai · accessed
  14. Perplexity Search quickstart docs.perplexity.ai · accessed
  15. Perplexity Fast Search docs.perplexity.ai · accessed
  16. Perplexity Agent quickstart docs.perplexity.ai · accessed
  17. Perplexity Sonar migration docs.perplexity.ai · accessed
  18. Perplexity Agent web search docs.perplexity.ai · accessed
  19. Perplexity rate limits docs.perplexity.ai · accessed
  20. Perplexity privacy and security docs.perplexity.ai · accessed
  21. Perplexity API terms perplexity.ai · accessed
  22. SerpentAPI pricing apiserpent.com · accessed
  23. SerpentAPI FAQ apiserpent.com · accessed
  24. SerpentAPI API documentation apiserpent.com · accessed
  25. SerpentAPI terms apiserpent.com · accessed
  26. Tavily credit documentation docs.tavily.com · accessed
  27. Tavily terms tavily.com · accessed
  28. Exa pricing exa.ai · accessed
  29. Exa billing exa.ai · accessed
  30. Brave API pricing brave.com · accessed
  31. Brave API terms api-dashboard.search.brave.com · accessed
  32. Parallel pricing parallel.ai · accessed
  33. Parallel customer terms parallel.ai · accessed
  34. Linkup pricing docs.linkup.so · accessed
  35. Firecrawl Search docs.firecrawl.dev · accessed
  36. Firecrawl plans firecrawl.dev · accessed
  37. Perplexity API MCP docs.perplexity.ai · accessed

Community discussions 1

  1. Google grounding billing discussion discuss.ai.google.dev · accessed

What readers say

Used one of the tools in this guide? Tell other readers how it went. I read every review before it goes up, and I never turn one down for being negative. How reviews work.

No reader reviews yet. Yours could be the first.

Write a review
Your rating

What did you use it for, what worked, and what didn't? 30 to 1500 characters. Please don't include links.

Your connection to the company

Your review appears with the name you enter, after I approve it. I don't ask for your email. Privacy.