Bing API 17 min read

Bing Search API Retirement: AI-Ready Alternatives Guide 2026

Compare Bing Search API alternatives for AI workflows by current access, SERP JSON, Reader extraction, migration effort, and practical pricing considerations.

(Updated: ) 3,260 words

Microsoft officially retired the Bing Search APIs on August 11, 2025, decommissioning all existing instances and closing new customer signups. If your AI agents or Retrieval-Augmented Generation (RAG) pipelines still depend on Bing for web data, this isn’t a future risk to plan for, it’s an active outage you need to resolve now. It’s also an opportunity to re-evaluate your data infrastructure, optimize costs, and build more resilient AI systems on a platform that isn’t at the mercy of a single vendor’s roadmap.

This actionable guide provides a clear migration roadmap for Python developers and CTOs still running on the retired Bing Search API, with production-ready code examples and cost analysis.

Key Takeaways

  • Bing Search API changes require a migration review for teams that still depend on the legacy endpoint. SearchCans combines Google and Bing SERP JSON with Reader extraction for AI workflows; verify current access and pricing terms before planning the move.
  • Dual-engine platform combines SERP API (Google/Bing real-time results) with Reader API (URL-to-Markdown) for complete RAG pipelines under unified billing.
  • Production-ready Python migration code demonstrates SERP queries and content extraction with proper error handling and timeout management.
  • SearchCans is NOT for pixel-perfect DOM manipulation, it’s optimized for standard web scraping and AI-ready data extraction, not custom browser automation requiring Puppeteer-level control.

Understanding the Impact of Bing Search API Retirement

The August 2025 Bing Search API retirement created critical data gaps for AI agents and RAG pipelines that relied on real-time web information. Applications using Bing for fact-checking, content generation, or competitive analysis lost access overnight once Microsoft decommissioned existing instances. Any team still not migrated is operating with a broken data source, risking stale-data hallucinations until a replacement is in place.

Why Bing’s Retirement Matters for AI

Many AI models, particularly those leveraging RAG architectures, depend on up-to-date, external information to ground their responses in reality and prevent hallucinations. The Bing Search API served as a direct conduit to web information, making its August 2025 retirement a significant event for any application that used it for real-time fact-checking, content generation, or competitive analysis. Without a robust replacement now in place, those AI systems are running on stale or nonexistent search data.

The Immediate Challenges for Developers

For teams that haven’t yet migrated, the primary challenge is replacing a foundational data component without further disrupting already-affected workflows. This involves identifying suitable alternatives that match or exceed Bing’s capabilities while also being cost-effective and AI-ready. Developers must consider not just search results but also the format of the data, the speed of retrieval, and the ease of integration into existing Python-based AI agent architectures. Transitioning requires careful planning to avoid downtime and ensure that the new API can handle the scale and specific data needs of modern AI applications.

Essential Features for a Modern AI-Ready Search API

Modern AI-ready SERP APIs require five core capabilities: current data access, structured JSON output for LLM function calling, integrated URL-to-Markdown content extraction, documented reliability terms, and concurrency that matches the workload. Simply finding another search endpoint isn’t enough; APIs must be purpose-built for Large Language Models (LLMs).

Real-Time Data Access

Your AI agents require access to the most current information available on the web. Stale data leads to inaccurate AI outputs and diminished user trust. A top-tier SERP API must offer real-time access to fresh search results from leading engines like Google and Bing, ensuring your AI operates on the cutting edge of information. In our benchmarks, we found that response times under 1.5 seconds are critical for maintaining a seamless user experience in interactive AI applications.

Structured JSON Output

LLMs thrive on structured data. Raw HTML or unstructured text requires extensive pre-processing, increasing computational costs and latency. The ideal SERP API delivers results in a clean, predictable JSON format that is immediately usable for LLM function calling and vector embedding generation. This significantly reduces the complexity and overhead in your RAG pipelines.

Integrated Content Extraction (URL to Markdown)

Often, an AI needs more than just a search snippet; it needs the full context of a web page. A truly advanced solution combines SERP capabilities with a Reader API that can convert any URL into clean, LLM-ready Markdown. This process, often referred to as URL to Markdown API, is crucial for deep research agents and for populating vector databases with high-quality content. Markdown is the universal language for AI due to its semantic clarity and minimal noise.

