The Cheapest Bing SERP API for Developers

Ranked organic listings, People Also Ask, related searches and inline videos as JSON. Web from $0.03/1K, news from $0.01/1K.

Try for Free View Documentation
Bing SERP from $0.03/1K calls Bing News $0.01/1K calls 10 Free Calls 112 Countries

Set engine=bing to request Bing-labeled SERP data with the same documented response shape as every other search engine in the catalog.

Run a live Bing SERP request

One real call, no signup and no key. The engine picker opens on Bing; you get the results page and the raw JSON.

Four Bing Endpoints, One API Key

Web, news, images and videos each have their own endpoint and their own published rate. Pricing is per category, so choosing Bing never changes what a call costs.

News

News

from $0.01
/1K calls (Scale tier)
  • 1–50 articles per request via num
  • sort=date or sort=relevance
  • Freshness: hour, day, week, month, year
  • Title, URL, source, published time, image
  • SafeSearch accepted on Bing news
  • 112-country targeting
Default$0.20/1K calls
Growth$0.02/1K calls
Scale$0.01/1K calls
Learn more →
Images

Images

from $0.25
/1K calls (Scale tier)
  • About 60 images measured at num=100
  • Size: small, medium, large, wallpaper
  • Type: photo, clipart, lineart, animated, face
  • People filter: face, portrait, nonportrait
  • Colour, aspect, licence and time filters
  • Thumbnail, original URL, width × height
Default$0.35/1K calls
Growth$0.32/1K calls
Scale$0.25/1K calls
Learn more →
Videos

Videos

from $0.07
/1K calls (Scale tier)
  • About 59 videos measured at num=100
  • Duration filter: short, medium, long
  • Resolution: 360p, 480p, 720p, hd, 1080p
  • Title, URL, duration, views, date
  • Thumbnail and source platform
  • Freshness filter and 112-country targeting
Default$0.10/1K calls
Growth$0.09/1K calls
Scale$0.07/1K calls
Learn more →
NEW · BETA

Pixel Position & Geometry on every Bing SERP element

Rank 3 on a page with a video carousel above it is not the same rank 3 as on a plain page. Add pixel_position=true to any Bing Deep Search (/api/search) call and every item — organic rows, ads, People Also Ask, videos, related searches — comes back with an integer pixel_position (its y-coordinate on the rendered desktop page) and a full pixel_box with x, y, width and height. Bing is one of the four engines that support it. Same per-call price, opt-in flag, paid tiers only; values describe a standard desktop rendering, and an item deep in the response can come back null — branch on the field's presence and fall back to position.

See the spec →
{
  "organic": [
    { "position": 1, "pixel_position": 612, "pixel_box": { "x": 48, "y": 612, "w": 1310, "h": 231 } }
  ],
  "peopleAlsoAsk": [
    { "pixel_position": 726, "pixel_box": { "x": 48, "y": 726, "w": 1310, "h": 142 } }
  ]
}

Bing Search in One Request

One query parameter switches the engine. Everything else — the path, the auth header, the response shape — is the same as the rest of the catalog, so a Bing integration is a one-line change to code you have already written.

cURL — Bing Deep Search
# Full Bing SERP: 20 organic rows plus every feature block on the page
curl "https://apiserpent.com/api/search?q=best+crm+software&engine=bing&country=us&num=20" \
  -H "X-API-Key: YOUR_API_KEY"

# Organic only, built for speed — rank tracking at one call per keyword
curl "https://apiserpent.com/api/search/quick?q=best+crm+software&engine=bing&country=uk&num=50" \
  -H "X-API-Key: YOUR_API_KEY"

# Bing news, newest first — sort= is not offered on every engine
curl "https://apiserpent.com/api/news?q=azure+outage&engine=bing&sort=date&freshness=1d&num=25" \
  -H "X-API-Key: YOUR_API_KEY"
