What Web Search Costs an AI Agent
Compare eight search APIs by billable unit, then calculate when a monthly plan or deeper search lowers the cost of an accepted answer.

Web search for an AI agent can cost $1 to $12 per 1,000 requests for the search step, but those headline prices buy different things. Perplexity Fast and Parallel turbo start at $1 per 1,000 requests; Exa Lite is $4, Brave Search and Perplexity standard are $5, Exa Deep is $12. Tavily instead charges credits: one basic search costs one credit, or $0.008 at its pay-as-you-go rate. A page fetch, a generated answer, and model tokens may add to the bill. The useful comparison is total cost per accepted answer, with the same workload and acceptance rule for every option. These are published rates, not results of our own tests. Perplexity, Parallel, Exa, Brave, and Tavily publish the cited rates.
Compare eight ways to buy web search
The table uses a specific public endpoint or mode for each provider. “Minimum” describes its published entry route, not a promise that free credits combine with a paid plan. Prices are in USD and were read on November 6, 2026. A search result can contain a snippet without containing every word of the underlying page.
| Provider and route | Published entry route | Native billable unit and included result/content | Extra retrieval to budget |
|---|---|---|---|
| Tavily basic Search | 1,000 free credits monthly; PAYG $0.008/credit; Project $30 for 4,000 credits | One basic search uses one credit; advanced uses two. Search depth changes the charge. | Basic Extract uses one credit per five successful URLs; advanced Extract two. Check whether Search’s returned content already answers the task before calling Extract. |
| Exa Lite Search | Free Starter credits, then PAYG; no monthly commitment listed for PAYG | $4/1,000 requests with up to 10 results; Auto $7 and Deep $12 on the same base result count. | More than 10 results adds $1/1,000 requests per additional result. Contents is $1/1,000 pages per content type; AI summaries add $1/1,000 pages. |
| Brave Search | Prepaid credits; $5 free credit monthly on the Search plan | $5/1,000 requests for Web or LLM Context. LLM Context returns extracted, token-budgeted material; Web returns search results. | Brave Answers is a different plan: $4/1,000 requests plus $5 per million input and output tokens. Do not count it as a free extension of Search. |
| Perplexity Search API | Usage pricing; no Search API subscription minimum on the pricing page | Standard $5/1,000 successful requests; Fast $1/1,000. One request may carry up to five queries and returns extracted snippets, with no model or generated answer. | A separate Agent API fetch_url tool is $0.0005 per invocation; use it only if that separate workflow needs full URL content. |
| Parallel turbo Search | Usage pricing; no monthly Search commitment published on this page | Turbo or fast $1/1,000 requests, basic or advanced $5/1,000; 10 page results and excerpts included. | Each additional result and excerpt costs $1/1,000; Extract is $1/1,000 URLs. |
| Firecrawl Search | 1,000 free credits monthly; Hobby $19/month for 5,000 credits | Search is two credits per 10 results, rounded up. It returns results; credits also serve other endpoints. | Adding scrape options bills the normal scrape charge, one credit per basic page; JSON/Question/Highlight formats add four credits per page. Search details. |
| Linkup Search | 4,000 free queries advertised; PAYG | The public Search card gives $0.005–$0.006 per request across displayed modes. The Search reference distinguishes searchResults, sourcedAnswer and structured output; choose the output type explicitly. | Fetch is a separate $0.001–$0.006 per request range; the page does not make a mode-by-mode mapping clear enough for a precise combined example. |
| SerpApi Starter | Free 250 searches/month; Starter $25/month for 1,000 searches | One successful search counts toward the monthly quota, regardless of result count. It supplies search-engine results, not an AI-written answer or full-page extraction. | Full-page reading and model inference are separate costs outside this plan. |
The units cannot be divided into a single fair “price per search” without specifying the response you need. Perplexity can put up to five queries into one billable request, whereas Firecrawl counts result blocks and Tavily counts credits. Brave LLM Context and Perplexity snippets may save a second page fetch for some questions. SerpApi is useful when the actual search-engine results page matters, but its quota does not include an answer. These are product distinctions from the providers’ documentation, not a ranking of answer quality.
Count the operations behind one answer
Start with the user task, then log five separate quantities: search calls, queries within those calls, returned results, selected full-page fetches, and model input/output tokens. The same answer can use two searches, inspect ten snippets, fetch two pages, and then call a model once. A provider may bill by only one of those counts or by several. The AI API price comparison covers model token tariffs; the search bill belongs beside it, not inside a guessed “all-in” search price.
For each result, record whether the search response already contains enough source text. If it does, do not budget a mandatory second fetch. If a full article is needed to verify the answer, count that fetch under the provider’s actual endpoint. Firecrawl explicitly charges scrape options in addition to Search credits. Parallel lists Extract separately. Exa lists Contents per page per content type; its search mode can also return result data, so adding a Contents charge to every result without making a Contents call would overstate a workload. Firecrawl, Parallel, and Exa document those components.
Keep a separate column for failed and retried operations. SerpApi says cached, errored, and failed searches do not consume its monthly searches. Perplexity says invalid, rate-limited, and upstream-failed requests are not billed, while a successful empty result is. Tavily says failed URL extractions are not charged. Such rules are provider-specific; a blanket assumption that every failure is free can understate the bill. SerpApi, Perplexity, and Tavily provide the distinctions.
Price the same workload three ways
Here is an illustrative calculation, not observed traffic or a quality benchmark. Each task makes exactly one Tavily basic Search, requests no separate Extract, and uses the same model and tokens under either buying route. This isolates the search tariff. The gross PAYG comparison uses $0.008 per credit. The Project plan costs $30 for 4,000 credits; the published PAYG rate applies when the plan’s credit limit is reached. Free monthly credits are shown separately because the documentation does not establish that the 1,000-credit free allocation stacks with Project. Tavily credits and plan terms.
| Tasks/month = credits | Gross PAYG search cost | Project search cost | Project vs gross PAYG |
|---|---|---|---|
| 500 | $4 | $30 | $26 more |
| 5,000 | $40 | $38 = $30 + 1,000 × $0.008 | $2 less |
| 20,000 | $160 | $158 = $30 + 16,000 × $0.008 | $2 less |
On the separate free route, 500 basic searches fit inside the published 1,000 monthly free credits, so the search charge would be $0 if that route is available and no other credit-consuming calls are made. For 5,000 tasks, this table does not subtract 1,000 free credits from either paid route. Account eligibility and credit allocation must be checked in the actual billing dashboard before forecasting net spend. It also omits taxes, model tokens, retries, and page extraction by design.
The same scenario with Tavily advanced Search uses two credits per request. At 5,000 tasks, that is 10,000 credits: $80 gross PAYG or $78 on Project using the same published limit and overage rate. The deeper setting is more expensive in this isolated tariff calculation. Whether it produces better answers for your application is unmeasured. Tavily defines the basic and advanced credit charges.
Find when a monthly plan pays off
For a plan fee F, included units Q, overage rate r, and monthly usage U, calculate plan cost = F + max(0, U − Q) × r. For a pure PAYG route at unit price p, PAYG cost = U × p. When usage is below the plan allowance and both routes buy the same unit, the break-even point is U = F ÷ p. In Tavily’s example, $30 ÷ $0.008 = 3,750 basic-search credits. Between 3,750 and 4,000 credits, Project costs less than gross PAYG. Beyond 4,000, the published $0.008 overage rate means the $2 advantage stays constant in this simplified model. That is a tariff result, not a recommendation to subscribe: the separate free route may be cheaper for small workloads.
Now add answer acceptance. If 5,000 tasks are attempted and 60% meet a predefined acceptance rule, there are 3,000 accepted answers. The gross PAYG search cost is $40 ÷ 3,000 = $0.0133 per accepted answer; Project is $38 ÷ 3,000 = $0.0127. These figures are search-only illustrative costs. They assume identical output quality and ignore token and fetch spending. A plan changes the cost numerator; it does not itself change the acceptance rate.
| Illustrative route at 5,000 tasks | 40% accepted | 60% accepted | 80% accepted |
|---|---|---|---|
| Basic Search, gross PAYG $40 | $0.0200 | $0.0133 | $0.0100 |
| Basic Search, Project $38 | $0.0190 | $0.0127 | $0.0095 |
| Advanced Search, gross PAYG $80 | $0.0400 | $0.0267 | $0.0200 |
Every cell divides the route’s stated search cost by 5,000 × acceptance fraction; it does not assert that any mode reaches that fraction. For a real comparison, include model inference and any selected fetches in the numerator. The prompt caching guide explains a separate way to reduce repeated model input costs, while the API rate-limit guide helps check whether the planned request volume is feasible. The AI API cost calculator can estimate model tokens, but its result should not be mistaken for a full search-provider invoice.
Decide whether deeper search earns its price
Suppose route A costs Cₐ per month and yields an accepted-answer fraction aₐ. Route B costs Cᵦ and yields aᵦ, for the same number of attempted tasks. B is cheaper per accepted answer only if aᵦ ÷ aₐ > Cᵦ ÷ Cₐ. With the search-only Tavily gross PAYG costs above, advanced is twice the price of basic. If basic already gets 60% of answers accepted, advanced would need more than 120% acceptance to win on search-only cost per accepted answer. That is impossible. If basic gets 40%, advanced would need more than 80%. It might or might not do so; only a controlled workload evaluation can answer. Model tokens or fewer repeat searches could change the cost ratio, so recalculate with the complete bill before deciding.
Define acceptance before running that evaluation: for example, a response must cite a source that actually supports the requested fact and pass your application’s review. Log billable calls, selected page fetches, returned token counts, model token counts, accepted answers, and total spend for each route. Do not use a provider’s marketing benchmark as your own observed yield. Then compare costs at your real monthly task volume, including the plan’s unused allowance. The eight published buying routes above offer a starting shortlist; the worksheet tells you which measurements determine your choice.
Sources
- Tavily Credits & Pricing — search and extraction credits, free tier, Project plan, PAYG rate.
- Exa API Pricing — Lite, Auto and Deep request rates, result and Contents charges.
- Brave Search API — Search and Answers plans, credit and request rates.
- Perplexity API Pricing — Search/Fast requests and separate Agent tool charges.
- Parallel API Pricing — Search modes, result and Extract charges.
- Firecrawl Pricing and Search — credits, plans and scrape options.
- Linkup Pricing — free query claim and Search/Fetch price ranges.
- Linkup Search reference — searchResults, sourcedAnswer and structured output types.
- SerpApi Pricing — monthly quotas, entry price and search-count rules.
All pages read on November 6, 2026.
Free toolWhat will 10,000 chats a month cost?Estimate my bill