Scalability and Reliability

Your AI applications are only as reliable as their data sources. A replacement SERP API should publish reliability terms and support concurrency that matches expected bursts. Check rate limits, queue behavior, retries, and plan-level capacity before production rollout. Poorly managed rate limits can kill scrapers and lead to avoidable failures in production.

Pro Tip: When evaluating alternatives, don’t just look at the listed features. Request a live demo or use an API playground to test the actual output and performance. This “first-hand” experience can reveal crucial differences in data quality and latency that aren’t apparent from marketing materials. Check out the SearchCans API Playground for a hands-on experience.

Introducing SearchCans as Your Go-To Alternative

SearchCans lists volume-plan pricing as low as $0.56 per 1,000 credits, with credits valid for 6 months under the documented terms. The SERP API provides search results for Google and Bing and integrates with Reader API for HTML-to-Markdown conversion, supporting RAG pipelines and autonomous agents.

Unrivaled Cost-Efficiency

SearchCans uses a transparent pay-as-you-go pricing model without a forced monthly subscription. Its credits remain valid for 6 months under the documented terms. Compare the complete workflow cost, including search, extraction, rendering, proxy needs, and integration work, when evaluating LLM cost optimization for AI applications.

Dual-Engine Power: SERP + Reader

SearchCans uniquely integrates two critical engines into a single platform: a powerful SERP API for real-time search results and a robust Reader API for content extraction. This “Golden Duo” of Search and Reading APIs is a game-changer for AI workflows, streamlining your data pipeline by providing both structured search data and clean, contextual web content in a single, unified solution. You avoid the complexity and API key fatigue of integrating separate tools, as is often the case with Jina Reader or Firecrawl alternatives.

Designed for AI Agents and RAG

SearchCans is not just another web scraping tool; it’s a foundational component for sophisticated AI architectures. Its structured JSON output for SERP results and clean Markdown output from the Reader API are perfectly tailored for direct consumption by LLMs and for optimizing vector embeddings in RAG systems. This design philosophy ensures that your AI agents have internet access that is both efficient and reliable, making it an invisible bridge connecting AI to the internet.

Enterprise-Grade Reliability and Transparency

We understand that your AI systems cannot afford downtime. SearchCans offers a 99.65% Uptime SLA backed by redundant infrastructure. We believe in developer-first transparency, with clear documentation and self-serve pricing options from MVP testing to enterprise-scale AI. There are no hidden fees or “contact sales” walls for standard tiers, allowing you to scale your projects confidently.

Migrating Your AI Agents: A Python Walkthrough

API migration requires three core steps: environment setup with secure credential management, SERP query implementation with timeout handling, and Reader API integration for content extraction. This walkthrough demonstrates production-ready Python code adhering to best practices for error handling, retry logic, and structured output processing.

Setting up Your Environment

First, ensure you have Python installed and create a virtual environment. You’ll need the requests library.

python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
pip install requests python-dotenv

Next, create a .env file in your project root to securely store your SearchCans API Key:

SEARCHCANS_API_KEY="YOUR_API_KEY_HERE"

Replace "YOUR_API_KEY_HERE" with your actual key obtained after you sign up.

Performing Real-Time SERP Queries with Python

The SERP API accepts four core parameters to control search behavior and timeout handling. This client demonstrates production-ready integration.

SERP API Parameters

Parameter Value Why It Matters
s Search keyword (string) The query term to search for
t "google" or "bing" Selects the search engine
d Timeout in ms (e.g., 10000) Prevents API overcharge on slow queries
p Page number (integer) Retrieves paginated results

SERP Python Implementation

Let’s create a client to fetch real-time search results. This example focuses on a single keyword search, demonstrating how to integrate the API into your Python application.

# src/search_client.py
import requests
import json
import os
from dotenv import load_dotenv

load_dotenv()

