Skip to the page

17 open-source projects still calling Bing's retired Search API

On November 10, 2026, 17 open-source projects with 1,000 stars or more held Bing Search API v7's address at their latest commit: 14 AI apps and 3 security tools. Microsoft retired the Bing Search APIs on August 11, 2025.

4 of the 17 read Bing's address from a setting; 13 hold it in the code. Either way, https://api.specstream.ai/v7.0/search answers the same call in Bing's JSON, with a SpecStream key in Ocp-Apim-Subscription-Key.

SpecStream costs $5 per 1,000 searches and scores 97.9 F-score on all 1,000 SimpleQA Verified questions. New accounts get $10 of credit, no card, which covers 2,000 searches.

New accounts get $10 of credit, no card. It covers 2,000 searches.

The 17 projects, by stars on November 10, 2026

What changes on SpecStreamStars on Nov 10, 2026The line that holds Bing's addressSetting or code
Open WebUI (open-webui/open-webui)Set env BING_SEARCH_V7_ENDPOINT to https://api.specstream.ai/v7.0/search, WEB_SEARCH_ENGINE=bing, and a SpecStream key in BING_SEARCH_V7_SUBSCRIPTION_KEY. Tested on Nov 10, 2026. Open WebUI guide158,302backend/open_webui/retrieval/web/bing.py line 69, the default of BING_SEARCH_V7_ENDPOINTA setting: env BING_SEARCH_V7_ENDPOINT
MetaGPT (FoundationAgents/MetaGPT)One line: search_engine_bing.py, https://api.bing.microsoft.com/v7.0/search becomes https://api.specstream.ai/v7.0/search71,238metagpt/tools/search_engine_bing.py line 17, the default of bing_urlIn the code: the default of bing_url
AutoGen (microsoft/autogen)One line: bing_search.py, https://api.bing.microsoft.com/v7.0/search becomes https://api.specstream.ai/v7.0/search61,775python/packages/autogen-studio/autogenstudio/gallery/tools/bing_search.py line 117, the AutoGen Studio gallery toolIn the code
LlamaIndex (run-llama/llama_index)One line: base.py, https://api.bing.microsoft.com/v7.0/ becomes https://api.specstream.ai/v7.0/52,867llama-index-integrations/tools/llama-index-tools-bing-search/llama_index/tools/bing_search/base.py line 8, ENDPOINT_BASE_URL of BingSearchToolSpecIn the code: the constructor takes api_key, lang and results
GPT Researcher (assafelovic/gpt-researcher)One line: bing.py, https://api.bing.microsoft.com/v7.0/search becomes https://api.specstream.ai/v7.0/search. GPT Researcher guide30,618gpt_researcher/retrievers/bing/bing.py line 49, the Bing retrieverIn the code
Semantic Kernel (microsoft/semantic-kernel)In your code: set BingTextSearchOptions.Endpoint to https://api.specstream.ai/v7.0/search, tested on Nov 10, 2026, or pass it as the uri argument of BingConnector. Semantic Kernel guide28,750dotnet/src/Plugins/Plugins.Web/Bing/BingConnector.cs line 25, DefaultUriIn the code: a constructor argument uri overrides it
ShuiZe, a security tool (0x727/ShuiZe_0x727)One line: bingsearch.py, https://api.cognitive.microsoft.com/bing/v7.0/search becomes https://api.specstream.ai/bing/v7.0/search4,016Plugins/infoGather/subdomain/theHarvester/runTheHarvester/discovery/bingsearch.py line 34, its copy of theHarvesterIn the code
LazyLLM (LazyAGI/LazyLLM)One argument in your code: BingSearch(endpoint="https://api.specstream.ai/v7.0/search"). Tested on Nov 10, 2026. LazyLLM guide3,891lazyllm/tools/tools/search/bing_search.py line 12, the default of endpointIn the code: the default of the endpoint argument
comfyui_LLM_party (heshengtao/comfyui_LLM_party)One line: search_web.py, https://api.bing.microsoft.com/v7.0/search becomes https://api.specstream.ai/v7.0/search2,389tools/search_web.py line 189In the code
Kocoro Shannon (Kocoro-lab/Shannon)One line: web_search.py, https://api.cognitive.microsoft.com/bing/v7.0/search becomes https://api.specstream.ai/bing/v7.0/search2,324python/llm-service/llm_service/tools/builtin/web_search.py line 805In the code
PyGPT (szczyglis-dev/py-gpt)Set plugin option bing_endpoint ("Bing Search API endpoint") to https://api.specstream.ai/v7.0/search and put a SpecStream key where the Bing key goes2,020src/pygpt_net/provider/web/microsoft_bing.py line 55, the default of bing_endpointA setting: plugin option bing_endpoint
WebThinker (RUC-NLPIR/WebThinker)Run with --bing_endpoint https://api.specstream.ai/v7.0/search and a SpecStream key. Tested on Nov 10, 2026. WebThinker guide1,472scripts/run_web_thinker.py line 104, the default of --bing_endpointA setting: CLI flag --bing_endpoint
codefuse-chatbot (codefuse-ai/codefuse-chatbot)One line: default_config.py, https://api.bing.microsoft.com/v7.0/search becomes https://api.specstream.ai/v7.0/search1,294configs/default_config.py line 104, the constant BING_SEARCH_URLIn the code: a module constant
Search-o1 (RUC-NLPIR/Search-o1)Run with --bing_endpoint https://api.specstream.ai/v7.0/search and a SpecStream key1,253scripts/run_rag_agent.py line 164, the default of --bing_endpointA setting: CLI flag --bing_endpoint
Creds, a security script (S3cur3Th1sSh1t/Creds)One line: Invoke-EnumerateAzureBlobs.ps1, https://api.cognitive.microsoft.com/bing/v7.0/search becomes https://api.specstream.ai/bing/v7.0/search1,176PowershellScripts/Invoke-EnumerateAzureBlobs.ps1 line 134In the code
Omniplex (Omniplex-ai/omniplex)One line: route.ts, https://api.bing.microsoft.com/v7.0/search becomes https://api.specstream.ai/v7.0/search1,065src/app/api/search/route.ts line 4; the key comes from env BING_API_KEYIn the code: a constant
teemo, a security tool (bit4woo/teemo)One line: search_bing_api.py, http://api.cognitive.microsoft.com/bing/v7.0/search becomes https://api.specstream.ai/bing/v7.0/search1,017searchengine/search_bing_api.py line 49In the code

