<!-- twin of https://specstream.ai/migrate/bing-web-search-v7 -->
# Migrate from Bing Web Search v7: the same call, answered again

Compared on Nov 10, 2026. The page: https://specstream.ai/migrate/bing-web-search-v7

Microsoft retired the Bing Search APIs on August 11, 2025. SpecStream answers the Bing Web Search v7 call at its own path, in Bing's JSON. This guide maps each parameter and each field.

The switch is one line: `https://api.specstream.ai/v7.0/search` in place of `https://api.bing.microsoft.com/v7.0/search`, and a SpecStream key in `Ocp-Apim-Subscription-Key`. Your parser reads `webPages.value[]` as before.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks. A call of up to 10 results costs $0.005, which is $5 per 1,000.

[Get an API key](https://specstream.ai/signup?src=alternatives-migrate-bing-web-search-v7&utm_source=alternatives-md&utm_campaign=migrate-bing-web-search-v7&returnTo=%2Fworkspace%2Fsearch%3Froute%3Dbing) New accounts get $10 of credit, no card. It covers 2,000 searches.

## Bing Web Search API v7 to SpecStream, parameter by parameter and field by field

| | SpecStream | Bing Web Search API v7 |
|---|---|---|
| Address | `GET https://api.specstream.ai/v7.0/search` | `GET https://api.bing.microsoft.com/v7.0/search`. Retired on August 11, 2025, with existing instances decommissioned |
| The key | A SpecStream key in the `Ocp-Apim-Subscription-Key` header, in `subscription-key=` or as a Bearer token | A subscription key in the `Ocp-Apim-Subscription-Key` header |
| `count` | 1 to 50, and 10 when you send none. A value outside that range gets `400` | The default is 10 and the maximum value is 50 |
| `offset` | 0 to 10,000, the number of results to skip | The zero based number of search results to skip |
| `freshness` | `Day`, `Week`, `Month`, a range such as `2026-01-01..2026-03-31`, or one date. Read and used in the search | Day, Week or Month, a date range, or a single date |
| `mkt`, `setLang`, `cc`, `safeSearch`, `responseFilter` | Accepted and not used, so a client that sends them is never refused. `answerCount`, `promote` and `textDecorations` too | `mkt` sets the market as language and country, `setLang` the language of the interface strings, and `responseFilter` the answer types in the reply |
| `textFormat` | `HTML` escapes `name` and `snippet`. Anything else returns plain text | Raw or HTML. The default is Raw |
| The reply | `_type` `SearchResponse`, `queryContext.originalQuery`, `webPages` with `id`, `totalEstimatedMatches` and `value[]`, and `rankingResponse.mainline.items`. `webPages` is left out when there is no result, as on Bing | A `SearchResponse`, whose Webpage objects carry `name`, `url` and optionally `snippet` |
| Each result | `id`, `name`, `url`, `displayUrl`, `snippet`, `isFamilyFriendly`, `isNavigational`, and `datePublished` when the page has a date. Not returned: `dateLastCrawled`, `deepLinks`, and the `news`, `images`, `videos`, `relatedSearches` and `entities` answers | A snippet of text that describes each webpage, and `dateLastCrawled`, the last time Bing crawled it |
| Errors | Bing's `ErrorResponse` with `errors[]` of `code`, `subCode` and `message`: `InvalidAuthorization` on `401`, `InvalidRequest` on `400`. A `429` comes with `Retry-After` and charges nothing | An `ErrorResponse` with a list of errors that describe why the request failed |
| Price per 1,000 searches | $5 for up to 10 results a call. `count=50` costs $0.029 a call | No price: the API was retired on August 11, 2025 |
| Open to new customers | Yes. Create a key and start with $10 of credit, no card | No. Microsoft's notice ends new customer signup |

## The Bing v7 reference, on SpecStream

### The call, before and after

```
# Before
curl "https://api.bing.microsoft.com/v7.0/search?q=open+source+vector+databases&count=10&offset=0" \
  -H "Ocp-Apim-Subscription-Key: $BING_KEY"

# After
curl "https://api.specstream.ai/v7.0/search?q=open+source+vector+databases&count=10&offset=0" \
  -H "Ocp-Apim-Subscription-Key: $SPECSTREAM_KEY"
```

Bing's path is its own, so the search address changes and nothing else in the URL. The header keeps its name. Your code reads `webPages.value[].name`, `url` and `snippet` as it did.

### Every parameter, and what the route does with it

Read and used: `q`, `count` (1 to 50, 10 by default), `offset` (0 to 10,000) and `freshness` (`Day`, `Week`, `Month`, a `from..to` range of dates, or one date). Read to shape the reply: `textFormat`, where `HTML` escapes `name` and `snippet`.

Accepted and not used: `mkt`, `setLang`, `cc`, `safeSearch`, `responseFilter`, `answerCount`, `promote` and `textDecorations`. The route searches the whole live web for every call, and a client that sends these parameters is never refused.

### Every field that comes back

The reply has `_type` `SearchResponse`, `queryContext.originalQuery`, `webPages` (`id`, `totalEstimatedMatches`, `value[]`) and `rankingResponse.mainline.items`, which lists each result in order as a `WebPages` answer. Each result has `id`, `name`, `url`, `displayUrl`, `snippet`, `isFamilyFriendly` and `isNavigational`, and `datePublished` when the page has a date.

The route does not return `dateLastCrawled`, because the search has no crawl date, and it does not return `deepLinks` or the `news`, `images`, `videos`, `relatedSearches`, `entities`, `places` or `computation` answers. It adds `specstream`, with what the Search API returns beyond Bing's fields, including the call's `price_usd` and `request_id`.

### $5 per 1,000 searches

A call of up to 10 results costs $0.005. Each started block of 10 more adds $0.006, so `count=20` costs $0.011 and `count=50` costs $0.029. Microsoft's own replacement, Grounding with Bing Search, costs $14 per 1,000 transactions. A call stopped by a `429` charges nothing, and credit you top up never expires.

### The most accurate web search API, in about one second

On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=migrate-bing-web-search-v7) page.