class SearchCansSERPClient:
   def __init__(self):
       self.api_url = "https://www.searchcans.com/api/v1/search"
       self.user_key = os.getenv("SEARCHCANS_API_KEY")
       if not self.user_key:
           raise ValueError("SEARCHCANS_API_KEY not found in environment variables.")

   def search_keyword(self, keyword: str, search_engine: str = "google", page: int = 1) -> dict:
       """
       Performs a real-time SERP search for a given keyword using SearchCans API.

       Args:
           keyword: The search query.
           search_engine: The target search engine ("google" or "bing").
           page: The result page number to retrieve.

       Returns:
           dict: The API response data, or None if the request fails.
       """
       headers = {
           "Authorization": f"Bearer {self.user_key}",
           "Content-Type": "application/json"
       }

       payload = {
           "s": keyword,
           "t": search_engine,
           "d": 10000,
           "p": page
       }

       try:
           print(f"Searching for '{keyword}' on {search_engine} (page {page})...")
           response = requests.post(
               self.api_url,
               headers=headers,
               json=payload,
               timeout=15
           )
           response.raise_for_status()
           result = response.json()

           if result.get("code") == 0:
               print(f"✅ Success: Retrieved {len(result.get('data', []))} results.")
               return result
           else:
               msg = result.get("msg", "Unknown API error")
               print(f"❌ API Error: {msg}")
               return None

       except requests.exceptions.Timeout:
           print(f"❌ Request Timeout for '{keyword}'.")
           return None
       except requests.exceptions.RequestException as e:
           print(f"❌ Network or HTTP Error: {e}")
           return None
       except Exception as e:
           print(f"❌ An unexpected error occurred: {e}")
           return None

if __name__ == "__main__":
   client = SearchCansSERPClient()
   search_term = "AI agent internet access architecture"
   results = client.search_keyword(search_term, search_engine="google")

   if results and results.get("data"):
       print("\nTop 3 Search Results:")
       for i, item in enumerate(results["data"][:3]):
           print(f"  {i+1}. Title: {item.get('title', 'N/A')}\n     URL: {item.get('url', 'N/A')}\n")
   else:
       print(f"No results found for '{search_term}'.")

Extracting Clean Content for RAG

The Reader API transforms HTML into LLM-optimized Markdown using headless browser technology. After obtaining URLs from SERP queries, this API extracts clean, LLM-digestible content.

Reader API Parameters

Parameter Value Why It Matters
s Target URL (string) The webpage to extract content from
t Fixed value "url" Specifies URL extraction mode
b True (boolean) Executes JavaScript for React/Vue sites
w Wait time in ms (e.g., 3000) Ensures DOM is fully loaded before extraction
d Max processing time in ms (e.g., 30000) Prevents timeout on heavy pages

Reader Python Implementation

Our Reader API excels at converting complex web pages into structured Markdown.

# src/reader_client.py
import requests
import os
import json
from dotenv import load_dotenv

load_dotenv()

class SearchCansReaderClient:
   def __init__(self):
       self.api_url = "https://www.searchcans.com/api/v1/url"
       self.user_key = os.getenv("SEARCHCANS_API_KEY")
       if not self.user_key:
           raise ValueError("SEARCHCANS_API_KEY not found in environment variables.")

   def extract_url_to_markdown(self, target_url: str, use_browser: bool = True) -> str | None:
       """
       Extracts content from a URL and converts it to clean Markdown using SearchCans Reader API.

       Args:
           target_url: The URL of the webpage to extract.
           use_browser: Whether to use a full browser for rendering.

       Returns:
           str: The extracted Markdown content, or None if extraction fails.
       """
       headers = {
           "Authorization": f"Bearer {self.user_key}",
           "Content-Type": "application/json"
       }

       payload = {
           "s": target_url,
           "t": "url",
           "w": 3000,
           "d": 30000,
           "b": use_browser
       }

       try:
           print(f"Extracting content from: {target_url}...")
           response = requests.post(
               self.api_url,
               headers=headers,
               json=payload,
               timeout=35
           )
           response.raise_for_status()
           result = response.json()

           if result.get("code") == 0 and result.get("data"):
               data_content = result["data"]
               if isinstance(data_content, str):
                   try:
                       parsed_data = json.loads(data_content)
                   except json.JSONDecodeError:
                       return data_content
               else:
                   parsed_data = data_content

               markdown_content = parsed_data.get("markdown")
               if markdown_content:
                   print(f"✅ Successfully extracted Markdown ({len(markdown_content)} characters).")
                   return markdown_content
               else:
                   print("❌ No Markdown content found in the response.")
                   return None
           else:
               msg = result.get("msg", "Unknown API error")
               print(f"❌ API Error: {msg}")
               return None

       except requests.exceptions.Timeout:
           print(f"❌ Request Timeout for '{target_url}'.")
           return None
       except requests.exceptions.RequestException as e:
           print(f"❌ Network or HTTP Error: {e}")
           return None
       except Exception as e:
           print(f"❌ An unexpected error occurred: {e}")
           return None

