Skip to the page

Semantic Kernel web search after Bing and Google

The option to set.

Semantic Kernel's two web search connectors call APIs their vendors ended. Microsoft retired the Bing Search APIs on August 11, 2025, and Google closed the Custom Search JSON API to new customers and ends it on January 1, 2027.

Both connectors take an address. In .NET, set BingTextSearchOptions.Endpoint to https://api.specstream.ai/v7.0/search, or BaseClientService.Initializer.BaseUri to https://api.specstream.ai/ for GoogleTextSearch. In Java, set BING_SEARCH_URL. The key is your SpecStream key.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and costs $5 per 1,000 searches, with no daily limit. A new account gets $10 of credit, no card.

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

Semantic Kernel web search and what replaces Bing and Google, from each company's own pages on Nov 10, 2026

SpecStreamBing Web Search APIGoogle Custom SearchGrounding with Bing SearchBrave Search API
Semantic Kernel settingBingTextSearchOptions.Endpoint or Initializer.BaseUri, with a SpecStream key. Java: BING_SEARCH_URLBingTextSearch default: https://api.bing.microsoft.com/v7.0/searchGoogleTextSearch default: Google's own address, with a Google key and engine IDNot a text search connector. Microsoft places it in Azure AI AgentsBraveTextSearch, a separate connector, defaults to https://api.search.brave.com/res/v1/web/search
Open to a new accountYes. Create a key and start with $10 of credit, no cardNo. Retired on August 11, 2025, with every instance decommissioned and no new sign-upNo. Closed to new customers, and existing customers have until January 1, 2027Yes, with a Grounding with Bing Search resource in the Azure portalYes, with $5 in free credits every month
Price per 1,000 searches$5, with up to 10 results a searchNone. Microsoft decommissioned the product$5 per 1,000 queries after 100 free queries a day, for existing customers only$14 per 1,000 transactions$5 per 1,000 requests
LimitNo daily limit. Up to 26,666 searches a minute on one accountNone. The API is retired10,000 queries a day150 transactions a second and 1 million a dayUp to 50 queries per second
What the connector reads backBing's webPages.value[] with name, url and snippet, or Google's items[] with title, link and snippetwebPages.value[], with the name, URL and snippet of each pageThe URL, title and text snippets of each resultNo raw results: developers and end users get no access to the content returnedUp to 20 results a request
What answers the searchThe whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questionsNothing since August 11, 2025The Programmable Search Engine you configuredAn answer from the model. Not all models support itBrave's index. Its own page reports 85.3% on FreshQA

Why Semantic Kernel developers point web search at SpecStream

Other web search options for Semantic Kernel

How SpecStream scores

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

How to move Semantic Kernel web search to SpecStream

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

2. Check the key with the call each connector sends. A 200 with webPages or items means the connector gets the same.

curl -H "Ocp-Apim-Subscription-Key: $SPECSTREAM_API_KEY" \
  "https://api.specstream.ai/v7.0/search?q=test&count=3&offset=0"

curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_API_KEY&cx=any&q=test&num=3"

3. For Bing in .NET, set Endpoint on BingTextSearchOptions:

using Microsoft.SemanticKernel.Plugins.Web.Bing;

var textSearch = new BingTextSearch(
    apiKey: Environment.GetEnvironmentVariable("SPECSTREAM_API_KEY"),
    options: new BingTextSearchOptions
    {
        Endpoint = new Uri("https://api.specstream.ai/v7.0/search"),
    });

4. For Google in .NET, build GoogleTextSearch from an initializer with BaseUri:

using Google.Apis.Services;
using Microsoft.SemanticKernel.Plugins.Web.Google;

var textSearch = new GoogleTextSearch(
    initializer: new BaseClientService.Initializer
    {
        ApiKey = Environment.GetEnvironmentVariable("SPECSTREAM_API_KEY"),
        BaseUri = "https://api.specstream.ai/",
    },
    searchEngineId: "any");

5. For Java, set BING_SEARCH_URL=https://api.specstream.ai/v7.0/search and put the SpecStream key in BING_API_KEY. Run the agent; each search shows in your SpecStream request log with its price.

Frequently asked questions

Something we didn't answer? Talk to a human

