Skip to main content

Scraper API for Bing

The ScrapeBadger Bing API turns bing.com into a clean JSON feed: the web SERP (organic results with resolved destination URLs, ads, related searches and the true reported match count), image search with full-size URLs and dimensions, video search with duration and publisher, news search with absolute publish timestamps, and search-box autocomplete.
All endpoints are GET, live under https://scrapebadger.com/v1/bing/*, and authenticate with the X-API-Key header. Credits are charged per request (see the table below) and reported on the X-Credits-Used response header.

Features

  • Web SERP — organic results with position, resolved destination url (Bing’s /ck/a redirects are decoded), display_url, site_name, snippet and deep_links[], plus ads[], related_searches[] and Bing’s reported total_results.
  • Image search — full-size image_url, thumbnail_url, the page the image lives on (source_url / source_domain) and pixel width/height.
  • Video search — title, thumbnail, duration, host platform (source, e.g. YouTube), publisher, views and age.
  • News search — headline, publisher, snippet and absolute publish times (published_at ISO 8601 plus published_utc Unix), with a freshness filter of day, week or month.
  • Autocomplete — Bing’s search-box suggestions for 2 credits.
  • SafeSearch control — safe_search=off|moderate|strict on search, images and videos.

Markets

Every endpoint takes a single market code in language-COUNTRY form (en-US, de-DE, pt-BR, …). There are no per-country domains: every market is served from www.bing.com, and the market alone sets the result language and country ranking. Requests leave from one fast exit region for every market, because Bing localizes from market, not from the visitor’s IP. GET /v1/bing/markets (free) returns the curated reference set of 30 market codes. Any well-formed mkt value is accepted by the search endpoints, including ones not on that list.

Credits

Quickstart

Result depth

/search has a depth ceiling. Bing serves non-JS clients a server-rendered layout that carries the first ~4–10 organic results and lazy-loads the rest only in a real JS browser. The API extracts everything Bing renders plus the true total_results count — it does not pretend to paginate past what Bing serves. count is an upper bound, not a guarantee.
/images and /videos do not have this ceiling — their grids are server-rendered densely, so the default count=35 is genuinely reachable.

Other notes

  • Some operator queries have no results for anonymous visitors. Bing answers some site: queries (for example site:weibo.com with market=zh-CN) with an empty page for any visitor who is not signed in. When that happens the API returns 200 with an empty results array, not an error, so don’t retry it.
  • News comes from Bing’s RSS feed, not the HTML news cards. That is why publish times are absolute (published_at, published_utc) and the schema is stable — but article thumbnails are not included.
  • Organic url values are final destinations. Bing wraps every result in a /ck/a tracking redirect; the API resolves it so you get the real URL.
  • ads[] and related_searches[] appear only when Bing serves them for that query and market.

Errors

Start from /autocomplete (2 credits) to expand a seed term into real Bing queries, then run /search on each suggestion.

ScrapeBadger is an independent tool and is not affiliated with, endorsed by, or sponsored by Microsoft. “Bing” is a trademark of Microsoft Corporation, used here only to describe the platform this scraper is designed to work with.