if __name__ == "__main__":
   reader_client = SearchCansReaderClient()
   example_url = "https://www.searchcans.com/blog/ai-agent-internet-access-architecture/"
   markdown_output = reader_client.extract_url_to_markdown(example_url)

   if markdown_output:
       print("\n--- Extracted Markdown (partial) ---")
       print(markdown_output[:500] + "...")
   else:
       print(f"Failed to extract content from {example_url}.")

Integrating with Azure OpenAI Service

If your agent runs on Azure OpenAI Service, you’ll typically wire up a replacement search API through Azure OpenAI’s function-calling feature rather than a direct platform integration. The pattern is straightforward: define a tool with a search query parameter, have the LLM “call” it when it needs external information, execute the request against your chosen API (e.g., SearchCans’ SERP + Reader endpoints), and feed the parsed results back into the model’s context. Because Azure’s own “Grounding with Bing Search” offering in Azure AI Foundry is a platform commitment rather than a drop-in API replacement, most teams migrating away from a multi-cloud or vendor-neutral setup find it simpler to call an external dual-engine API directly from their Azure OpenAI application code, avoiding deeper lock-in.

Context Window Engineering & LLM Token Costs

When building RAG pipelines, the quality and length of the content passed to the LLM directly impact both the accuracy and the cost (token usage). The clean Markdown output from the SearchCans Reader API is instrumental for context window engineering. By providing a concise, noise-free representation of a webpage, you ensure that valuable LLM tokens are spent on relevant information, not on HTML boilerplate. This directly translates to significant cost savings in your LLM training and inference.

Pro Tip: Optimizing Token Usage: Always prioritize the Reader API’s Markdown output over raw HTML for RAG. A benchmark showed that Markdown vs HTML can reduce token count by up to 50% for the same content, drastically cutting down on LLM inference costs and improving retrieval speed. Before feeding content to your LLM, consider summarizing it or extracting key entities to further optimize token usage without losing critical information.

Deep Comparison: SearchCans vs. Leading Alternatives

SERP API pricing depends on the provider, plan, credit unit, and enabled features, with important differences in billing models and AI-readiness. SearchCans uses pay-as-you-go credits with documented validity terms, while its integrated Reader API can reduce the integration overhead of maintaining separate content extraction tools. This comparison evaluates four leading providers across seven critical dimensions for AI applications.

SERP API Comparison for AI & RAG (Post-Bing API Retirement)

Feature / Provider SearchCans Serper / SerpApi DataForSEO Exa (Marginalia)
Pricing (per 1k req) credit-based pricing (Ultimate Plan) ~$8.00 (SerpApi Enterprise) ~$0.60 (Min. $50 deposit) ~$2.50
Billing Model Pay-as-you-go, 6-month credit validity Monthly subscription Deposit-based Pay-as-you-go
SERP Sources Google & Bing Real-time Google (Primary) Google (Primary) Exa’s Own Index
Content Extraction Integrated Reader API Separate APIs Separate APIs Entire page content
Output Format Structured JSON + Clean Markdown JSON JSON Entire page content
AI-Readiness Built for LLMs & RAG General web scraping General web scraping Not RAG-optimized
Total Cost of Ownership Lowest TCO High (API + separate Reader) High (API + separate Reader) Moderate

The “Build vs. Buy” Reality

For organizations considering building their own scraping solution after the Bing API retirement, it’s crucial to calculate the Total Cost of Ownership (TCO). While a DIY approach might seem cheaper initially, the hidden costs quickly add up:

  • DIY Cost = Proxy Cost + Server Cost + Developer Maintenance Time ($100/hr) + Anti-bot Bypass Tools + Rate Limit Management + IP Rotation + CAPTCHA Solving

