Site scraper

Bing Scraper: Bing Results Pages via API

HTTP $0.50JS rendering $2.00 per 1,000 results or your own scraper from $1.95/GB

Microsoft retired the Bing Search APIs on August 11, 2025, so code written for https://api.bing.microsoft.com/v7.0/search no longer works. The best route now depends on what you need. For raw positions, ads and related searches, fetch Bing's public results page: your own script through ProxyField residential proxies works today (412M+ IPs in 195+ countries, Easy Trial 1 GB for $2.95, traffic never expires), and ProxyField's Web Scraping API, in development (contact sales), is priced at $0.50 per 1,000 pages, or $0.20 from 10,000 in one purchase. For AI answers, use Grounding with Bing Search; for parsed JSON, a third-party SERP API; to host it yourself, OpenSERP.

Web Scraping API per 1,000 successful results
Web Scraping API prices per 1,000 successful results
FetchEntryVolume, from
HTTP$0.50$0.20
JS rendering$2.00$1.00

Billed on successful results only.

Your own scraper on residential proxies
from $1.95/GB Easy Trial: 1 GB for $2.95
gate.proxyfield.io:7000

For UK rankings, request mkt=en-GB&setlang=en-GB from a UK exit IP (<login>-country-gb; 16.6M+ UK residential IPs in 640+ cities): 500 keywords to the top 30, daily, is 45,000 pages, $22.50 a month through the Web Scraping API, or $9 at the volume price.

In Python, loop requests.get on https://www.bing.com/search with first = (page - 1) * 10 + 1 (1, 11, 21, 31, 41 for the top 50), read li.b_algo blocks for the results and .b_rs a links for related searches. The 13-line script below does exactly that; the full version adds ads, a challenge-page guard, JSON and CSV.

Data

Bing Search API retired: how to get Bing search results programmatically now