Why is Semantic Kernel Bing search not working?
Microsoft retired the Bing Search APIs on August 11, 2025 and decommissioned every instance, so BingTextSearch has nothing to call at its default address. Set BingTextSearchOptions.Endpoint to https://api.specstream.ai/v7.0/search with a SpecStream key and it searches again.
Does the Semantic Kernel Google search connector still work?
Only until January 1, 2027, and only for existing customers: Google closed the Custom Search JSON API to new customers. Give GoogleTextSearch an initializer with BaseUri = "https://api.specstream.ai/" and a SpecStream key.
What is the best Semantic Kernel web search plugin alternative?
SpecStream, at $5 per 1,000 searches with no daily limit and 97.9 F-score on all 1,000 SimpleQA Verified questions. It answers the Bing and Google connectors you already have, so your plugin code stays.
What value does BingTextSearch Endpoint take?
The full search address: https://api.specstream.ai/v7.0/search. The connector adds ?q=, count and offset itself and sends the key in Ocp-Apim-Subscription-Key.
Do I still need a Google search engine ID?
Yes, GoogleTextSearch refuses an empty searchEngineId. Pass any value: SpecStream accepts cx, does not use it, and searches the whole live web.
How much does Semantic Kernel web search cost with SpecStream?
$0.005 a search of up to 10 results, or $5 per 1,000; both connectors ask for 3 results unless you set Top. The first $10 of credit covers 2,000 searches, and credit you buy never expires.
Does it work in Semantic Kernel for Java?
Yes: set BING_SEARCH_URL, or -Dbing.search.url, to https://api.specstream.ai/v7.0/search, and the BingConnector sample calls SpecStream with your key in BING_API_KEY.

Sources

SpecStream wrote this page. Semantic Kernel's options come from its source on GitHub, and each provider's figure from that company's own page.

  1. Semantic Kernel GoogleTextSearch.csraw.githubusercontent.com/microsoft/semantic-kernel/main/dotnet/src/Plugins/Plugins.Web/Google/GoogleTextSearch.cs, read Nov 10, 2026
  2. Semantic Kernel BingTextSearch.csraw.githubusercontent.com/microsoft/semantic-kernel/main/dotnet/src/Plugins/Plugins.Web/Bing/BingTextSearch.cs, read Nov 10, 2026
  3. Semantic Kernel BingTextSearchOptions.csraw.githubusercontent.com/microsoft/semantic-kernel/main/dotnet/src/Plugins/Plugins.Web/Bing/BingTextSearchOptions.cs, read Nov 10, 2026
  4. Semantic Kernel Java BingConnector sampleraw.githubusercontent.com/microsoft/semantic-kernel-java/main/samples/semantickernel-concepts/semantickernel-syntax-examples/src/main/java/com/microsoft/semantickernel/samples/connectors/web/bing/BingConnector.java, read Nov 10, 2026
  5. Semantic Kernel BraveTextSearch.csraw.githubusercontent.com/microsoft/semantic-kernel/main/dotnet/src/Plugins/Plugins.Web/Brave/BraveTextSearch.cs, read Nov 10, 2026
  6. Semantic Kernel TavilyTextSearch.csraw.githubusercontent.com/microsoft/semantic-kernel/main/dotnet/src/Plugins/Plugins.Web/Tavily/TavilyTextSearch.cs, read Nov 10, 2026
  7. Bing Search API retirementlearn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement, read Nov 10, 2026
  8. Google Custom Search JSON API overviewdevelopers.google.com/custom-search/v1/overview, read Nov 10, 2026
  9. Grounding with Bing Search pricingmicrosoft.com/en-us/bing/apis/grounding-pricing, read Nov 10, 2026
  10. Bing APIsmicrosoft.com/en-us/bing/apis, read Nov 10, 2026
  11. Grounding with Bing Search toolslearn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/bing-tools, read Nov 10, 2026
  12. Brave Search APIbrave.com/search/api/, read Nov 10, 2026
  13. Brave Search API documentationapi-dashboard.search.brave.com/app/documentation/web-search/get-started, read Nov 10, 2026
  14. Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
  15. Tavily pricingtavily.com/pricing, read Nov 10, 2026
  16. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  17. SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
  18. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026