JSON Response (partial)
{
  "success": true,
  "query": "best crm software",
  "engine": "bing",
  "country": "us",
  "results": {
    "organic": [
      {
        "position": 1,
        "title": "The 12 Best CRM Software Platforms of 2026",
        "url": "https://example.com/best-crm-software",
        "snippet": "We put 12 CRMs through the same 40-account migration...",
        "displayedUrl": "example.com"
      }
    ],
    "peopleAlsoAsk": [
      {
        "question": "Which CRM is best for a small B2B sales team?",
        "answer": "For teams under 20 reps, look for per-seat pricing and...",
        "sourceUrl": "https://example.com/small-team-crm",
        "sourceTitle": "CRM for Small Sales Teams",
        "sourceDisplay": "example.com › small-team-crm"
      }
    ],
    "relatedSearches": [
      { "query": "crm software pricing comparison" },
      { "query": "free crm for startups" }
    ],
    "richSnippets": [
      {
        "position": 1,
        "breadcrumb": "example.com › guides › crm",
        "publishDate": "2026-08-19",
        "rating": 4.6,
        "reviews": 312
      }
    ],
    "videos": [
      {
        "title": "CRM Buyer's Guide 2026 — What Nobody Tells You",
        "url": "https://www.youtube.com/watch?v=example123",
        "duration": "12:34",
        "source": "YouTube",
        "date": "2026-07-15",
        "views": "1.2M views",
        "thumbnail": "https://cdn.example-video.com/thumb.jpg"
      }
    ],
    "ads": { "top": [], "bottom": [], "totalCount": 0 },
    "featuredSnippet": null,
    "aiOverview": null,
    "knowledgePanel": null,
    "localPack": [],
    "shopping": []
  },
  "metadata": {
    "totalOrganicResults": 20,
    "hasPeopleAlsoAsk": true,
    "hasRelatedSearches": true,
    "hasVideos": true,
    "hasAiOverview": false,
    "source": "bing"
  },
  "meta": {
    "totalOrganic": 20,
    "requestedNum": 20,
    "elapsed": "7420ms"
  }
}

Read metadata.has* before you read a block — it is the cheapest way to find out whether a block is worth parsing on this response. aiOverview is always null on engine=bing, and metadata.hasAiOverview is false to match, so a parser that checks the flag first never has to special-case the engine.

Every Field a Bing Call Returns

Named JSON fields, not HTML you have to select against. Nothing here needs a parser of your own, and nothing changes shape between calls.

Web Search Fields

  • organic[].position
  • organic[].title
  • organic[].url
  • organic[].snippet
  • organic[].displayedUrl
  • peopleAlsoAsk[].question
  • peopleAlsoAsk[].answer
  • relatedSearches[].query
  • richSnippets[].breadcrumb
  • richSnippets[].publishDate
  • ads.top[].title, ads.top[].url

News Search Fields

  • articles[].position
  • articles[].title
  • articles[].url
  • articles[].source
  • articles[].publishedTime
  • articles[].snippet
  • articles[].image
  • totalResults

Image & Video Fields

  • images[].thumbnail
  • images[].original
  • images[].width, images[].height
  • images[].source, images[].pageUrl
  • videos[].title, videos[].url
  • videos[].duration
  • videos[].views
  • videos[].date
  • videos[].thumbnail

Bing Request Parameters

  • q (search query)
  • engine=bing
  • num (1–100 web, 1–50 news)
  • pages (pagination, 1–10)
  • country (112 codes, gb aliases uk)
  • language (ISO 639-1, e.g. en, de, ja)
  • freshness (h, d, 7d, w, m, y)
  • safe (off, moderate, strict)
  • sort (date, relevance — news)
  • pixel_position (Deep Search, paid)
  • format (full, simple)

Bing data, after Microsoft closed the door on it

On 11 August 2025 Microsoft decommissioned the entire Bing Search API family and closed it to new signups. What it offers instead is built to feed a language model, not your database.

The official replacement never hands you the list

The retirement covered the whole family: Web, Image, Video, News, Entity, Autosuggest, Spell Check, Visual Search and Custom Search. Microsoft points former API customers at Grounding with Bing Search inside Azure AI Agents. Its own documentation is blunt about what you get: “Developers and end users don’t have access to raw content returned from Grounding with Bing Search.” You receive a model-written answer plus citations that must be displayed exactly as supplied, and only on a paid Azure subscription.

That is a fine product for an assistant and a useless one for a rank tracker. If you need to know which URL sits at position 7 today and which one sat there last Tuesday, you need an endpoint that returns positions. This is that endpoint.

