Skip to content

New AI assistant answers: ChatGPT, Gemini, Copilot and AI Mode by API

SerpKite
Get API key

POST /v1/search · engine=bing

Bing Search API

Microsoft retired the Bing Search APIs on August 11, 2025. SerpKite still returns Bing's web results as JSON: add engine: "bing" to /v1/search, no Azure subscription needed.

Get a free API key Try in playground
1 credit per page of results 2,500 free credits, no card Failed calls are free

Overview

What the Bing Search API does

Bing is Microsoft's web index. Microsoft retired its official Bing Search APIs on August 11, 2025; SerpKite reads Bing's public results page instead. Use it to keep a Bing-backed integration running after the retirement, or to compare Microsoft's index with Google's.

/v1/search with engine: "bing" returns Bing's organic results with resolved destination URLs (never Bing redirect links), domain, displayed_link, snippet and published_at when Bing dates a result, plus related_searches. If you are migrating from Bing Web Search v7, webPages.value[] maps to results[] and url to link.

What you get

results[] array
Organic results: position, title, link (the destination URL), domain, displayed_link, snippet, and date / published_at when the engine shows one.
related_searches[] array
Related queries, when the engine shows them.
meta object
request_id, credits_used, cached, latency_ms, parse_quality, engine (the provider that answered) and route (each provider attempt with outcome and ms).

Request

curl https://api.serpkite.com/v1/search \
  -H "Authorization: Bearer $SERPKITE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"espresso machine","engine":"bing"}'

Response (live response, trimmed)

200 OK · Bing web search · live response, trimmed
{
  "request": {
    "country": "us",
    "endpoint": "search",
    "engine": "bing",
    "language": "en",
    "num": 10,
    "page": 1,
    "q": "espresso machine"
  },
  "results": [
    {
      "displayed_link": "https://www.amazon.com › Espresso-Machines-Coffee-Tea-Kitchen",
      "domain": "amazon.com",
      "link": "https://www.amazon.com/Espresso-Machines-Coffee-Tea-Kitchen/b?node=289748",
      "position": 1,
      "snippet": "Discover Espresso Machines on Amazon.com at a great price. Our Small Appliances category offers a great selection of Espresso …",
      "title": "Amazon.com: Espresso Machines: Home & Kitchen: Super-Automatic Espresso ..."
    },
    {
      "date": "6 days ago",
      "displayed_link": "https://www.forbes.com › ... › article › best-espresso-machine",
      "domain": "forbes.com",
      "link": "https://www.forbes.com/sites/forbes-personal-shopper/article/best-espresso-machine/",
      "position": 2,
      "published_at": "2026-10-17",
      "snippet": "For devotees of handcrafted café beverages, investing in an espresso machine can save both time and money …",
      "title": "Best Espresso Machines 2026 | Tested - Forbes Vetted"
    }
  ],
  "meta": {
    "request_id": "req_01J8ZK4M6Q2V7",
    "credits_used": 1,
    "cached": false,
    "engine": "bing",
    "route": [
      {
        "provider": "bing",
        "outcome": "ok",
        "ms": 843
      }
    ],
    "latency_ms": 873,
    "parse_quality": "ok"
  }
}

Every response also carries X-Credits-Used, X-Credits-Remaining, X-Cache and X-Tokens-Estimate headers. Run this query in the playground

One key, many engines

Bing through SerpKite

  • Same key, same envelope and the same SDK call as Google: only engine changes.
  • meta.engine names the provider that answered and meta.route lists every attempt. A result is never relabelled.
  • engine: "auto" keeps Google first and falls back to Bing and the other engines only when Google fails. How fallback works
  • Failed, blocked and empty attempts are free; you pay only for the provider that answered.

Everything Bing serves on SerpKite

See all engines on the multi-engine search page or in the providers reference.

engine=auto answered by Bing (illustrative)

meta.route
{
  "request": {
    "endpoint": "search",
    "engine": "auto",
    "q": "espresso machine"
  },
  "meta": {
    "engine": "bing",
    "route": [
      {
        "provider": "google",
        "outcome": "blocked",
        "ms": 2140
      },
      {
        "provider": "bing",
        "outcome": "ok",
        "ms": 640
      }
    ]
  }
}

Reference

Parameters

The parameters /v1/search accepts, in the JSON body or the query string.

Bing Search API parameters
Name Type Default Description
q required string – The search query. Required. Up to 2,048 characters.
engine string | string[] google "bing" for this page. "auto" tries Google first and falls back to other engines; a list such as ["google", "bing"] limits the route to those engines.
country string us Country to search from, as a two-letter ISO code (us, gb, de, in…). Defaults to the country a location ends in.
language string en Interface language, as a language code with an optional region (en, de, pt-BR, zh-TW…).
num integer 10 Results per call, 1–100. Up to 10 returns one page of 10 (1 credit); above 10 on search and news fetches whole pages as a depth bundle, and 100 costs 7 credits instead of 10. On images a page holds up to 100 images and num (default all) is how many of them come back.
page integer 1 Results page, 1–10. Each page is billed separately.
include_domains string[] – Only results from these sources, up to 20: a domain (example.com, subdomains match), a path prefix (github.com/org) or a TLD (.gov). Compiled to site: operators and enforced on the results. Search, news, images, videos.
exclude_domains string[] – Drop results from these sources, up to 20, same formats as include_domains. Search, news, images, videos.
format string json Response format. markdown is LLM-ready prose; compact is JSON with only the fields agents need. Values: json, compact, markdown.
fields string – Comma-separated projection, e.g. results.title,results.link,knowledge_graph. Cuts tokens.
max_age integer – Accept a cached result up to this many seconds old. Cache hits cost 50% of the credits.

Full reference, error codes and headers are in the /v1/search reference. Queue up to 100 requests at half price with POST /v1/batches.

Use cases

What people build with the Bing Search API

01

Replace the retired Bing API

Point code that called Bing Web Search v7 at /v1/search with engine=bing and keep getting Bing's results.

02

Bing visibility checks

See where a domain shows up on Bing for a keyword, next to its Google position.

03

Grounding without Azure

Give an agent Bing web results as JSON or Markdown without an Azure AI Agents setup.

Pricing

Bing Search API pricing

Cost per call

1 credit

per page of results

  • From $0.60 per 1,000 calls at volume.
  • Credits never expire. No subscription.
  • Failed, empty and blocked calls are refunded.
  • 2,500 free credits = 2,500 calls, then 1,000 credits a month.

For reference: Serper lists Google searches at $1.00 per 1k on its entry tier and $0.30 at its best tier, and its credits expire after 6 months. SerpKite credits cost $1.00 to $0.60 per 1k.

See all pricing
Bing Search API cost per pack
Pack Price Per 1k credits Per 1k calls Calls per pack
Starter $10 $1.00 $1.00 10,000
Growth $50 $0.80 $0.80 62,500
Pro $300 $0.60 $0.60 500,000

FAQ

Bing Search API: common questions

Start building

Start with the Bing Search API

2,500 free credits, then 1,000 every month. No credit card.