What happens to these calls, and the one change

What Microsoft and others offer in its place

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to move a project off Bing's address

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. If the project has a setting, set it to the address and give it the SpecStream key. For Open WebUI:

export WEB_SEARCH_ENGINE=bing
export BING_SEARCH_V7_ENDPOINT=https://api.specstream.ai/v7.0/search
export BING_SEARCH_V7_SUBSCRIPTION_KEY=$SPECSTREAM_KEY

3. If the address is in the code, change the line the table names. In Python:

import requests

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

reply = requests.get(URL, headers={"Ocp-Apim-Subscription-Key": SPECSTREAM_KEY}, params={"q": query, "count": 10}, timeout=20).json()
for page in reply.get("webPages", {}).get("value", []):
    print(page["name"], page["url"], page["snippet"])

In JavaScript:

const url = "https://api.specstream.ai/v7.0/search?" + new URLSearchParams({ q: query, count: "10" });
const reply = await fetch(url, { headers: { "Ocp-Apim-Subscription-Key": SPECSTREAM_KEY } }).then((r) => r.json());
for (const page of reply.webPages?.value ?? []) console.log(page.name, page.url, page.snippet);

4. Leave the parser. Each call is billed as one search on your key, and the key carries the spending limit you give it.

Frequently asked questions

Something we didn't answer? Talk to a human

Which apps use the Bing Search API?
On November 10, 2026, 17 open-source projects with 1,000 stars or more held Bing Search API v7's address at their latest commit, from Open WebUI (158,302 stars) to teemo (1,017). 14 are AI apps and 3 are security tools; the table names each file and line.
Is the Bing Search API retired for open-source apps too?
Yes. Microsoft retired the Bing Search APIs on August 11, 2025 and decommissioned existing instances, so every project that calls the v7 address calls a retired API. Pointing it at https://api.specstream.ai/v7.0/search keeps the same call.
Why is Open WebUI's Bing search not working?
Open WebUI's default for BING_SEARCH_V7_ENDPOINT is https://api.bing.microsoft.com/v7.0/search, the API Microsoft retired on August 11, 2025. Set it to https://api.specstream.ai/v7.0/search and put a SpecStream key in BING_SEARCH_V7_SUBSCRIPTION_KEY; we tested that setting on November 10, 2026.
How do I fix MetaGPT's Bing search?
MetaGPT holds https://api.bing.microsoft.com/v7.0/search as the default of bing_url on line 17 of metagpt/tools/search_engine_bing.py. Change it to https://api.specstream.ai/v7.0/search and use a SpecStream key.
What is a Bing Search API alternative for a self-hosted app?
SpecStream answers the Bing v7 call at https://api.specstream.ai/v7.0/search in Bing's JSON, at $5 per 1,000 searches. 4 of the 17 projects take the address as a setting, so a self-hoster changes no code.
What does Microsoft offer instead?
Grounding with Bing Search in Azure AI Agents, at $14 per 1,000 transactions. It returns a model answer with citations, and developers do not get the raw results.

Sources