In our extensive experience, building and maintaining a robust web scraping infrastructure capable of handling billions of requests reliably often costs hundreds of thousands, if not millions, of dollars annually. When we scaled this to 1M requests, we noticed that DIY solutions frequently hit roadblocks with IP bans and complex JavaScript rendering. This makes compliant, purpose-built SERP APIs not just convenient, but a strategic necessity for AI companies. For a deeper dive, read about the hidden costs of DIY web scraping.

What SearchCans Is NOT For

SearchCans is optimized for AI-ready data extraction, it is NOT designed for:

  • Pixel-perfect custom DOM manipulation requiring bespoke JavaScript rendering beyond standard full-page load (use custom Puppeteer/Playwright scripts for extreme edge cases)
  • Browser automation testing (use Selenium, Cypress, or Playwright for UI testing)
  • Real-time streaming data (use WebSocket or SSE for live data feeds)
  • Legally complex or highly interactive web content requiring specific DOM manipulation for data extraction

Honest Comparison: While SearchCans is designed for high-performance and cost-efficiency for AI applications, for extremely niche, legally complex, or highly interactive web content where specific DOM manipulation is required for data extraction, a custom browser automation framework (like Puppeteer or Playwright) might offer more granular control. However, for the vast majority of AI agent internet access and RAG content ingestion, SearchCans provides a superior balance of performance, cost, and developer experience.

Frequently Asked Questions (FAQ)

What is the impact of the Bing Search API retirement on AI applications?

Since Microsoft retired the Bing Search APIs on August 11, 2025, any AI application, especially those using RAG or real-time agents, that relied on Bing for web data has stopped functioning correctly. Migrating to an alternative API is now required to restore accuracy and up-to-dateness in AI responses and to prevent issues like hallucination from stale information.

What are the key features to look for in a Bing Search API alternative for RAG?

For RAG systems, a Bing Search API alternative must provide real-time search results, structured JSON output, and ideally, an integrated URL-to-Markdown content extraction capability. The ability to get clean, semantic content (Markdown) directly from search results significantly improves LLM context windows and reduces data processing overhead.

Is SearchCans a direct replacement for the Bing Search API?

Yes, SearchCans offers a robust and superior replacement for the Bing Search API, providing real-time search results from both Google and Bing. Beyond simple search, its integrated Reader API also extracts clean Markdown content from URLs, making it an AI-first data infrastructure optimized for advanced AI agents and Retrieval-Augmented Generation pipelines.

How does SearchCans help reduce costs compared to other SERP APIs?

SearchCans uses a pay-as-you-go credit model with 6-month validity under the documented terms, reducing the need to pre-commit to a fixed monthly subscription. Review the current pricing and compare total ownership cost, including SERP access, clean content extraction, rendering, and integration work.

How important is real-time data for AI agents?

Real-time data is critically important for AI agents as it ensures their responses are current, accurate, and relevant, especially in rapidly changing domains like news, market intelligence, or financial analysis. Without access to live web data, AI agents can provide outdated or incorrect information, undermining their utility and trustworthiness.

Conclusion & Next Steps

The August 11, 2025 retirement of the Bing Search API marked a pivotal moment for AI developers. However, it’s not an end, but an opportunity to upgrade your AI’s data infrastructure to a more resilient, cost-effective, and AI-native solution. By choosing a platform like SearchCans, you not only replace decommissioned functionality but also elevate your AI agents with real-time, structured data and clean, LLM-ready content.

Don’t let the Bing Search API retirement keep disrupting your innovation. Future-proof your AI applications today:

Embrace the future of AI with a data infrastructure designed for intelligence, efficiency, and scale.

Tags:

Bing API SERP API AI Agents RAG API Alternatives Python Web Scraping
SearchCans Team

SearchCans Team

SERP API & Reader API Experts

The SearchCans engineering team builds high-performance search APIs serving developers worldwide. We share practical tutorials, best practices, and insights on SERP data, web scraping, RAG pipelines, and AI integration.

Ready to build with SearchCans?

Test SERP API and Reader API with 100 free credits. No credit card required.