Migrate from Bing Web Search v7
The same call, answered again.
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.
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 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 at $0.80 per 1,000 pages, and a page with no text is not charged. Deep Search 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 SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
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
Something we didn't answer? Talk to a human
Is the Bing Search API retired?
https://api.specstream.ai/v7.0/search today.What replaces the Bing Web Search API v7?
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?
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?
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?
Which apps take the Bing address as a setting?
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, Dify and Azure Chat 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 retirementlearn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement, read Nov 9, 2026
- Bing Web Search API v7, query parameterslearn.microsoft.com/en-us/bing/search-apis/bing-web-search/reference/query-parameters, read Nov 9, 2026
- Bing Web Search API v7, response objectslearn.microsoft.com/en-us/bing/search-apis/bing-web-search/reference/response-objects, read Nov 9, 2026
- Bing Web Search API v7, Python quickstartlearn.microsoft.com/en-us/bing/search-apis/bing-web-search/quickstarts/rest/python, read Nov 9, 2026
- Microsoft Bing APIs, Grounding with Bing pricingmicrosoft.com/en-us/bing/apis, read Nov 9, 2026
- Azure AI Foundry, Grounding with Bing toolslearn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/bing-tools, read Nov 9, 2026
- Brave Search APIbrave.com/search/api/, read Nov 9, 2026
- Exa pricingexa.ai/docs/admin/pricing.md, read Nov 9, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 9, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




