# Heads up: Web Search Tool Billing Can Be Higher Than You Expect (Here’s Why)

**URL:** <https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954>\
**Category:** Feedback\
**Tags:** api-costs\
**Created:** [April 21, 2025, 10:51pm UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954 "2025-04-21T22:51:49Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![blake24](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/blake24/32/512381_2.png) [@blake24](https://community.openai.com/u/blake24)\
**Post date:** [April 21, 2025, 10:51pm UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954/1 "2025-04-21T22:51:49Z")

</div>

Hey folks — just wanted to share something I ran into with OpenAI’s Web Search tool billing that might save you some confusion (and surprise charges).

### **What happened**

I was testing the new Web Search tool with the Responses API. I used the Web Search tool 57 times and expected to be billed **$1.71** (since it’s listed as **$0.03 per call ($30 per 1k calls)** for **gpt-4o-mini with high context** on the pricing page). But instead, I got charged **$4.41**. I couldn’t figure out why, so I reached out to support.

Turns out, there’s a key detail that isn’t mentioned on the pricing page or in the Web Search documentation:

> **Each invocation of the Web Search tool can trigger multiple internal sub-searches — and you get billed for each of those, not just the visible call.**

### **Here’s what support said:**

> _“The web search tool can sometimes run multiple internal sub-searches for a single prompt… These sub-searches are not always visible in the [billing/usage dashboard] interface, but each one is counted as a separate, billable call.”_

So even if you send one request, it might generate 2, 3, or more internal search queries behind the scenes — and that’s what drives up the cost.

### **Why it’s confusing**

- The **pricing page** makes it look like you’re billed once per tool call.
- The **usage dashboard** only shows how many times you _invoked_ the tool.
- The **docs** don’t mention this internal sub-search behavior at all.

So if you’re trying to keep track of usage or budget tightly, this could definitely throw you off.

### **Takeaway**

Just be aware that Web Search might cost more than it seems at first glance — especially if the tool runs multiple internal searches per request (which you don’t see). Hopefully OpenAI updates the docs and pricing page to reflect this behavior more clearly.

Hope this helps someone else out there avoid the same confusion!

---

<div class="post-metadata">

**Author:** ![arjun-dev](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/arjun-dev/32/352379_2.png) [@arjun-dev](https://community.openai.com/u/arjun-dev)\
**Post date:** [April 23, 2025, 7:49am UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954/2 "2025-04-23T07:49:55Z")

</div>

Wouldn’t it also be because of the length of page that is reading? I was working on a web scraping tool (before openai’s web search existed) and sometimes would come across pages that were 40,000 tokens long, that is 40,000 input tokens that would also need to be charged?

---

<div class="post-metadata">

**Author:** ![blake24](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/blake24/32/512381_2.png) [@blake24](https://community.openai.com/u/blake24)\
**Post date:** [April 23, 2025, 10:38pm UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954/3 "2025-04-23T22:38:52Z")

</div>

Model token usage is billed separately from the web search tool. The web search tool is a stand alone tool that you can call via the responses api or via using a model such as gpt-4o-search-preview in the chat completions API.

There is a context setting in the web search tool, but they just charge differently based on low, medium, or high context. Not based on actual token usage.

---

<div class="post-metadata">

**Author:** ![mattjkarlson](https://avatars.discourse-cdn.com/v4/letter/m/50afbb/32.png) [@mattjkarlson](https://community.openai.com/u/mattjkarlson)\
**Post date:** [May 8, 2025, 10:21am UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954/4 "2025-05-08T10:21:03Z")

</div>

Yeah you are exactly right. I see lots of people trying to say its down to the token usage. This is not the case.

The search invocations are billed seperately and I am roughly being charged $0.10 per web search which is absolutely insane. Roughly 2-3x the cost you can see on the pricing page and even if you check your websearch function call usage, it will only show each query as 1, but you will be charged for 3.

---

<div class="post-metadata">

**Author:** ![aprendendo.next](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/aprendendo.next/32/721758_2.png) [@aprendendo.next](https://community.openai.com/u/aprendendo.next)\
**Post date:** [May 8, 2025, 10:28am UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954/5 "2025-05-08T10:28:08Z")

</div>

Indeed, very expensive. Around $100 per 1k searches.

While I find better having the option than not, I hope the costs get lower in the near future.

---

<div class="post-metadata">

**Author:** ![blake24](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/blake24/32/512381_2.png) [@blake24](https://community.openai.com/u/blake24)\
**Post date:** [May 10, 2025, 8:20am UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954/6 "2025-05-10T08:20:27Z")

</div>

Exactly. Most people are wrong about the token usage explanation. It’s honestly pretty deceptive how OpenAI is marketing it. Just goes to show why you should **always** test services before putting them into production.

---

<div class="post-metadata">

**Author:** ![Geetanshu\_Khandagade](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/geetanshu_khandagade/32/683424_2.png) [@Geetanshu\_Khandagade](https://community.openai.com/u/Geetanshu_Khandagade)\
**Post date:** [September 25, 2025, 8:07am UTC](https://community.openai.com/t/heads-up-web-search-tool-billing-can-be-higher-than-you-expect-here-s-why/1236954/7 "2025-09-25T08:07:36Z")

</div>

i guess it does cause i recently used gpt-5 websearch using response api, so internally it used 22 web search query and i got input tokens 8.9 lakhs even though my prompt token was around 1.2k tokens it cached 8.2 laks token went it caching so idk how its working maybe thats the case