Roughly one US desktop search in eight

StatCounter put Bing at 12.82% of United States desktop search in August 2026, against Google’s 81.99%. On mobile the gap is far wider, but desktop is where B2B software, enterprise IT and high-consideration purchases are researched — the queries whose traffic converts.

For a US B2B site, being invisible on Bing is not a rounding error, and it is the cheapest visibility gap most teams have never measured.

Microsoft’s own agents reach the web by querying Bing

The agent tooling Microsoft now sells runs a Bing query on the model’s behalf and feeds it what comes back. Bing rankings therefore have a second audience that did not exist three years ago: the assistants and agents built on Microsoft’s stack.

Tracking your Bing positions week over week is the closest measurement you can put on what those agents are able to find about you.

Eleven keys, always present, on every engine

Deep Search returns one results shape: organic, ads, peopleAlsoAsk, relatedSearches, featuredSnippet, aiOverview, knowledgePanel, localPack, richSnippets, videos and shopping.

A block the Bing page did not carry arrives as [] or null, never as a missing key, so your parser never throws on an absent field and never needs a branch per engine. Add Bing to an existing integration by changing one query parameter.

More Than Blue Links

A Bing result page is not ten links in a column. Deep Search parses the blocks around them into named fields, and Quick Search on engine=bing still carries the feature blocks Bing supports.

People Also Ask

Each question arrives with its answer text, the source page URL, the source title and the displayed breadcrumb — a content brief and an intent map in the same field.

Related Searches

The query variants Bing itself suggests, as relatedSearches[].query. Seed a keyword list from them instead of guessing at long-tail variations.

Inline Videos

Videos embedded in the web results, with title, URL, duration, view count, publish date and thumbnail — separate from the dedicated /api/videos endpoint.

Rich Snippets

The enhancements attached to an organic row: breadcrumb path, publish date, star rating, review count, price range, sitelinks and inline FAQ — typed, so rating is a number, not "4.5/5".

Ads

Paid listings with title, URL, snippet and displayed URL, on the pages that carry them. Ad copy is where a competitor states its positioning in its own words.

Freshness & SafeSearch

freshness narrows to the last hour, day, week, month or year. safe is a filter applied to what we return, so a strict request comes back shorter rather than unfiltered.

What Teams Actually Pull Bing Results For

Four jobs that account for most Bing SERP traffic, and the parameters each one needs.

Second-engine rank tracking

Most rank trackers report Google and stop. Adding Bing costs one extra call per keyword at the same Web rate, and it is the fastest way to find pages that rank well on one engine and nowhere on the other.

Use Quick Search for this: /api/search/quick?engine=bing&num=50&country=us is organic-only and built for speed, and web billing is flat — one call, one charge, whatever depth you asked for.

Microsoft Advertising competitor watch

The ads block carries title, URL, snippet and displayed URL for the paid listings on a page, so you can log which competitors bid on which commercial queries and how their copy changes over a quarter.

Deep Search only — Quick Search is tuned for organic rows. Ads appear on commercial-intent queries and are genuinely absent on most informational ones, so expect an empty array more often than not.

Content briefs from PAA and related searches

One Deep Search call returns the People Also Ask questions with their answers and sources, plus the related searches Bing suggests. That is a heading outline and a semantic keyword set from a single request.

Run it across a keyword list with freshness unset, then diff the question set month over month to catch intent shifts before they show up in your traffic.

Above-the-fold and layout audits

Rank alone hides how far down the page you actually are. pixel_position=true returns the y-coordinate and bounding box of every element, so you can score share-of-voice by pixels rather than by ordinal position.

Paid tiers, Deep Search, desktop US locale, no price increase over a normal call. See the pixel position spec for the full contract.

Bash — nightly Bing position log
# One line per keyword: date, keyword, our position on Bing (or 0 if unranked).
# Quick Search is organic-only and flat-billed, so 50 results costs the same as 10.
DOMAIN="example.com"