A Bing call for the first 10 results runs the fast search. Measured on production on November 9, 2026, its median was 0.82 s at 1 search a second and 1.07 s at 20 a second, the 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720. It takes up to 8,800 searches a minute on one account.

### You decide what is kept, on each key

Create the key with `zero_retention` and a search made with it keeps no request text and no answer after the reply: it is not in the history and its log lines carry neither. `spend_cap_cents` is the most the key can spend.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'
```

### Search, pages and rows on one key

The same key reads up to 20 pages or documents a call with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=migrate-bing-web-search-v7) at $0.80 per 1,000 pages, and a page with no text is not charged. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=migrate-bing-web-search-v7) returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value. The most a run can cost is approved before it starts.

## What else Bing v7 users price

### Grounding with Bing Search

Microsoft's named replacement, a tool for Azure AI Agents at $14 per 1,000 transactions, up to 150 transactions a second. Microsoft says developers and end users don't have access to the raw content it returns: you get a model's answer with citations, which you must display as Microsoft requires. SpecStream returns the result list your code reads, at $5 per 1,000.

### Brave Search API

A search API on Brave's own index at $5 per 1,000 requests, with $5 in free credits every month and 50 queries per second, in Brave's own reply shape. SpecStream answers in Bing's shape, so the parser you wrote for v7 keeps working.

### Exa

A search API on Exa's own index, at $7 per 1,000 requests on `auto` and $4 on `lite` for up to 10 results, with its own request and reply. On SpecStream a call of 10 results costs $0.005 and keeps Bing's path.

### Tavily

A search API billed in credits: $0.008 a credit pay as you go, 1 credit for a basic search and 2 for an advanced one. SpecStream has no credits to count: each call is one search at $0.005, answered in Bing's JSON.

## How to migrate, step by step

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. Set the search address to `https://api.specstream.ai/v7.0/search` where your code has `https://api.bing.microsoft.com/v7.0/search`, and put the SpecStream key in `Ocp-Apim-Subscription-Key`. In Python:

```
import requests

SEARCH_URL = "https://api.specstream.ai/v7.0/search"  # was https://api.bing.microsoft.com/v7.0/search

reply = requests.get(
    SEARCH_URL,
    headers={"Ocp-Apim-Subscription-Key": SPECSTREAM_KEY},
    params={"q": "open source vector databases", "count": 10, "offset": 0},
    timeout=30,
)
reply.raise_for_status()
for page in reply.json().get("webPages", {}).get("value", []):
    print(page["name"], page["url"], page["snippet"])
```