Microsoft retired the Bing Search APIs on August 11, 2025, and existing keys were decommissioned (Microsoft's retirement notice). Code that still calls https://api.bing.microsoft.com/v7.0/search with a subscription key gets no results. Microsoft points developers to Grounding with Bing Search in Azure AI Agents, which feeds Bing results into an AI agent's answer; it does not hand you the results page with positions, snippets and ads. Pick the route by what you need, and by what works today:

You needRouteWorks today?What you getCostWhat you build
Raw positions, ads and features, full controlYour own script through ProxyField residential proxiesYesThe Bing results page, fetched by your codeFrom $1.95/GB; Easy Trial 1 GB for $2.95Fetcher, retries and parser (the Python below)
Raw positions, ads and features, no fetcher to runProxyField Web Scraping APINo: in development, contact salesThe Bing results page (HTML, not parsed JSON), from any of 195+ countries$0.50 per 1,000 pages, from $0.20: 5,000 keywords, first page, daily, US and UK = 300,000 pages = $150 a month, $60 at the volume priceA parser (the Python below, about 50 lines)
AI answers with citationsGrounding with Bing Search in Microsoft Foundry (Microsoft's docs)Yes, in AzureThe agent's answer, with URL citationsSet by Microsoft ("incurs costs", per its docs)An Azure AI agent
Parsed JSON, no parser to maintainA third-party SERP API that returns Bing results as fieldsYes, from such providersJSON fields such as organic_results, ads, related_searches and search_informationSet by each provider, per 1,000 searchesNothing: you pay an intermediary and depend on its parser
A tool you hostOpenSERP, an open-source (MIT) SERP API and CLI for Bing, Google, DuckDuckGo, Yandex, Baidu and Ecosia (OpenSERP docs)Yes, you host itJSON from a server you runYour serversYou run it and own its reliability, updates and rate limits
Read moreShow less

A parsed-JSON service typically returns one object per search: search_information (the query and the result count Bing shows), organic_results (position, title, link, snippet), ads (position, title, displayed link) and related_searches (the query text). The script on this page writes the same shape from the raw page, minus search_information.

The response is the page, not parsed fields. This is what the full script below (about 50 lines) makes of that page, with the ads, organic results and related searches as rows:

JSON
{
  "search": {"keyword": "residential proxies", "market": "en-GB", "device": "desktop", "date": "2026-10-27"},
  "ads": [
    {"position": 1, "block": "top", "title": "…", "displayed_url": "…", "link": "https://www.bing.com/aclick?…"}
  ],
  "organic_results": [
    {"position": 1, "title": "…", "url": "https://…", "page": 1, "snippet": "…"},
    {"position": 11, "title": "…", "url": "https://…", "page": 2, "snippet": "…"}
  ],
  "related_searches": [
    {"position": 1, "query": "…"}
  ]
}

Bing data on public result pages

A Bing scraper reads the results page a searcher sees. The Web Scraping API (in development) is designed to take a Bing search, news, image or video URL and return the page; your parser, or the Python below, pulls the fields out of it. ProxyField sells no separate Bing API with pre-parsed fields, and its Google SERP API covers Google only.

Bing pageURLWhat the public page shows
Web search/search?q=Organic results with position, title, URL and snippet; ads; related searches; answer boxes and other features
News/news/search?q=Headline, source, publish time, snippet, link
Images/images/search?q=Thumbnail, image URL, source page, title, size
Videos/videos/search?q=Title, length, platform, channel, views, upload date, link
URL parameterWhat it setsExample
qthe queryq=residential+proxies
firstthe position of the first result: first = (page - 1) * 10 + 1, so 1, 11, 21, 31, 41 for pages 1 to 5first=11
mktthe market (language and country), from Microsoft's market code listmkt=en-GB
setlangthe interface languagesetlang=en-GB
ccthe country, as an alternative to mktcc=GB

Send mkt (with setlang) and leave cc out: Microsoft's query parameter reference for the retired API says mkt and cc "are mutually exclusive — do not specify both", so the scripts here send mkt alone. Check on the first page you fetch that the market came through: a UK page shows UK domains and prices in pounds.

Scrape Bing as a UK searcher sees it to track rankings

Yes: request the URL with the UK market from a UK IP. Microsoft's support page How Bing delivers search results says "Bing considers the user's location (country and city)", so a UK check needs the UK market in the URL (en-GB in Microsoft's market code list) and a UK exit IP, and a local query ("plumber") needs a UK city as well:

Read moreShow less
  • URL: https://www.bing.com/search?q=residential+proxies&mkt=en-GB&setlang=en-GB
  • Your own scraper: the username <login>-country-gb, or <login>-country-gb-city-<city> for one city (lowercase, underscores for spaces) for local queries; the United Kingdom has 16.6M+ residential IPs in 640+ cities, and a city costs the same per GB as the country.
  • The device: desktop or mobile is set by the User-Agent header of the same request (the script's DEVICE setting). Bing's mobile page uses different markup, so check the selectors before you track mobile.
  • The Web Scraping API: the same URL with "country": "gb" in the request.

Cost: 500 keywords to the top 30, daily, is 45,000 pages a month: $22.50 at $0.50 per 1,000, or $9 at the volume price. The result is what Bing showed from a UK IP at that time. Store each row with the keyword, market (en-GB), device and date, and check at the same hour every day, so two days compare like with like. Change the URL's market and the exit country together: an en-GB URL from a US IP is neither a UK nor a US result. For a browser or an SEO tool on Bing through residential IPs, see Bing proxies.

Terms and the API, in two sentences: the Microsoft Services Agreement says not to circumvent restrictions on access to the services, naming "impermissible scraping" (section 3.a.vi), and limits Bing materials to noncommercial, personal use (section 14.f.i), so weigh a commercial rank-tracking use against them (Legal questions). There is no official API to use instead: Microsoft retired the Bing Search APIs on August 11, 2025.

What changes a UK result besides the market and the IP, and how to hold it fixed:

FactorWhat it changesHold it fixed with
Devicedesktop and mobile pages rank and lay out differentlythe same User-Agent on every run
Citylocal queries ("plumber") change by town-city-<city> in the username, the same city every run
Time of dayresults and ads move during the daythe same hour every day
Sign-in and historya signed-in searcher can get a personalised pageno cookies kept between runs (a signed-out request)

A rank log, two rows from it (example domain):

datekeywordmarketdeviceexitpositionurl
2026-10-27residential proxiesen-GBdesktopGB7https://www.example.co.uk/residential
2026-10-28residential proxiesen-GBdesktopGB5https://www.example.co.uk/residential

What you send to the Web Scraping API

As designed (in development, access through Contact sales), the API takes a POST to https://api.proxyfield.io/v1/scrape with your API key in an Authorization: Bearer <api_key> header and a JSON body: url, render (false for plain HTTP, true for JS rendering), country and output (html, markdown, text or json). country sets the country the request comes from (the exit IP), as a two-letter code such as gb; it accepts the proxy pool's 195+ countries. Parameter reference: API documentation.

Shell
# The request the Web Scraping API takes (access through Contact sales): page 2 of a UK search
curl https://api.proxyfield.io/v1/scrape \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.bing.com/search?q=residential+proxies&first=11&mkt=en-GB&setlang=en-GB", "render": false, "country": "gb", "output": "json"}'

Example response (shortened; content is the page's HTML):

JSON
{
  "metadata": {"id": "req_1c8e7a3f5d20b694", "api": "web_scrape", "status": "success", "billed": true},
  "status_code": 200,
  "final_url": "https://www.bing.com/search?q=residential+proxies&first=11&mkt=en-GB&setlang=en-GB",
  "content_type": "text/html; charset=utf-8",
  "content": "<!DOCTYPE html><html lang=\"en\">…</html>"
}
Pricing

Pricing: $0.50 per 1,000 pages, from $0.20

Bing's web, news and video results arrive in the HTML, so plain HTTP at $0.50 per 1,000 successful results covers most jobs. Pages that load results with scripts as you scroll, such as long image grids, need JS rendering: $2.00 per 1,000, from $1.00 at volume. The volume price starts at 10,000 successful results in one purchase.

One result is one results page fetched; ten organic results on one page count once. Billed: a page Bing answered with a 2xx status; a target's 404 or 410, and a sign-in page the site serves with a 200 status, also count as billed results. Not billed: blocked requests, timeouts and errors on our side; a blocked request is retried on new IPs, and the retries are not billed. Every response says whether it was billed. Payment and balance for the API: the same crypto balance as proxies, which never expires; there is no subscription or monthly fee. For availability and access, contact sales through the sales team on our 24/7 live chat. All prices: pricing.

Through the sales team on our 24/7 live chat

Workload (30-day month)
Workload (30-day month), Pages a month, Plain HTTP at $0.50, At $0.20 (volume)
Workload (30-day month)Pages a monthPlain HTTP at $0.50At $0.20 (volume)
1 keyword, top 50 (5 pages), daily150$0.08–
500 keywords, top 30 (3 pages), daily, UK only45,000$22.50$9
5,000 keywords, first page, daily, US and UK300,000$150$60

When Bing refuses a request

Bing meets heavy automated traffic with a challenge page, an empty results page or fewer results than a person would see. With the Web Scraping API you pay only for successful results. With your own scraper, slow down, rotate IPs, send the headers a browser sends, and check every page for organic results before you store it, as the script does, so a challenge page never lands in your data as "no results".

Use cases

What teams use Bing data for

  • Rank tracking on Bing next to Google, by keyword and market: more in SEO proxies.
  • SERP feature research: which answer boxes, videos and news blocks show for a query.
  • Ad monitoring: which advertisers bid on your brand and what their ads say.
  • Keyword research from related searches.
  • Training and grounding data for AI tools, now that the Bing Search API is gone.

Clicking ads or results to inflate numbers is click fraud, which ProxyField's acceptable use policy forbids.

More scrapers

More scrapers

  • Google SERP API: the Google results page as JSON with the AI Overview, People Also Ask and local pack parsed, $1.20 per 1,000 successful results, from $0.80.
  • Google AI Mode API: the AI Mode answer, $1.50 per 1,000 successful results, from $1.00.
  • News scraper for articles and publish dates, on the same Web Scraping API.
  • ChatGPT scraper API: the ChatGPT answer, $1.50 per 1,000 successful results, from $1.00.
  • All scrapers: scrapers.
FAQ

Bing Scraper FAQ

24/7 support by live chat, including help with setup and integration.

How much does it cost to scrape Bing?

ProxyField's Web Scraping API, in development (Contact sales), is priced at $0.50 per 1,000 successful Bing results pages over plain HTTP, from $0.20 at volume, and $2.00 per 1,000 with JS rendering. Tracking 500 keywords to the top 30 every day is 45,000 pages a month: $22.50 at the entry price. Your own scraper on residential proxies starts at 1 GB for $2.95.

The Bing Search API has been retired, so what's the best way to get Bing search results programmatically now?

Pick by the output you need, since Microsoft retired the Bing Search APIs on August 11, 2025. For raw positions, snippets, ads and related searches, fetch Bing's public results page and parse it: your own script on ProxyField residential proxies today (from 1 GB for $2.95), or ProxyField's Web Scraping API, in development through Contact sales, which returns the page (HTML, not parsed JSON) for $0.50 per 1,000 successful results, from $0.20; 5,000 keywords, first page, daily, in the US and UK is 300,000 pages, $150 a month or $60 at the volume price. For AI answers with citations, Microsoft points to Grounding with Bing Search; for parsed JSON without a parser of your own, a third-party SERP API returns Bing results as fields; to run everything yourself, a self-hosted tool such as OpenSERP.

What is a Bing scraper?

A tool or script that collects Bing results pages and turns them into rows: position, title, URL, snippet, ads and related searches. It reads what a searcher sees, now that the official Bing Search API is retired.

How do I scrape Bing search results?

Request https://www.bing.com/search?q=your+keyword, read each organic result block for its title, URL and snippet, and move to the next page with first=11, first=21 and so on. Send the URLs to the Web Scraping API, or run the Python on this page through rotating residential proxies.

How do I scrape Bing search results with Python, including related searches and results past the first page?

Loop requests.get("https://www.bing.com/search", params=...) over first = (page - 1) * 10 + 1 (1, 11, 21, 31 and 41 for the top 50), parse each li.b_algo block with Beautiful Soup for title, URL and snippet, and read the related searches from the .b_rs list at the bottom of the first page, re-fetching that page with JS rendering if the plain HTML has none. Stop at the first page with no organic results, so a challenge page is not saved, and wait a few seconds between pages. The script on this page does all of this through a ProxyField residential IP and writes JSON and CSV.

Is the Bing Search API still available?

No: Microsoft retired the Bing Search APIs on August 11, 2025, and existing instances were decommissioned. It points developers to Grounding with Bing Search in Azure AI Agents, which feeds results into an agent's answer rather than returning the raw results page.

Can I get a Bing Search API key without an Azure subscription?

No: since August 11, 2025 there is no Bing Search API to get a key for, and Microsoft's grounding service runs inside Azure. Reading Bing's public results pages needs no Microsoft key at all.

Does a Bing scraper need an API key?

A scraper that reads Bing's public pages needs no Bing or Microsoft key. You need credentials only for the service you send the requests through, such as the Web Scraping API or your proxy account.

What data can I collect when scraping Bing searches?

From the web results page: organic positions, titles, URLs and snippets, text ads, related searches, answer boxes and the news, image or video blocks that show for the query. Bing's news, image and video tabs are separate URLs with their own fields.

What does a Bing scraper return?

The Web Scraping API returns the Bing page as HTML, Markdown or plain text, or in a JSON envelope with the status code, the final URL and the content; your parser turns it into organic_results and related_searches rows, as in the sample on this page. ProxyField sells no separate Bing API with pre-parsed fields, so the parsing step is yours.

Show 13 more questionsShow fewer questions

Can I scrape more than ten results per query on Bing?

Yes, by paging: first=11 returns results 11 to 20, first=21 the next ten. Each page is one request and one billed result, so the top 50 for a keyword is five pages, $0.0025 at $0.50 per 1,000.

How do I scrape Bing Videos?

Request https://www.bing.com/videos/search?q=your+keyword and read each video tile for its title, length, platform, channel, views and link. More tiles load as you scroll, so fetch with JS rendering if you need more than the first screen.

How do I scrape Bing Images?

Request https://www.bing.com/images/search?q=your+keyword; each image tile links to the full image and its source page. The grid grows as you scroll, so JS rendering at $2.00 per 1,000 or a browser through proxies gets the deeper results.

How do I scrape Bing News?

Request https://www.bing.com/news/search?q=your+keyword and read each card for headline, source, publish time, snippet and link. News changes by the hour, so schedule the same queries rather than fetching once.

Does Bing need JavaScript rendering to scrape organic results?

Usually not: Bing sends the organic results in the HTML, so plain HTTP at $0.50 per 1,000 works for web search. Infinite-scroll pages such as image and video grids, and some answer panels, need JS rendering at $2.00 per 1,000, from $1.00.

Can I scrape Bing results the way a searcher in the UK sees them, to track my keyword rankings there?

Yes: request the URL with mkt=en-GB&setlang=en-GB from a UK IP, with <login>-country-gb in the ProxyField username or "country": "gb" in the Web Scraping API request. ProxyField has 16.6M+ UK residential IPs in 640+ cities, and Bing weighs the searcher's city, so add a UK city (-city-<city>) for local queries, at the same price per GB. 500 keywords to the top 30, daily, is 45,000 pages a month: $22.50 at the entry price, $9 at the volume price.

Can I scrape Bing results for a different market or language?

Yes: set the market in the URL with mkt (for example de-DE) and the language with setlang, without cc, and send the request from an IP in that country. ProxyField residential proxies cover 195+ countries, with targeting by country, region (state) and city.

Can I monitor keyword rankings on Bing with a scraper?

Yes: fetch the same keywords on a schedule, record each URL's position with the date and market, and compare over time. Bing ranks pages differently from Google, so track both; more on rank tracking in SEO proxies.

Can I scrape the ads on Bing results pages?

Yes: text ads appear on the public results page, marked as ads, with the advertiser's URL and copy. Fetch the page from the market you check, because ads change by location, and never click them.

Can I use Bing results to ground an AI app instead of the Bing Search API?

Some teams do: they fetch the public results page for a query and pass the top results to a model. Read Bing's terms for your use (they limit Bing materials to noncommercial, personal use), or use Microsoft's grounding service inside Azure if it fits your stack.

Does Bing allow scraping?

Bing's robots.txt has Disallow: /search, and the Microsoft Services Agreement forbids circumventing access restrictions, naming "impermissible scraping", and limits Bing materials to noncommercial, personal use. Read both for your use, collect public pages only and keep the pace modest.

Why is my Bing scraper returning missing or incorrect results?

Usually because Bing served a challenge page, fewer results than a person sees, or a page for another market. Check every page for organic results before you store it, set mkt and setlang explicitly, use an IP in the target country, and recheck your selectors after layout changes.

Collect Bing pages with the Web Scraping API

Billed on successful results only. Contact sales for the Web Scraping API and the volume you need, or run your own scraper on residential proxies. 24/7 live chat helps with setup and integration.