Microsoft retired the Bing Search APIs on August 11, 2025. Get Bing organic results, ads, related searches and Bing's AI summary as JSON with one API call, map your v7 fields, and compare the cost per 1,000 searches.
What happened to the Bing Search API
Microsoft announced that the Bing Search APIs, the Web Search API v7 among them, would retire on August 11, 2025. On that date existing instances were decommissioned completely and the product closed to new customers. The notice asks customers to migrate to Grounding with Bing Search as part of Azure AI Agents. Source: Microsoft lifecycle notice.
Applications that used the v7 API for rank tracking, link discovery, research datasets or retrieval for their own models lost the one thing those jobs need: the list of results Bing shows for a query, as structured data.
What Grounding with Bing Search returns
Grounding with Bing Search is a tool an Azure AI agent calls while it writes an answer. Microsoft's documentation states that developers and end users have no access to the raw content Bing returns to the tool. Your code receives the model's response, its citation links and a link to the Bing query, and Microsoft's use and display requirements ask you to show both links in the exact form provided. Source: Grounding with Bing Search tools.
Microsoft prices Grounding with Bing Search at $14 per 1,000 transactions, with a limit of 150 transactions per second and 1 million per day, and counts transactions by tool calls per run. Source: Grounding with Bing pricing. That fits an agent that answers users. A job that stores rankings, URLs and snippets for every query needs the results page itself.
Get Bing results as JSON with BING_SEARCH
BING_SEARCH takes a query of up to 4,000 characters and a country as an ISO 3166-1 alpha-2 code, US by default. include.markdown adds the AI summary with its headings, lists and tables. Every task costs 1 credit. Reference: Bing Search.
curl -X POST https://api.querying.ai/v1/async/task \
-H "Authorization: Bearer $QUERYING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"taskType": "BING_SEARCH",
"payload": { "query": "best project management software", "country": "US", "include": { "markdown": true } }
}'The submit call answers with a task id right away. Read the task by id until its status is COMPLETED, or pass a webhook URL and receive the result when it lands. Results stay readable for 24 hours after the task completes, so store them as they arrive. Polling, webhooks and statuses: Async tasks.
curl https://api.querying.ai/v1/async/task/8f2c1e40-... \
-H "Authorization: Bearer $QUERYING_API_KEY"A completed task carries the results page in one shape:
{
"surface": "bing_search",
"organicResults": [
{ "position": 1, "title": "...", "link": "https://...", "displayedLink": "...", "snippet": "...", "page": 1 }
],
"ads": [{ "position": 1, "title": "...", "link": "https://...", "blockPosition": "top" }],
"relatedSearches": [{ "query": "...", "link": "https://www.bing.com/search?q=..." }],
"aioverview": {
"text": "... [1] ...",
"sources": [{ "position": 1, "url": "https://...", "label": "..." }],
"markdown": "..."
}
}| Field | What it holds |
|---|---|
| organicResults | Organic results on the page: position, title, link, displayedLink, snippet, date when shown, page |
| ads | Ads with position, title, link, description and blockPosition, present when the page shows ads |
| relatedSearches | Related searches with query and a bing.com link, present when the page shows them |
| aioverview | Bing's AI summary, or null when Bing showed none for the query |
| aioverview.text | The summary, where [n] points to aioverview.sources[n-1] |
| aioverview.sources | The pages the summary cites, with url and label |
| aioverview.citationPills | One entry per source behind an inline citation, with its domain |
| aioverview.markdown | The summary as Markdown, with include.markdown set to true |
Map your Bing Web Search API v7 fields
Most v7 code reads webPages.value and relatedSearches.value. The table pairs each v7 field from the v7 response objects with the field that carries the same value in a BING_SEARCH result.
| v7 field or parameter | BING_SEARCH | Note |
|---|---|---|
| q | payload.query | Up to 4,000 characters |
| mkt, cc | payload.country | ISO 3166-1 alpha-2, US by default |
| webPages.value[].name | organicResults[].title | Same value |
| webPages.value[].url | organicResults[].link | Same value |
| webPages.value[].displayUrl | organicResults[].displayedLink | Same value |
| webPages.value[].snippet | organicResults[].snippet | Same value |
| relatedSearches.value[].text | relatedSearches[].query | Plus a bing.com link |
| count, offset | organicResults[].page | One task returns page one of the results |
| (no v7 field) | aioverview | Bing's AI summary and its cited sources |
| (no v7 field) | ads | Ads as shown on the page |
The new fields matter for AI search work. aioverview.sources lists the pages Bing's summary cites for a query, the same signal teams track for Google AI Overviews, and the ads show who pays for the query.
Cost per 1,000 searches
| Option | Per 1,000 | Grounding cost divided by this | What you get |
|---|---|---|---|
| Grounding with Bing Search | $14.00 | 1.0x | A model's answer with citations |
| querying.ai Basic, $20 / 8,000 credits | $2.50 | 5.6x | Results page, ads, related searches, AI summary |
| querying.ai Pro, $200 / 170,000 credits | $1.18 | 11.9x | Results page, ads, related searches, AI summary |
| querying.ai Scale, $500 / 480,000 credits | $1.04 | 13.4x | Results page, ads, related searches, AI summary |
| querying.ai Max, $1,000 / 1,000,000 credits | $1.00 | 14.0x | Results page, ads, related searches, AI summary |
querying.ai prices come from each plan's monthly price divided by its credits. A new account starts with 500 free credits, which is 500 Bing searches to test a port before you pick a plan.
Limits to plan for
- Bing writes a summary for many search style queries and skips it for others.
aioverview: nullmeans Bing showed none, and the organic results around it still arrive. - When Bing shows a summary it moves part of the organic results to the next page, so
organicResultsis shorter on those queries. BING_SEARCHtakes a country and has no coordinate input. Alocationfield returns422 LOCATION_UNSUPPORTED.- A query over 4,000 characters returns
422 VALIDATION_ERROR, and a failed task costs 0 credits.
Frequently asked questions
Is the Bing Search API still available?
Microsoft retired the Bing Search APIs on August 11, 2025. Existing instances were decommissioned and the product closed to new signups.
What does Microsoft recommend for Bing data now?
Grounding with Bing Search in Azure AI Agents. It gives a model's answer with citations at $14 per 1,000 transactions, and developers get no access to the raw search results.
How do I get Bing search results as JSON?
Send a BING_SEARCH task with a query and a country to POST /v1/async/task, then read the task by id or on a webhook. The result holds organicResults, ads, relatedSearches and aioverview.
How much does one Bing search cost on querying.ai?
1 credit, which is $2.50 per 1,000 searches on Basic and $1.00 on Max.
Does BING_SEARCH return Bing's AI summary?
Yes, as aioverview with its text, cited sources and inline citations whenever Bing shows a summary for the query. It is null when Bing shows none.
Is Bing Copilot chat the same engine?
Bing Copilot chat is a separate engine, BING_COPILOT, which returns the copilot.com answer with its sources. See Bing Copilot.

