Skip to content
CrawlerData
Menu
Compare

A Bing Search API alternative

Microsoft retired the Bing Search APIs on August 11, 2025 and points customers to Grounding with Bing Search for Azure AI agents. If your code needs a list of search results, CrawlerData's Google Search API returns one as JSON, with a short migration path.

Last checked against Bing Search API's public pages. Sources

The short version

How they differ

Microsoft Learn: "Bing Search APIs will be retired on August 11, 2025. Any existing instances of Bing Search APIs will be decommissioned completely, and the product will no longer be available to be used or new customer signup."

Microsoft recommends Grounding with Bing Search as part of Azure AI Agents. It is a tool inside an Azure AI agent, not a search endpoint: Microsoft's documentation says developers and end users do not have access to the raw content it returns, and it needs a Grounding with Bing Search resource connected to an Azure AI project. If your code needs a list of results (title, link, snippet) to process, you need a search API instead.

CrawlerData's Google Search API returns that list as JSON from Google's results in any of 31 countries: organic results with title, link and snippet, plus AI Overview, People Also Ask, ads, the local pack and more.

One difference to plan for: the results come from Google, not Bing, so positions and snippets will differ from what your Bing integration returned. Re-baseline any stored rankings or evaluation sets.

At a glance

Bing Search API alternative, as of October 20, 2026
CrawlerDataBing Search API
Pricing modelPrepaid credit packs, no subscription. Credits valid 6 monthsRetired August 11, 2025. No new sign-ups; existing instances decommissioned
Cost per 1,000 at entry$1.00 per 1,000 requests (Starter, $50 for 50k credits)Not available (retired)
Cost per 1,000 at volume$0.30 per 1,000 requests (Ultimate, $3,750 for 12.5M credits)Not available (retired)
Free tier50 free credits with a verified work email, valid 30 daysNot available (retired)
Google Shopping sellersYes. Every seller for a product in one request, 1 credit per 10 sellers returned (rounded up, minimum 1)Not offered. Web, image, video and news answers
Async and webhooksLive (synchronous), plus Fast and Regular queues with polling or a webhook (postbackUrl). Same price on every queueSynchronous GET request to api.bing.microsoft.com/v7.0/search
MCP serverYes. Remote server at api.crawlerdata.com/mcp, 8 tools, same API keyNot applicable (retired)
Failed requestsNot charged. A failed job costs 0 creditsNot applicable (retired)
Rate limit100 requests per minute and 20 per second per API keyNot applicable (retired)
Results per requestOne Google results page per request, pages 1 to 10count 1 to 50 (default 10), with offset
Search indexGoogle's public results for the country you chooseBing's results for the market you chose (mkt)
AvailabilityOpen to new customersRetired August 11, 2025

List prices in USD, excluding tax, as published on October 20, 2026. "Not published" means we could not find it on Bing Search API's public pages. Per-1,000 figures marked "our arithmetic" divide a plan price by its volume.

Where CrawlerData fits best

Choose CrawlerData if…

  • You need a list of web search results (title, link, snippet) in your own code again, and Microsoft's replacement returns model answers rather than results.
  • You also want Google's AI Overview with its cited sources, People Also Ask, ads, the local pack, top stories and the knowledge panel in the same response.
  • You need Google Shopping, News, Images, Local or Autocomplete from the same key, at 1 credit per request ($1.00 to $0.30 per 1,000).
  • You want a short migration: webPages.value[] becomes organic_results[], and the Bing key header becomes a Bearer token.
Migration

Moving from Bing Search API

The core fields carry over. webPages.value[] becomes organic_results[], name becomes title and url becomes link; snippet keeps its name. Instead of an Ocp-Apim-Subscription-Key header and query-string parameters, you send a JSON body with a Bearer token.

Bing Search APICrawlerData
GET api.bing.microsoft.com/v7.0/searchPOST api.crawlerdata.com/v1/jobs
Ocp-Apim-Subscription-Key: …Authorization: Bearer YOUR_API_KEY
qparams.query
mkt (en-US) or cc + setLangparams.country (us) and params.language (en)
count (1 to 50) and offsetparams.page (1 to 10): each request returns one Google results page
freshness, safeSearchNot offered
responseFilter (news, images)Pick the endpoint: google-search, google-news or google-images
webPages.value[]result.organic_results[]
webPages.value[].name / url / snippettitle / link / snippet
webPages.value[].displayUrldisplayed_link
webPages.totalEstimatedMatchessearch_information.total_results
relatedSearches.value[].textrelated_searches[].query
Before: Bing Web Search API v7 (JavaScript)
const url = new URL('https://api.bing.microsoft.com/v7.0/search');
url.search = new URLSearchParams({ q: 'best crm software', mkt: 'en-US', count: '10' });
const data = await (await fetch(url, { headers: { 'Ocp-Apim-Subscription-Key': API_KEY } })).json();
const results = (data.webPages?.value ?? []).map((p) => ({ title: p.name, url: p.url, snippet: p.snippet }));
After: CrawlerData (JavaScript)
const res = await fetch('https://api.crawlerdata.com/v1/jobs', {
  method: 'POST',
  headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({ endpoint: 'google-search', params: { query: 'best crm software', country: 'us', language: 'en' }, queue: 'live' }),
});
const { job, result } = await res.json(); // job.status "failed" => result is null, 0 credits
const results = (result?.organic_results ?? []).map((r) => ({ title: r.title, url: r.link, snippet: r.snippet }));

Full request and response schemas are in the OpenAPI spec, with runnable code in the examples repo. AI clients can connect to the MCP server at https://api.crawlerdata.com/mcp with the same API key.

FAQ

Questions

Is the Bing Search API shut down?

Yes. Microsoft's lifecycle page says the Bing Search APIs were retired on August 11, 2025: existing instances were decommissioned completely and new customer sign-up ended.

What does Microsoft recommend instead of the Bing Search API?

Grounding with Bing Search as part of Azure AI Agents, which lets an agent use real-time public web data when generating responses with an LLM.

Can I get raw search results from Grounding with Bing Search?

Microsoft's documentation says developers and end users do not have access to the raw content it returns; the model response includes citations with links. It needs a Grounding with Bing Search resource connected to an Azure AI agent, and Microsoft lists it as available only on paid or pay-as-you-go Azure subscriptions.

What can I use if I need search results in my own code?

A SERP API that returns results as JSON. CrawlerData's Google Search API returns organic_results with title, link and snippet from Google, plus AI Overview, People Also Ask, ads and more, for 31 countries.

How much code changes when I switch to CrawlerData?

Usually the request and one line of parsing: webPages.value[] becomes result.organic_results[], name becomes title, url becomes link, and snippet keeps its name. The key moves from the Ocp-Apim-Subscription-Key header to a Bearer token, and mkt becomes country and language.

Are the results the same as Bing's?

No. CrawlerData returns Google's public results as a searcher in the country you choose sees them, so positions and snippets differ from Bing's. Plan to re-baseline any stored rankings or evaluation sets.

Sources

All checked on (as of Oct 2026). Spotted something out of date? Email contact@crawlerdata.com and we will correct it.

APIs to look at

Related solutions

Further reading

Guides · 10 min read

Give your LLM agent fresh Google results

Add a Google search tool to an LLM agent: the tool definition, trimming results to fit the context window, citing sources and caching, in Python.

Other comparisons

Try it on your own queries

Get 50 free credits when you sign up with your work email and verify it. Failed requests are never charged.

Get 50 free credits