Connect Search1API to OpenClaw, Claude Code, and Codex with the Search1API CLI

Bing Web Search API Alternative: Keep Your v7 Code, or Go Multi-Engine

Microsoft retired the Bing Search APIs on August 11, 2025. Keep code written for Bing Web Search v7 working by pointing its endpoint at a compatible API, or move to one search API that covers Bing, Google, Reddit, GitHub and more. Free 100 credits.

4 minute read

Microsoft retired the Bing Search APIs on August 11, 2025. Code that calls https://api.bing.microsoft.com/v7.0/search no longer gets results, and Microsoft's suggested replacement, Grounding with Bing Search in Azure AI Agents, doesn't return the same thing: you get a model's grounded answer, not a list of webPages.value results that your code can parse.

If you're looking for a Bing Web Search API alternative, you probably want one of two things:

  • Keep existing code running with as few changes as possible — the same endpoints, the same response shape.
  • Move to a broader search API that covers Bing alongside Google, Reddit, GitHub, YouTube and others.

Search1API supports both.

Option 1: keep your Bing v7 code

Search1API answers the Bing v7 web, news and image search endpoints, backed by its own Bing engine. Replace the base URL:

Bing v7

Search1API

https://api.bing.microsoft.com/v7.0/search

https://api.search1api.com/compat/bing/v7.0/search

https://api.bing.microsoft.com/v7.0/news/search

https://api.search1api.com/compat/bing/v7.0/news/search

https://api.bing.microsoft.com/v7.0/images/search

https://api.search1api.com/compat/bing/v7.0/images/search

Send your Search1API key in the Ocp-Apim-Subscription-Key header, as Bing clients already do (Authorization: Bearer also works):

curl "https://api.search1api.com/compat/bing/v7.0/search?q=hono+workers&count=5" \
  -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"

LangChain's BingSearchAPIWrapper takes the URL directly:

from langchain_community.utilities import BingSearchAPIWrapper

search = BingSearchAPIWrapper(
    bing_subscription_key="YOUR_API_KEY",
    bing_search_url="https://api.search1api.com/compat/bing/v7.0/search",
    k=5,
)
results = search.results("hono cloudflare workers", 5)

In Open WebUI, choose bing as the web search engine and set BING_SEARCH_V7_ENDPOINT to the same URL. Other clients that accept a Bing endpoint, such as Semantic Kernel's Bing connector or Dify's Bing tool, take the same URL too.

What carries over

  • Web search returns webPages.value with name, url, displayUrl, snippet and, when known, datePublished.
  • News search returns articles with name, url, description, datePublished and provider.
  • Image search returns contentUrl and thumbnailUrl.
  • count (up to 50), offset, mkt / setLang and freshness are supported.

What doesn't

  • Web search returns only webPages. The news, images, relatedSearches and rankingResponse sections of a combined response are not included; call the news and image endpoints directly instead.
  • safeSearch, responseFilter, textDecorations, answerCount and a few other options are ignored. Snippets are plain text.
  • totalEstimatedMatches is offset plus the number of results returned, not an estimate of all matches.
  • News search requires q. Bing's "top stories without a query" returns 400.

The full list is in the Bing v7 compatibility reference. Each request costs 1 credit.

Option 2: one API for Bing and every other engine

If you're rewriting the integration anyway, Search1API's native Search API gives you one endpoint for many engines. Set search_service to bing, or to google, duckduckgo, reddit, github, youtube, arxiv, wikipedia and others:

curl -X POST https://api.search1api.com/search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "best web scraping tools 2026",
    "search_service": "bing",
    "crawl_results": 3
  }'

What the native API adds:

  • Full page text in the same call. crawl_results reads the top results in full. It costs 1 credit for the search plus 1 per page read successfully.
  • Batch requests. Send up to 50 searches in one request; each item is billed on its own, and failed items cost nothing.
  • News through `/news`, with published dates.
  • AI agent access through the hosted MCP server, the CLI, and official TypeScript and Python SDKs.

Which option fits

Your situation

Use

Existing code or a tool built on Bing v7 that you don't want to rewrite

The /compat/bing/v7.0 endpoints

A new integration, or you need engines other than Bing

The native Search API

You need full page text, not just snippets

The native Search API with crawl_results

Pricing

A search costs 1 credit. New accounts get 100 free credits with no credit card. Top-ups start at $1 = 1,000 credits, and larger top-ups add a bonus of up to 60% (about $0.63 per 1,000 searches). Monthly and yearly plans cost less per credit, down to about $0.42 per 1,000 searches on the yearly Enterprise plan. Top-up credits never expire. See the pricing page for current prices.

FAQ

Is there a drop-in replacement for the Bing Web Search API v7?

For web, news and image search, yes: change the endpoint to https://api.search1api.com/compat/bing/v7.0/… and use a Search1API key in Ocp-Apim-Subscription-Key. Check the "What doesn't" list above for the differences.

Does Search1API return real Bing results?

Yes. Both the compatible endpoints and search_service: "bing" use Search1API's Bing engine.

Do I need an Azure account?

No. You sign up with an email address and get an API key from the dashboard.

Can I get Bing News?

Yes, through /compat/bing/v7.0/news/search for v7 clients, or the native News API.

Get started

  1. Sign up at app.s1.dev — 100 free credits, no credit card.
  2. Copy your API key from the dashboard.
  3. Point your Bing v7 client at https://api.search1api.com/compat/bing/v7.0/search, or call /search with search_service: "bing".

No comments yet