3. In JavaScript:

```
const params = new URLSearchParams({ q: "open source vector databases", count: "10", offset: "0" });
const res = await fetch(`https://api.specstream.ai/v7.0/search?${params}`, {
  headers: { "Ocp-Apim-Subscription-Key": process.env.SPECSTREAM_KEY },
});
const data = await res.json();
for (const page of data.webPages?.value ?? []) console.log(page.name, page.url);
```

4. Keep the rest. To page, raise `offset` by `count`. If your code reads `dateLastCrawled`, read `datePublished` or drop the field. On a `429`, wait the seconds in `Retry-After` and send the call again; nothing was charged.

5. When your product needs every match in place of a results page, write the request in plain words. SpecStream reads it back as the conditions every row must meet and the facts to bring back, quotes the most it can cost, and delivers the rows after you approve.

## Frequently asked questions

### Is the Bing Search API retired?

Yes, since August 11, 2025. Microsoft's notice says existing instances are decommissioned completely and new customers cannot sign up. SpecStream answers the v7 call at `https://api.specstream.ai/v7.0/search` today.

### What replaces the Bing Web Search API v7?

SpecStream answers the same `GET /v7.0/search` call in Bing's JSON, at $5 per 1,000 searches. Microsoft points to Grounding with Bing Search at $14 per 1,000 transactions, which returns a model answer with citations and no raw results.

### Where does the API key go?

In the same `Ocp-Apim-Subscription-Key` header, with a SpecStream key in place of the Bing key. `subscription-key=` in the address and a Bearer token also work.

### How many results does one call return?

1 to 50, set with `count`, and 10 when you send none, as on Bing. A call of 10 costs $0.005 and a call of 50 costs $0.029. `offset` pages through the results.

### Which Bing fields does SpecStream not return?

`dateLastCrawled` and `deepLinks` on each result, and the `news`, `images`, `videos`, `relatedSearches`, `entities`, `places` and `computation` answers. Each result has `id`, `name`, `url`, `displayUrl`, `snippet`, `isFamilyFriendly` and `isNavigational`, and `datePublished` when the page has a date.

### How much does the Bing search API cost now?

Bing Web Search v7 has no price because it was retired on August 11, 2025. Grounding with Bing Search costs $14 per 1,000 transactions. SpecStream costs $5 per 1,000 searches, and the first $10 of credit covers 2,000.

### Which apps take the Bing address as a setting?

Open WebUI (`BING_SEARCH_V7_ENDPOINT` with `WEB_SEARCH_ENGINE=bing`), Dify's Bing plugin (the Bing endpoint field) and Azure Chat's Bing Search extension (the endpoint and the `Ocp-Apim-Subscription-Key` value). Set the address to `https://api.specstream.ai/v7.0/search`, put a SpecStream key where the Bing key went, and each app searches again with no code change. The steps per app are on the [Open WebUI](https://specstream.ai/web-search/open-webui), [Dify](https://specstream.ai/web-search/dify) and [Azure Chat](https://specstream.ai/web-search/azurechat) pages.

## Sources

SpecStream wrote this page. Each Microsoft figure comes from Microsoft's own pages, and each other provider's figure from that company's own page. The route's behavior is taken from its code.

- [Microsoft, Bing Search APIs retirement](https://learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement), read Nov 9, 2026
- [Bing Web Search API v7, query parameters](https://learn.microsoft.com/en-us/bing/search-apis/bing-web-search/reference/query-parameters), read Nov 9, 2026
- [Bing Web Search API v7, response objects](https://learn.microsoft.com/en-us/bing/search-apis/bing-web-search/reference/response-objects), read Nov 9, 2026
- [Bing Web Search API v7, Python quickstart](https://learn.microsoft.com/en-us/bing/search-apis/bing-web-search/quickstarts/rest/python), read Nov 9, 2026
- [Microsoft Bing APIs, Grounding with Bing pricing](https://www.microsoft.com/en-us/bing/apis), read Nov 9, 2026
- [Azure AI Foundry, Grounding with Bing tools](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/bing-tools), read Nov 9, 2026
- [Brave Search API](https://brave.com/search/api/), read Nov 9, 2026
- [Exa pricing](https://exa.ai/docs/admin/pricing.md), read Nov 9, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 9, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream pricing](https://specstream.ai/pricing), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
