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

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!

3 Likes

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?

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.

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.

1 Like

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.

2 Likes

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.

1 Like