---
title: "Built-in tools are 92% of a Luna agent bill: web search, grounding and code execution"
description: "On Luna, $3.40 tokens vs $40.90 built-in tool fees per 1,000 research tasks (92.3% tools)."
canonical: https://vynaris.com/blog/built-in-agent-tools-second-bill-cost-comparison
author: "Dhrumil Barot"
author_bio: "Dhrumil is an AI inference and LLM infrastructure expert. Dhrumil built Vynaris to make model access, routing and pricing simple and transparent for developers."
published: 2026-08-05
updated: 2026-08-31
---

# Built-in tools are 92% of a Luna agent bill: web search, grounding and code execution

Published 2026-08-05 · Updated 2026-08-31 · By [Dhrumil Barot](https://vynaris.com/about#founder), Founder

On Luna, $3.40 tokens vs $40.90 built-in tool fees per 1,000 research tasks (92.3% tools). Web search $10/1k on OpenAI and Anthropic; Gemini 3 grounding $14/1k after free. Prices verified 2026-08-05.

On a research agent with 8,000 input / 1,500 output tokens and three web searches, OpenAI GPT-5.6 Luna costs $3.40 in tokens and $40.90 in built-in tool fees per 1,000 tasks. Tools are 92.3% of that $44.30 stack. Anthropic and Gemini show the same pattern once free grounding allowances are exhausted. Prices verified 2026-08-05.

## Verdict table

| Stack | Token line / 1k | Tool line / 1k | Total / 1k | Tools share |
| --- | --- | --- | --- | --- |
| [GPT-5.6 Luna](https://vynaris.com/models#gpt-5-6-luna) + OpenAI tools | $3.40 | $40.90 | $44.30 | 92.3% |
| [Claude Haiku 4.5](https://vynaris.com/models#claude-haiku-4-5) + Anthropic tools | $15.50 | $30.00 | $45.50 | 65.9% |
| [Gemini 3.6 Flash](https://vynaris.com/models#gemini-3-6-flash) + Search grounding (beyond free) | $23.25 | $42.00 | $65.25 | 64.4% |
| Gemini 3.6 Flash inside free grounding | $23.25 | $0.00 | $23.25 | 0.0% |
| [Gemini 3.5 Flash-Lite](https://vynaris.com/models#gemini-3-5-flash-lite) + $35/1k grounding style | $6.15 | $105.00 | $111.15 | 94.5% |

Unit fees behind the tool column, re-fetched live 2026-08-05:

| Fee | Provider | Live price |
| --- | --- | --- |
| Web search | OpenAI | $10.00 / 1k calls + search-content tokens at model rates |
| Web search | Anthropic | $10.00 / 1k searches; errors not billed |
| Web fetch | Anthropic | $0 extra beyond tokens |
| Grounding with Google Search | Gemini 3.x | 5,000 free requests/mo, then $14 / 1k |
| Grounding with Google Search | Gemini 2.5-family rows | after free RPD, then $35 / 1k grounded prompts |
| File search tool call | OpenAI | $2.50 / 1k calls; storage $0.10 / GB / day after 1 GB free |
| Hosted Shell / Code Interpreter | OpenAI | 1 GB container $0.03 per 20-minute session |
| Code execution | Anthropic | Free when web_search or web_fetch is in the request; else 5-minute minimum, 1,550 free hrs/mo, then $0.05 / hr / container |
| Code execution | Gemini | No session fee; standard token rates only |

DeepSeek's public pricing page lists model token rates only. It has no first-party web-search, grounding or code-execution fee table, so it is omitted from the tool columns.

![Horizontal log-scale chart comparing tool-only and full agent bills per 1,000 tasks across OpenAI, Anthropic and Gemini stacks.](https://cdn.sanity.io/images/u1qdn8dx/production/1e76b40412be13073b7a8a2e9239100e82ac905a-1324x730.png?w=1440&fit=max&auto=format)

*Built-in tool fees versus full agent bill per 1,000 tasks. Source: first-party provider pricing verified 2026-08-05. Assumptions: 8k/1.5k tokens, 3 searches, 20% code-exec tasks.*

## The workload we priced

Every volume below is an assumption. Edit it before budgeting.

| Assumption | Value | Why |
| --- | --- | --- |
| Tasks | 1,000 | Outcome unit |
| Input / output tokens | 8,000 / 1,500 | Prompt + tool results + answer |
| Web searches / task | 3 | Typical research fan-out |
| OpenAI search-content tokens / call | 4,000 | Billed at model input rates |
| File search calls / task | 1 | Responses API retrieval |
| Code-exec tasks | 20% | Short container on one in five tasks |
| Anthropic code path | Free with web_search | Matches the documented pairing |

This is not a [computer-use browser agent](https://vynaris.com/blog/computer-use-browser-agent-cost-per-web-task-playbook) teardown. That bill is dominated by screenshots and step count. Here the second bill is the provider's own search, storage and container meters sitting beside [cost-per-token](https://vynaris.com/glossary/category/cost-and-finops#cost-per-token) stickers.

## OpenAI: $40.90 tools on a $3.40 token base

```
Per task on GPT-5.6 Luna ($0.20 / $1.20):
Tokens:           (8000 x 0.20 + 1500 x 1.20) / 1M = $0.0034
Web search fees:  3 x $10 / 1000                 = $0.0300
Search content:   3 x 4000 x $0.20 / 1M          = $0.0024
File search:      1 x $2.50 / 1000               = $0.0025
Code (20%):       0.2 x $0.03                    = $0.0060
Tools total                                      = $0.0409
Stack total                                      = $0.0443

Per 1,000 tasks: tokens $3.40 + tools $40.90 = $44.30
```

Web search alone is $30.00 of the $40.90 tool line. The 1 GB Code Interpreter session is only $6.00 amortized. File search is $2.50 if you stay inside the 1 GB/day free storage. Cross the free storage and you add $0.10 per GB-day on top.

Non-preview web search on modern models bills retrieved content at model rates. Preview web search on non-reasoning models is $25 / 1k calls with free search-content tokens. We use the $10 + content-token path because that is the live "Web search (all models)" row on OpenAI's pricing page.

Container billing has a second gotcha. Eligible sessions bill by the minute with a 5-minute minimum. Our $0.03 figure is the published 1 GB per-20-minute session sticker. If your agent opens a container, runs a three-second pandas filter, and leaves the session idle, you still pay the session floor. Treat code execution like a reserved instance: open it when you have a batch of transforms, not once per tool thought.

Search-content tokens are easy to forget in spreadsheets that only multiply "3 searches x $10 / 1000." On Luna those content tokens add $2.40 per 1,000 tasks in our 4,000-token assumption. On a $5/$30 frontier model the same content block would be 25x larger. Right-sizing the model does not remove the $10 call fee, but it does shrink the retrieval surcharge.

## Anthropic: same $10 search sticker, free code when search is present

```
Per task on Claude Haiku 4.5 ($1 / $5):
Tokens:          (8000 x 1.00 + 1500 x 5.00) / 1M = $0.0155
Web search fees: 3 x $10 / 1000                   = $0.0300
Web fetch extra: $0
Code with search: $0
Tools total                                       = $0.0300
Stack total                                       = $0.0455

Per 1,000 tasks: tokens $15.50 + tools $30.00 = $45.50
```

Anthropic's web fetch tool has no additional charge beyond tokens. That is the contrast row against OpenAI file search and against paying a third-party crawl API. Code execution is free when `web_search_20260209` or `web_fetch_20260209` (or later) is included in the request. Used alone, execution bills by time with a 5-minute minimum, 1,550 free hours per month, then $0.05 per hour per container. Files preloaded onto the container bill execution time even if the tool never runs.

On our 20% code-exec fraction, the standalone paid path adds only $0.8333 per 1,000 tasks after free hours are exhausted. The search fee still dominates.

The free-with-search pairing changes architecture advice. If you already pay for web search, leave code execution enabled rather than spinning a separate sandbox vendor for light transforms. If you never search, do not include unused search tools just to zero the code meter. Tool schema tokens still enter the [context window](https://vynaris.com/glossary/category/inference-and-serving#context-window), and a habit of preloading files will burn the 5-minute minimum on requests that never execute.

Haiku's token line is 4.6x Luna's on this shape ($15.50 vs $3.40), yet the full stacks land within $1.20 per 1,000 tasks ($45.50 vs $44.30). That is the point of this comparison. Model stickers lie once search is on.

## Gemini: $14 after the free bucket, $35 on older grounding rows

Gemini 3.x Search grounding: 5,000 free requests per month shared across Gemini 3 models, then $14 per 1,000 requests. Only requests that return at least one grounding support URL are charged. Gemini code execution has no session fee; you pay model tokens for the generated code and results.

```
Per task on Gemini 3.6 Flash ($1.50 / $7.50), beyond free:
Tokens:     (8000 x 1.50 + 1500 x 7.50) / 1M = $0.02325
Grounding:  3 x $14 / 1000                   = $0.04200
Total                                        = $0.06525

Per 1,000 tasks: $23.25 + $42.00 = $65.25
```

Inside the free monthly bucket the same Gemini stack is $23.25. The free allowance is the entire cost story until you burn it. Gemini 2.5-family pricing rows still show $35 per 1,000 grounded prompts after free RPD. On Flash-Lite token rates that older grounding sticker produces a $105 tool line and a $111.15 total, 94.5% tools. Do not mix Gemini 3's $14 row with a 2.5 free-RPD table without saying which generation you are on.

At 3 searches per task, 1,000 tasks need 3,000 grounding requests. Gemini 3's 5,000 free monthly requests cover that batch once, with 2,000 left. A second identical batch in the same month crosses the free line and pays $14 / 1k on the overflow. Teams that "stay free" in January and "somehow" pay $42 tool fees in February usually added a second agent surface that shares the same monthly pool. Meter grounding at the project level, not only per feature flag.

Google's charge rule is also stricter than a naive request counter: only responses with at least one grounding support URL bill the grounding fee. Failed or ungrounded calls still consume model tokens. That is better than Anthropic/OpenAI search call fees that fire when the search runs, but it means your finance export must join grounding charges to responses that actually cited the web.

## Search count is the lever, not the model sticker

| Searches / task | OpenAI tools / 1k | OpenAI total / 1k | Anthropic tools / 1k | Anthropic total / 1k | Gemini 3 tools / 1k | Gemini 3 total / 1k |
| --- | --- | --- | --- | --- | --- | --- |
| 0 | $8.50 | $11.90 | $0.00 | $15.50 | $0.00 | $23.25 |
| 1 | $19.30 | $22.70 | $10.00 | $25.50 | $14.00 | $37.25 |
| 2 | $30.10 | $33.50 | $20.00 | $35.50 | $28.00 | $51.25 |
| 3 | $40.90 | $44.30 | $30.00 | $45.50 | $42.00 | $65.25 |
| 6 | $73.30 | $76.70 | $60.00 | $75.50 | $84.00 | $107.25 |

Cutting from three searches to one saves $21.60 on OpenAI tools and $20.00 on Anthropic tools per 1,000 tasks. Swapping Luna for Haiku without cutting searches barely moves the OpenAI-vs-Anthropic totals ($44.30 vs $45.50). The search meter is the product decision.

Use [the cost calculator](https://vynaris.com/calculator?in=8000&out=1500) for the token half, then add search fees outside it. Token calculators do not price web search.

## When the expensive stack still wins

Pay OpenAI's tool stack when you need Hosted Shell / Code Interpreter, file search and web search in one provider bill and the engineering cost of wiring three vendors exceeds the $40.90 tool line. Pay Anthropic when web fetch's $0 extra fee plus free code-with-search removes a crawl vendor and a sandbox bill. Stay inside Gemini's 5,000 free grounding requests when your monthly search volume fits and [Gemini 3.6 Flash](https://vynaris.com/models#gemini-3-6-flash) quality clears the task.

The honest tradeoff: built-in tools are convenient and expensive at agent volume. A self-hosted search API plus your own sandbox can undercut the $10 / 1k search sticker, but you own uptime, ranking quality and content extraction. Do not route this if your agent searches on every turn "just in case." Cache prior results, gate search behind a missing-fact check, and meter [tool calling](https://vynaris.com/glossary/category/agents-and-harnesses#tool-calling) separately from [LLM inference cost](https://vynaris.com/glossary/category/cost-and-finops#llm-inference-cost). Pair that with [LLM cost attribution](https://vynaris.com/glossary/category/cost-and-finops#llm-cost-attribution) so search fees land on the task ID that triggered them.

For attribution that keeps tool fees from disappearing into a blended token average, use the same per-call discipline as our [dollars-per-call how-to](https://vynaris.com/blog/agents-cost-aware-dollars-per-call-howto). [Model routing](https://vynaris.com/glossary/category/routing-and-cost#model-routing) across Luna and Haiku does nothing to a bill that is 65% to 92% search fees. Route the search, or remove it. An [agentic workflow](https://vynaris.com/glossary/category/agents-and-harnesses#agentic-workflow) that fans out six searches per turn is a product bug with a pricing page, not a model-selection problem.

## Sources

- [OpenAI API pricing](https://developers.openai.com/api/docs/pricing), captured 2026-08-05: web search $10 / 1k; containers $0.03–$1.92 / 20-min session; file search $2.50 / 1k + $0.10 / GB / day.
- [Anthropic API pricing](https://platform.claude.com/docs/en/about-claude/pricing), captured 2026-08-05: web search $10 / 1k; web fetch $0 extra; code execution free with web_search/web_fetch, else 5-min minimum, 1,550 free hrs, $0.05 / hr.
- [Gemini API pricing](https://ai.google.dev/gemini-api/docs/pricing), captured 2026-08-05: Gemini 3 Search grounding 5,000 free/mo then $14 / 1k; Gemini 2.5-family rows $35 / 1k after free RPD; code execution token-only.

All task counts, token counts and search fan-out values are shown assumptions. Replace them before using the totals in a budget.

Further reading: [Perplexity Search API versus Sonar: the $5 request fee and 15,000-token break-even](https://vynaris.com/blog/perplexity-search-api-5-per-1000-raw-search-vs-sonar).

## About the author

[Dhrumil Barot](https://vynaris.com/about#founder), Founder. Dhrumil is an AI inference and LLM infrastructure expert. Dhrumil built Vynaris to make model access, routing and pricing simple and transparent for developers. [LinkedIn](https://www.linkedin.com/in/bdhrumil) · [X](https://x.com/fyidhrumil)