SpecStream wrote this page. Each project's line was fetched from GitHub at the commit named in its link, and Microsoft's dates and prices come from Microsoft's own pages.

  1. Microsoft Lifecycle, Bing Search APIs retiring on August 11, 2025learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement, read Nov 10, 2026
  2. Microsoft Bing APIs, Grounding with Bing pricingmicrosoft.com/en-us/bing/apis, read Nov 10, 2026
  3. Microsoft Learn, Grounding with Bing toolslearn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/bing-tools, read Nov 10, 2026
  4. Microsoft Learn, Grounding with Bing Custom Search (classic)learn.microsoft.com/en-us/azure/foundry-classic/agents/how-to/tools-classic/bing-custom-search, read Nov 10, 2026
  5. Brave Search APIbrave.com/search/api/, read Nov 10, 2026
  6. Brave, Google API shutdown guidebrave.com/learn/google-api-shutdown/, read Nov 10, 2026
  7. WebThinker, README.md line 28github.com/RUC-NLPIR/WebThinker/blob/db387eb32/README.md#L28, read Nov 10, 2026
  8. Open WebUI, backend/open_webui/retrieval/web/bing.py line 69github.com/open-webui/open-webui/blob/b0e6098e9/backend/open_webui/retrieval/web/bing.py#L69, read Nov 10, 2026
  9. MetaGPT, metagpt/tools/search_engine_bing.py line 17github.com/FoundationAgents/MetaGPT/blob/11cdf466d/metagpt/tools/search_engine_bing.py#L17, read Nov 10, 2026
  10. AutoGen, python/packages/autogen-studio/autogenstudio/gallery/tools/bing_search.py line 117github.com/microsoft/autogen/blob/d07c667a3/python/packages/autogen-studio/autogenstudio/gallery/tools/bing_search.py#L117, read Nov 10, 2026
  11. LlamaIndex, llama-index-integrations/tools/llama-index-tools-bing-search/llama_index/tools/bing_search/base.py line 8github.com/run-llama/llama_index/blob/5f95c79fc/llama-index-integrations/tools/llama-index-tools-bing-search/llama_index/tools/bing_search/base.py#L8, read Nov 10, 2026
  12. GPT Researcher, gpt_researcher/retrievers/bing/bing.py line 49github.com/assafelovic/gpt-researcher/blob/ddd4db362/gpt_researcher/retrievers/bing/bing.py#L49, read Nov 10, 2026
  13. Semantic Kernel, dotnet/src/Plugins/Plugins.Web/Bing/BingConnector.cs line 25github.com/microsoft/semantic-kernel/blob/b714e97e3/dotnet/src/Plugins/Plugins.Web/Bing/BingConnector.cs#L25, read Nov 10, 2026
  14. ShuiZe, Plugins/infoGather/subdomain/theHarvester/runTheHarvester/discovery/bingsearch.py line 34github.com/0x727/ShuiZe_0x727/blob/4faed5a40/Plugins/infoGather/subdomain/theHarvester/runTheHarvester/discovery/bingsearch.py#L34, read Nov 10, 2026
  15. LazyLLM, lazyllm/tools/tools/search/bing_search.py line 12github.com/LazyAGI/LazyLLM/blob/4dc3bdbdb/lazyllm/tools/tools/search/bing_search.py#L12, read Nov 10, 2026
  16. comfyui_LLM_party, tools/search_web.py line 189github.com/heshengtao/comfyui_LLM_party/blob/3790b26a4/tools/search_web.py#L189, read Nov 10, 2026
  17. Kocoro Shannon, python/llm-service/llm_service/tools/builtin/web_search.py line 805github.com/Kocoro-lab/Shannon/blob/391b61913/python/llm-service/llm_service/tools/builtin/web_search.py#L805, read Nov 10, 2026
  18. PyGPT, src/pygpt_net/provider/web/microsoft_bing.py line 55github.com/szczyglis-dev/py-gpt/blob/a6766d0b2/src/pygpt_net/provider/web/microsoft_bing.py#L55, read Nov 10, 2026
  19. WebThinker, scripts/run_web_thinker.py line 104github.com/RUC-NLPIR/WebThinker/blob/db387eb32/scripts/run_web_thinker.py#L104, read Nov 10, 2026
  20. codefuse-chatbot, configs/default_config.py line 104github.com/codefuse-ai/codefuse-chatbot/blob/d6932ecfc/configs/default_config.py#L104, read Nov 10, 2026
  21. Search-o1, scripts/run_rag_agent.py line 164github.com/RUC-NLPIR/Search-o1/blob/c76a700fb/scripts/run_rag_agent.py#L164, read Nov 10, 2026
  22. Creds, PowershellScripts/Invoke-EnumerateAzureBlobs.ps1 line 134github.com/S3cur3Th1sSh1t/Creds/blob/51139c4e6/PowershellScripts/Invoke-EnumerateAzureBlobs.ps1#L134, read Nov 10, 2026
  23. Omniplex, src/app/api/search/route.ts line 4github.com/Omniplex-ai/omniplex/blob/6b0106501/src/app/api/search/route.ts#L4, read Nov 10, 2026
  24. teemo, searchengine/search_bing_api.py line 49github.com/bit4woo/teemo/blob/b7c1bca65/searchengine/search_bing_api.py#L49, read Nov 10, 2026