We sent 10 shopping questions to the OpenAI Responses API with the web_search tool. One answer averaged $0.0579, and the search results the model reads cost more than the search call. The full bill, and what the same answer costs on querying.ai.
How we measured
We called the OpenAI Responses API (POST /v1/responses) with model chat-latest and the web_search tool set to the United States and required on every call, then sent 10 shopping questions, from “best wireless earbuds 2026” to “best CRM for small business”. One warm-up call ran first, so the tool's fixed instructions sat in the prompt cache, as they do for an application that calls the API all day. Every answer ran exactly one search.
Prices are OpenAI's list prices on October 3, 2026: chat-latest at $5.00 per million input tokens, $0.50 per million cached input tokens and $30.00 per million output tokens, and web search at $10.00 per 1,000 calls, with the search content billed as input tokens at the model's rate. The request:
curl https://api.openai.com/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chat-latest",
"input": "best wireless earbuds 2026",
"tools": [{ "type": "web_search", "user_location": { "type": "approximate", "country": "US" } }],
"tool_choice": "required",
"store": false
}'The bill for one answer
| Line | Amount | Cost |
|---|---|---|
| Web search call | 1 call | $0.0100 |
| Input: the question and the search results | 10,718.7 tokens, 4,224 cached | $0.0346 |
| Output: the answer | 442.6 tokens | $0.0133 |
| Total | $0.0579 |
Input is the largest line because the model reads what the search returned before it writes: each answer read 34.5 sources on average and cited 5.0 of them. The same first question sent without web search used 12 input tokens and cost $0.0115. Output tokens include the model's reasoning tokens, billed at the output rate.
Ten questions, ten bills
| Question | Input tokens | Output tokens | Seconds | Cost |
|---|---|---|---|---|
| best wireless earbuds 2026 | 10,718 | 438 | 5.7 | $0.0577 |
| best running shoes for beginners | 10,825 | 420 | 5.6 | $0.0577 |
| best robot vacuum for pet hair | 10,761 | 377 | 5.3 | $0.0561 |
| best CRM for small business | 10,798 | 549 | 5.9 | $0.0615 |
| best moisturizer for dry skin | 10,736 | 344 | 5.7 | $0.0550 |
| best laptop for college students | 10,832 | 471 | 6.1 | $0.0593 |
| best electric SUV under $50,000 | 10,370 | 469 | 6.1 | $0.0569 |
| best project management software for remote teams | 10,619 | 512 | 6.6 | $0.0594 |
| best protein powder for muscle gain | 10,779 | 351 | 5.1 | $0.0554 |
| best noise cancelling headphones for travel | 10,749 | 495 | 6.6 | $0.0596 |
Answers took 5.87 seconds on average. A first batch sent without the warm-up averaged $0.0625, and its very first call, with an empty cache, cost $0.0901. The figures in this post use the warm batch, the cheaper of the two, so the comparison below favors the API.
The same answer on querying.ai
On querying.ai a ChatGPT answer costs 2 credits, and a credit gets cheaper on bigger plans. With a plan's monthly credits fully used, see pricing:
| Plan | Monthly price and credits | Per answer | Per 1,000 answers | Times cheaper than the API |
|---|---|---|---|---|
| Basic | $20, 10,000 credits | $0.0040 | $4.00 | 14.5x |
| Pro | $200, 190,000 credits | $0.0021 | $2.11 | 27.5x |
| Scale | $500, 500,000 credits | $0.0020 | $2.00 | 28.9x |
| Max | $1,000, 1,050,000 credits | $0.0019 | $1.90 | 30.4x |
1,000 answers cost $57.86 through the API and $1.90 on Max. The cheapest question in the sample ($0.0550) still cost 28.9 times the Max price, and the dearest ($0.0615) 32.3 times. The search call alone, $0.01, is 5.3 times the Max price of a whole answer.
Two products, two answers
The OpenAI API and the ChatGPT app come from the same company and give different answers. The API answer follows your call: your tool settings, your location field, your prompt. The ChatGPT app runs its own search, picks its own sources, adds shopping cards and answers for where the user is.
For GEO the answer that counts is the one buyers read in the app. querying.ai opens a ChatGPT session in the country you choose and returns that answer as JSON with its sources, the searches ChatGPT ran and its product cards. The fields are on the ChatGPT engine page, and Answers covers the other engines.
Get the ChatGPT answer through querying.ai
curl -X POST https://api.querying.ai/v1/async/task \
-H "Authorization: Bearer $QUERYING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"taskType": "CHATGPT",
"payload": { "prompt": "best wireless earbuds 2026", "country": "US" }
}'The task returns its id right away. Poll it or receive it on a webhook; the finished task carries the answer text, sources and searchQueries. A new account starts with 2,000 credits, enough for 1,000 ChatGPT answers.
Frequently asked questions
How much does OpenAI's web search tool cost?
On October 3, 2026, $10.00 per 1,000 calls, plus the search results the model reads, billed as input tokens at the model's rate. With chat-latest, those tokens cost $0.0346 per answer, more than three times the call.
Why are the input tokens so high?
The model reads the search results before it answers. In our runs each answer read 34.5 sources and averaged 10,718.7 input tokens, against 12 for the same question without web search.
Is the API answer the same as the ChatGPT app's answer?
They are two products. The app runs its own search, picks its own sources and answers for the user's location; querying.ai returns the app's answer, the one buyers read.
Would a cheaper model close the gap?
A cheaper model lowers the token lines. The search call stays at $0.01, which is 5.3 times the price of a whole ChatGPT answer on the Max plan.
How many answers do the starting credits cover?
Every new account starts with 2,000 credits: 1,000 ChatGPT answers, or 2,000 Gemini or Perplexity answers. Plans are on the pricing page.


