Search
Bing Images Scraper
bing.com
Bing Images loads its grid as you scroll and keeps each result's original image and source page in a JSON blob on the tile, so scraping it yourself means rendering the page and decoding every tile. A dedicated plugin endpoint takes a keyword and returns every result already parsed - the real full-resolution image URL (not a Bing thumbnail), the source domain and page, a title and site name, a thumbnail and the pixel dimensions - with no grid to render yourself and no Bing API key. The response mirrors our Google Images plugin, so one pipeline handles both.
What you can extract
- The full-resolution original image URL on the publisher's site, for every result
- The source domain and the source page URL that displays the image
- The result title, plus the human-readable site name
- A fast Bing-hosted thumbnail URL
- Original image width and height in pixels
- A Bing Images viewer link for every result
- About 35 results per page, up to 10 pages per call
Dedicated endpoints
/images/bing-search Bing Images search
Image results for a keyword. Returns the full-resolution origin image URL and source domain for every result, plus the source page, title, site name, thumbnail, dimensions and a Bing Images viewer link; pick the market with proxy_country and language; up to 10 pages of about 35 results each, capped with max_results.
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/images/bing-search?q=eiffel%20tower&pages=1"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/images/bing-search",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"q": "eiffel tower", "pages": "1"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.bingImages('eiffel tower', {
pages: 1,
});
console.log(results); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Example response
{
"engine": "bing",
"query": "eiffel tower",
"hl": "en",
"gl": "us",
"proxyCountry": "US",
"resultsCollected": 35,
"pagesFetched": 1,
"hasMore": true,
"results": [
{
"position": 1,
"imageUrl": "https://cdn.britannica.com/54/75854-050-E27E66C0/Eiffel-Tower-Paris.jpg",
"sourceDomain": "britannica.com",
"sourcePageUrl": "https://www.britannica.com/topic/Eiffel-Tower-Paris-France",
"title": "Eiffel Tower | History, Height, & Facts | Britannica",
"sourceName": "Britannica",
"thumbnailUrl": "https://ts4.mm.bing.net/th?id=OIP.Z97bkX40h0DN2g8WwHpqJwHaLO&pid=15.1",
"width": 1056,
"height": 1600,
"fileSize": null,
"bingImagesUrl": "https://www.bing.com/images/search?view=detailV2&ccid=Z97bkX40&id=918B06E04E1F0D79F898C05416C4C233F216BC23&thid=OIP.Z97bkX40h0DN2g8WwHpqJwHaLO&mediaurl=https%3a%2f%2fcdn.britannica.com..."
}
]
} Frequently asked questions
Is it legal to scrape Bing Images?
Collecting publicly available image results - URLs, source domains and titles - is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. The images themselves remain the property of their owners, so you stay responsible for how you use them. ScrapeUnblocker returns the public results; what you collect and how you use it is your decision.
Do I get the real full-resolution image URL or just a Bing thumbnail?
The real one. imageUrl is the original image on the publisher's site, taken from the data Bing attaches to each result, not a Bing thumbnail. A Bing-hosted thumbnail URL is returned too, when you want a lightweight preview.
How do I scrape Bing Images without getting blocked?
Bing uses bot detection and rate limiting. The /images/bing-search plugin renders every results page in a real browser through an exit in the country you pick, renders a page again on a fresh exit when it comes back blocked, and returns the image results already parsed. In ScrapeUnblocker's benchmark it returned real results on 99.6% of 1,040 calls with different keywords, about 3.5s per call.
What data do I get back for each image?
For every result: the position, the full-resolution origin image URL, the source domain and source page URL, the title and site name, a Bing-hosted thumbnail URL, the pixel width and height, and a Bing Images viewer link. fileSize is there to match the Google Images plugin, but Bing does not show a file size, so it is always null.
Do I need a Bing API key or Azure account?
No. Microsoft retired its Bing Search APIs, Bing Image Search included, in August 2025. The plugin takes a keyword and returns parsed image results, with no Azure account, key or quota, and because the shape mirrors /images/google-search, code written for Google Images reads Bing Images by changing the path only.
How much does it cost to scrape Bing Images?
Each results page fetched is billed as one request: a pages=3 call that fetches three pages of about 35 images counts as 3 requests, and pagesFetched shows the exact number. 1 request = 1 credit, EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. Blocks and timeouts are not billed, and the free trial includes 500 requests with no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.