Best Bing Search API Alternatives in 2026 (After the Retirement)
Microsoft retired the Bing Search API on August 11, 2025. Compare the best alternatives — Azure Grounding, Crawlora, Brave, SerpApi — and how to migrate.
If you landed here because your Bing Search API key suddenly returns 410 Gone, you are not alone. Microsoft retired the Bing Search APIs on August 11, 2025, and there is no longer a first-party "send a query, get ranked results as JSON" endpoint to sign up for. Whether Bing fed a rank tracker, a competitive-intelligence pipeline, an internal search box, or an AI agent, you need a replacement — and the replacement that fits depends on whether you want raw structured results or an AI-grounded answer.
This guide covers what happened, what Microsoft offers instead, what to look for in a replacement, and the best Bing Search API alternatives in 2026 — what each one does well, where it falls short, and when to choose it — plus a step-by-step migration.
What happened to the Bing Search API
Microsoft announced the retirement in May 2025, roughly 90 days before the shutdown, and decommissioned the v7 "Bing Web Search" and "Bing Custom Search" families on August 11, 2025. In Microsoft's words, the APIs "will be decommissioned completely, and the product will no longer be available for usage or new customer signup." (Microsoft Learn)
The retirement was total, not a tier trim:
- It applied to every paid and free tier — the F1 and S1–S9 resources of Bing Search, and the F0 and S1–S4 resources of Bing Custom Search.
- Existing keys stopped returning data; the endpoints now respond with HTTP
410 Gone. - New deployments were disabled ahead of the date, so you cannot spin up a fresh instance.
This is why search is full of queries like "bing search api deprecated", "bing search api key free", and "bing search api alternative" — they all trace back to the same event. The move reflects Microsoft's strategic shift from exposing search as a raw data endpoint to embedding it inside AI agents.
What people used the Bing Search API for
Before picking a replacement, it helps to name what you actually relied on. The v7 family was really a bundle of endpoints, and a good replacement only needs to cover the ones you used:
| Bing v7 capability | Typical job |
|---|---|
| Web Search | Organic results for rank tracking, monitoring, search boxes |
| News Search | Headlines, sources, timestamps for media monitoring |
| Image Search | Image results and thumbnails |
| Video Search | Video results and metadata |
| Autosuggest | Query completions / typeahead |
| Spell Check | Query correction |
| Entity Search | Knowledge-panel style entities |
| Visual Search | Reverse-image and visual lookups |
| Custom Search | Scoped search over a curated set of sites |
| Local Business Search | Place and business results |
Most teams used Web Search (and often News/Image/Video) as a data source. That "structured results, on demand" job is the one with the cleanest third-party replacements. Knowledge-panel and visual-search use cases are nicher and may need a different tool.
Microsoft's official replacement: Grounding with Bing Search
Microsoft points customers to Grounding with Bing Search, part of Azure AI Agents inside Azure AI Foundry. It lets an Azure-hosted agent pull real-time public web results into an LLM's answer. That is genuinely useful for agent grounding — but it is not a drop-in search API, and the differences matter:
- You get answers, not results. "Developers and end users don't have access to raw content returned from Grounding with Bing Search." The model response includes citations and a link to the Bing query, but not a clean ranked list you can parse. (PPC Land)
- It is a platform commitment. You stand up an Azure AI Foundry project, an Agent Service, model deployments, and role assignments — not a single key you call from a cron job.
- Data leaves the compliance boundary. Each grounding query "is transferred, along with the resource key, outside of the Azure compliance boundary to the Grounding with Bing Search service."
- There are display and model rules. You must display both the website URLs and the Bing search-query URL in your interface, and the tool works with the supported Azure OpenAI models (with documented exceptions).
And it is more expensive. Grounding with Bing Search lists at $35 per 1,000 transactions, on top of the Azure AI Agent Service usage it requires. Against the old Bing tiers — roughly $6 (S3), $15 (S2), and $25 (S1) per 1,000 — that is a 40–483% increase depending on which tier you were on. (PPC Land)
What to look for in a Bing Search API alternative
If you used Bing as a data source, a good replacement should:
- Return structured JSON — organic results with positions, titles, URLs, and snippets — not an LLM summary you have to re-parse.
- Accept the basics you already used: query, country, language, and paging.
- Authenticate with a single API key you can call directly, with no Azure project or resource-group setup.
- Offer predictable, usage-based pricing (ideally billed on successful responses), with a free tier to test.
- Cover the modules you need — web plus news, video, and image where relevant.
- Add engine breadth (Google and Brave alongside Bing) so one disruption doesn't stall your product.
- Handle the unglamorous parts — proxies, anti-bot challenges, retries — and return documented errors instead of broken HTML.
The best Bing Search API alternatives in 2026
There is no single winner — the right pick depends on whether you need raw results, an AI-grounded answer, an independent index, or multi-engine SERPs. Here is the landscape at a glance, then a closer look at each.
| Alternative | Type | Output | Setup | Free tier | Best for |
|---|---|---|---|---|---|
| Crawlora Bing API | Structured search API | Normalized JSON (web + news/video/image) | One API key | 2,000 credits/mo | Drop-in JSON replacement, rank tracking |
| Azure Grounding | Agent grounding | LLM answer + citations | Azure AI Foundry project | No | Agents inside Azure |
| Brave Search API | Independent search API | JSON from a self-crawled index | One API key | Yes (limited) | Non-Google, non-Bing coverage, privacy |
| SerpApi | Multi-engine SERP scraper | Rich SERP JSON, 25+ engines | API key | 100 searches/mo | SERP-feature depth across engines |
| Tavily | AI search API | LLM-optimized snippets | API key | 1,000 credits/mo | RAG pipelines and agents |
| Exa | Neural/semantic search | Semantic results + contents | API key | Free credits | Meaning-based discovery, research |
| Google Custom Search | First-party JSON API | Google results JSON | API key + engine ID | 100 queries/day | First-party Google data, small volume |
| DataForSEO | SERP + SEO datasets | SERP JSON + keyword/backlink data | API key | Pay-as-you-go | SEO platforms needing bundled datasets |
1. Crawlora Bing Search API — the drop-in JSON replacement
If your only question is "how do I send a query and get Bing results back as JSON, today, without standing up Azure?", Crawlora's Bing Search API is the closest drop-in. It wraps the request handling, proxy routing, anti-bot work, parsing, and normalization behind one documented endpoint, authenticated with a single x-api-key. You send q, country, lang, page, and count, and you get normalized organic results back — plus context-panel data, related queries, people-also-ask, and news/video modules when Bing surfaces them.
curl -G "https://api.crawlora.net/api/v1/bing/search" \
-H "x-api-key: $CRAWLORA_API_KEY" \
--data-urlencode "q=web scraping api" \
--data-urlencode "country=us" \
--data-urlencode "lang=en-us" \
--data-urlencode "page=1" \
--data-urlencode "count=10"
import os
import requests
resp = requests.get(
"https://api.crawlora.net/api/v1/bing/search",
headers={"x-api-key": os.environ["CRAWLORA_API_KEY"]},
params={"q": "web scraping api", "country": "us", "lang": "en-us", "page": 1, "count": 10},
)
for row in resp.json()["data"]["results"]:
print(row["position"], row["title"], row["url"])
Or, with the official SDK, the call is one line:
from crawlora import CrawloraClient
crawlora = CrawloraClient(api_key=os.environ["CRAWLORA_API_KEY"])
result = crawlora.bing.search(q="web scraping api", count=10)
The response is normalized JSON you can store directly (check the API docs for the current schema):
{
"code": 200,
"msg": "OK",
"data": {
"results": [
{
"position": 1,
"title": "Example result title",
"url": "https://example.com/",
"hostname": "example.com",
"display_url": "https://example.com",
"description": "Snippet text shown under the result."
}
],
"pagination": { "page": 1, "count": 10, "next_page": 2 }
}
}
| Capability | Retired Bing v7 | Crawlora Bing API |
|---|---|---|
| Output | Structured JSON | Structured JSON |
| Auth | Ocp-Apim-Subscription-Key | x-api-key |
| Setup | Azure resource | One API key |
| Web results | Yes | Yes (with positions) |
| News / video / image | Separate endpoints | Separate endpoints (/bing/news, /bing/videos, /bing/images) |
| Paging | count + offset | count (1–50) + page |
| Other engines | Bing only | Google and Brave share the same shape |
| Availability | Retired | Active |
When to choose it: you want Bing results as structured JSON with the least migration work, especially for rank tracking and SERP monitoring. The bonus is engine breadth — the Google Search and Brave Search endpoints return the same normalized shape, so the same code snapshots all three and you are no longer single-sourced on one engine.
2. Grounding with Bing Search (Azure AI Foundry) — the official path
Covered in depth above. As an alternative, it earns its place when you are building inside Azure and want an agent to reason over fresh web context with Microsoft-blessed grounding and citations. Pick it for agent answers; skip it if you need raw ranked results, predictable per-query pricing, or a setup lighter than an Azure AI Agent project. For an agent that needs structured web data (not summarized answers), a tool-based approach over MCP is often a better fit.
3. Brave Search API — an independent index
The Brave Search API is built on Brave's own independent index — not a Bing or Google reseller. That independence is the reason to choose it: if you specifically want non-Google, non-Bing coverage (for source diversity, rank tracking, or AI grounding), Brave adds a genuinely different result set rather than a re-skin of the same SERP. It returns web results plus news and video modules as JSON, runs privacy-first with no user tracking, and offers a free tier to evaluate.
When to choose it: you want a second or third engine with a truly independent crawl, or you care about the privacy posture. See how to scrape Brave Search for the request/response shape, and pair it with Bing and Google for cross-engine comparison.
4. SerpApi — multi-engine SERP depth
SerpApi scrapes and parses SERPs across 25+ engines — Google, Bing, DuckDuckGo, Yahoo, Baidu, and more — and returns rich structured JSON (organic results, ads, featured snippets, knowledge panels, "people also ask"). If your migration is really about replacing Bing and deepening SERP-feature coverage across engines, it is a mature specialist.
Two caveats. First, it is SERP-only — if you also need non-search platform data, you will run a second vendor. Second, in December 2025 Google filed a lawsuit against SerpApi over scraping Google results; the case is unresolved, and the practical takeaway for buyers is to avoid single-sourcing any one Google-SERP reseller. (Google) See SerpApi alternatives and Crawlora vs SerpApi for the full comparison.
When to choose it: you want broad SERP-feature breadth across many engines and are comfortable managing SERP-supply-chain risk.
5. Tavily — search built for RAG and agents
Tavily is a search API designed for AI agents and LLMs, optimized for retrieval-augmented generation. It returns LLM-ready snippets with fast response times, has native LangChain support, and ships search, extract, crawl, and map endpoints, with a free tier (1,000 credits/month) and transparent per-credit pricing.
When to choose it: you are prototyping or running a RAG pipeline and want AI-optimized search output rather than a raw SERP. It is less suited to precise rank tracking, where you want exact organic positions. For a side-by-side on the two output models — LLM-ready snippets and synthesized answers vs normalized, position-accurate SERP JSON — see Crawlora vs Tavily.
6. Exa — neural, meaning-based search
Exa is an embeddings-based search engine "built for machines": instead of keyword matching, it ranks by semantic similarity, and its standout Find Similar endpoint takes a URL and returns semantically related pages. It also offers contents, answer, and research endpoints, with free credits to start.
When to choose it: discovery and research where meaning beats keyword precision — finding related content, building recommendation or research tools. It is the wrong tool when you need the literal, position-accurate SERP a user would see. For a side-by-side on neural search vs normalized SERP JSON, see Crawlora vs Exa.
7. Google Custom Search JSON API — the other first-party option
If you want first-party Google results as JSON, the Google Programmable Search Engine / Custom Search JSON API is the sanctioned route. It is free for 100 queries/day, then $5 per 1,000 queries up to a daily cap. The catch is volume and scope: the daily limit makes it impractical for serious rank tracking, and it is built around a configured search engine rather than open-web SERP parity.
When to choose it: low-volume, first-party Google data where staying inside Google's terms matters more than throughput.
8. DataForSEO — SERP plus SEO datasets
DataForSEO pairs a SERP API with bundled SEO datasets — keyword search volume, difficulty, and backlinks — on pay-as-you-go pricing. If you are building an SEO platform and want search results and the supporting datasets from one vendor, it consolidates that stack. Compare it with focused options like Serpstack and Serpdog if you only need SERPs.
When to choose it: you are building SEO tooling and want SERP data alongside keyword and backlink datasets.
Bing Search API vs. Crawlora: feature by feature
For the most common migration — "I used Bing Web Search as a data source" — here is the head-to-head against the closest drop-in:
| Retired Bing Search API | Crawlora Bing Search API | |
|---|---|---|
| Status | Retired Aug 11, 2025 (410 Gone) | Active |
| Output format | Structured JSON | Structured JSON (normalized) |
| Setup | Azure resource + key | Single API key |
| Auth header | Ocp-Apim-Subscription-Key | x-api-key |
| Query params | q, mkt, count, offset | q, country, lang, count, page |
| Result modules | Web, news, image, video, etc. | Web + news / videos / images endpoints |
| Positions in results | Yes | Yes |
| Cross-engine | Bing only | Google, Bing, Brave (same shape) |
| Pricing model | Per-transaction tiers | Credit-based, billed on success |
| Free tier | (was tiered) | 2,000 credits/month, no card |
How to migrate from the Bing Search API
The mental model maps over cleanly. Most of the work is renaming parameters and re-pointing your parser.
1. Swap the endpoint. Point requests at https://api.crawlora.net/api/v1/bing/search instead of the retired Bing endpoint. Use the dedicated /bing/news, /bing/videos, and /bing/images routes for those modules.
2. Map the parameters. Bing's market and paging become Crawlora's locale and page:
| Retired Bing v7 | Crawlora Bing API | Notes |
|---|---|---|
q / query | q | The search query (required) |
mkt (e.g. en-US) | country + lang | e.g. country=us, lang=en-us |
count | count | Results per page, 1–50 |
offset | page | Page-based, 1-indexed |
responseFilter=news | call /bing/news | Per-module endpoints |
Ocp-Apim-Subscription-Key | x-api-key | Auth header |
3. Replace the key. Swap the Azure/Bing subscription key for your Crawlora API key, sent as the x-api-key header.
4. Re-point the parser. Read the normalized JSON fields (data.results[].position, title, url, hostname, description) and handle documented errors and retries — for example, 503 when Bing serves a challenge page.
A before/after for a typical web-search call:
- GET https://api.bing.microsoft.com/v7.0/search?q=web+scraping+api&mkt=en-US&count=10
- Header: Ocp-Apim-Subscription-Key: <azure-key>
+ GET https://api.crawlora.net/api/v1/bing/search?q=web+scraping+api&country=us&lang=en-us&count=10
+ Header: x-api-key: <crawlora-key>
How to choose
- You want Bing results as JSON with the least work → Crawlora's Bing Search API — one key, normalized output, news/video/image modules.
- You are building an agent inside Azure → Grounding with Bing Search, for AI-grounded answers with citations.
- You want an independent (non-Bing, non-Google) index → the Brave Search API.
- You want deep SERP features across many engines → SerpApi (mind the SERP-supply-chain risk).
- You are feeding a RAG pipeline → Tavily for AI-optimized snippets, or Exa for semantic discovery.
- You want first-party Google data at low volume → Google Custom Search JSON API.
- You are building SEO tooling → DataForSEO for SERPs plus keyword and backlink datasets.
- Bing was one engine in a rank tracker → run Bing, Google, and Brave through one SERP monitoring workflow so no single engine is a single point of failure.
Replace the Bing Search API in an afternoon
One API key, normalized JSON for Bing, Google, and Brave, managed proxies and retries. 2,000 free credits a month, no card.
Next steps
Try it first, free: turn any URL into clean Markdown with the Free Web Scraper — no signup, no API key. To check where a domain currently ranks on Bing (or Google and Brave) without writing any code, try the free SERP checker.
Test /bing/search in the Playground, check the request and response schema in the API docs, and review credit costs on the pricing page. Start from the Bing Search API page for the full workflow, or wire it into an agent with the hosted MCP server.
Sources
Related reading
- Using the Bing Search API for Rank Tracking — turn Bing results into a rank tracker once you have migrated.
- How SERP Monitoring APIs Work (and How to Build a Rank Tracker) — the snapshot-and-compare pattern across engines.
- Best SERP APIs in 2026 — where a Bing endpoint fits among search APIs.
- SerpApi Alternatives in 2026 — what the Google–SerpApi case means for SERP-data buyers.
Frequently asked questions
Why is my Bing Search API key returning errors?
Microsoft retired the Bing Search APIs on August 11, 2025. Keys issued before then stopped returning data and the endpoints now respond with HTTP 410 Gone; new signups are closed and the product was decommissioned completely.
When was the Bing Search API retired?
Microsoft announced the retirement in May 2025 and shut the v7 Bing Search and Bing Custom Search APIs down on August 11, 2025, across every free and paid tier (F1/S1-S9 and F0/S1-S4).
What replaced the Bing Search API?
Microsoft points customers to Grounding with Bing Search in Azure AI Agents, which returns LLM-grounded answers with citations rather than raw results. For a data-source replacement, third-party JSON search APIs (Crawlora's Bing API, Brave, SerpApi, Tavily, Exa, and others) stepped in.
Is there a drop-in Bing Search API alternative?
Crawlora's Bing Search API is the closest drop-in for the data-source use case: send q, country, lang, page, and count and get normalized organic results plus news, video, and image modules — with one API key and no Azure project.
Is there a free Bing Search API now?
There is no free first-party Bing Search API anymore. Crawlora includes 2,000 free credits per month (no card) covering Bing, Google, and Brave search endpoints, and Google's Custom Search JSON API allows 100 free queries per day.
How much does Grounding with Bing Search cost?
Grounding with Bing Search lists at about $35 per 1,000 transactions, on top of the Azure AI Agent Service it requires. Against the old Bing S3/S2/S1 tiers (roughly $6/$15/$25 per 1,000), that is a 40-483% increase depending on your prior tier.
What is the best Bing Search API alternative?
It depends on the job: Crawlora's Bing API for a drop-in JSON replacement and rank tracking, Azure Grounding for agents inside Azure, Brave for an independent index, SerpApi or DataForSEO for multi-engine SERPs and SEO datasets, and Tavily or Exa for RAG and semantic search.
How do I migrate off the Bing Search API?
Swap the endpoint to /bing/search, map your old q/mkt/count/offset parameters to q, country, lang, count, and page, replace the key with your Crawlora x-api-key, and re-point your parser at the normalized JSON.