while IFS= read -r kw; do
  pos=$(curl -s -G "https://apiserpent.com/api/search/quick" \
      --data-urlencode "q=$kw" \
      -d "engine=bing" -d "country=us" -d "num=50" \
      -H "X-API-Key: $SERPENT_KEY" \
    | jq -r --arg d "$DOMAIN" \
        '[.results.organic[] | select(.url | contains($d))][0].position // 0')
  echo "$(date -u +%F),$kw,$pos" >> bing-positions.csv
done < keywords.txt

Bing SERP API Questions

No. Microsoft retired the Bing Search APIs on August 11, 2025. Its lifecycle announcement states that existing instances were decommissioned completely and that the product is no longer available to be used or for new customer signup — that covered the whole family, including Web, Image, Video, News, Entity, Autosuggest, Spell Check, Visual Search and Custom Search. Microsoft points customers at Grounding with Bing Search inside Azure AI Agents, which is an agent tool rather than a results endpoint. Serpent API is a results endpoint: set engine=bing on /api/search and you get a ranked list of URLs back as JSON.
Pricing is per category and the engine you pick never changes the rate. Web (Deep Search and Quick Search) is $0.60/1K on Default, $0.06/1K on Growth and $0.03/1K on Scale. News is $0.20 / $0.02 / $0.01 per 1K. Images are $0.35 / $0.32 / $0.25 per 1K. Videos are $0.10 / $0.09 / $0.07 per 1K. Growth unlocks at a $100 single deposit and Scale at $500. Every new account gets free calls, shared across every free-eligible endpoint.
The results object carries the same eleven keys on every engine: organic, ads, peopleAlsoAsk, relatedSearches, featuredSnippet, aiOverview, knowledgePanel, localPack, richSnippets, videos and shopping. Every key is always present, so a block the Bing result page did not carry arrives as [] or null rather than disappearing — you write one parser and point it at any engine. On engine=bing, aiOverview is always null; People Also Ask, related searches, rich snippets and inline videos are the blocks Bing fills in most often, and ads appear on the pages that carry them.
Web search takes num up to 100 in a single call. num is a ceiling, not a promise: num=50 and below delivers in full, and above that a call is best-effort, with a short answer carrying meta.partialResults and a delivery block explaining what arrived. News takes num from 1 to 50. Image and video search also accept num up to 100, but measured at num=100 Bing returns about 60 images and about 59 videos.
Web search takes country, language, num, pages, freshness, safe and format. Bing news additionally accepts sort=date or sort=relevance and its own SafeSearch setting, which not every engine in the catalog offers. Image search takes size (small, medium, large, wallpaper), type (photo, clipart, lineart, animated, face), color, aspect, license, time and a people filter of face, portrait or nonportrait. Video search takes duration (short, medium, long) and resolution (360p, 480p, 720p, hd, 1080p).
Yes. Pass any of 112 country codes to the country parameter — us, uk, in, de, fr, jp, br, ca, au and more, with gb accepted as an alias for uk. GET /api/countries returns the full list and needs no API key. The language parameter takes a 2-letter ISO 639-1 code and Bing has some of the broadest language coverage in the catalog. Language is accepted on web, news and image search, but not on video search.
Yes. Add pixel_position=true to a Bing Deep Search (/api/search) call and every item comes back with a pixel_position integer — its y-coordinate on the rendered desktop SERP — plus a pixel_box giving x, y, width and height. It is supported on Google, Yahoo, Bing and DuckDuckGo; engine=brave carries no pixel fields. It is desktop, US locale, paid tiers only, and it costs no more than a normal call. Pixel positions are not available on Quick Search, News, Images or Videos.

Start using the Bing SERP API

free calls, shared across Web, News, Image and Video endpoints. No card, no subscription. Bing search data from $0.03/1K SERP API calls.

Try for Free

Related guides

More on working with Bing search results in code.

Scrape Bing for FreeThe 2026 route to Bing results without a paid plan. Bing Search API AlternativesFive real replacements after the Bing Search API retirement. Bing Search in PythonA runnable tutorial from first call to parsed results. Build a Keyword Rank TrackerStore positions over time and chart the movement. Pixel Position vs Rank PositionWhy rank 3 is not always rank 3, measured in pixels. International Rank TrackingRunning the same keyword set across 40+ country codes. Best SERP APIs in 2026Providers tested, compared, and ranked. Google SERP APIThe same response shape for Google search results.