惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Jina AI
Jina AI
小众软件
小众软件
GbyAI
GbyAI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
D
DataBreaches.Net
腾讯CDC
V
Visual Studio Blog
博客园 - 叶小钗
B
Blog
Apple Machine Learning Research
Apple Machine Learning Research
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
U
Unit 42
博客园 - 司徒正美
博客园 - 聂微东

SerpApi

Scrape YouTube Channel Data with SerpApi How to scrape movie and TV results from the Google Play Store SerpApi Weekly Changelog: Sep 07 - 13, 2026 Introducing MCP Bundle Support for SerpApi SerpApi Weekly Changelog: Aug 31 - Sep 06, 2026 We Have Resolved the Google /goto URL Redirect Rollout How to scrape Zillow Reddit promised its users an open internet. Then it closed the door. SerpApi Weekly Changelog: August 24 - 30, 2026 Best web scraping tools in 2026 Google’s New /goto Redirect URLs: Resolution in Progress How to Scrape Walmart Reviews Results Understanding HTTP 429: Too Many Requests Google tried again. We’re moving to dismiss a second time. SerpApi Weekly Changelog: August 17 - 23, 2026 Introducing SerpApi's New Markdown Output SerpApi Surpasses 1.5 Million Activated User Accounts How a Lead Generation Company Scaled Outreach with SerpApi's Google Maps API SerpApi Weekly Changelog: August 10 - 16, 2026 How to scrape book results from the Google Play Store What is an API? Part 3: Dynamic Data Displays with D&D! We Filed an Amicus Brief in U.S. v. Google How to scrape Google Play Store game information SerpApi Weekly Changelog: August 03 - 09, 2026 Introducing SerpApi Search Tools: Real-Time Web Search for Python AI Agents Measuring World Cup Attention: What the data says about Vozinha SerpApi Weekly Changelog: July 27 - August 02, 2026 How to Scrape Google Maps Autocomplete Build an AI Event Discovery Agent That Adds Events to Your Calendar in One Click How to Aggregate Local Business Ratings-Without Averaging
How to scrape Bing Images search results
Corbin Davenport · 2026-06-18 · via SerpApi

Bing Images, also known as Bing Image Search, is a powerful search engine for photos, artwork, logos, screenshots, and other visual content across the web. It can also filter results based on prominent colors, image type, aspect ratio, dimensions, and much more.

With the Bing Images API from SerpApi, those same search results are accessible in simple JSON format, ready for any programming language or environment. SerpApi handles the HTML parsing, proxy network, captcha puzzles, and other challenges, so you can focus on your actual business or project, instead of maintaining a scraping tool.

What can you scrape from Bing Images?

Here's everything you can pull from each image result, using the Bing Images API from SerpApi:

  • Thumbnail: The URL for the thumbnail image, hosted on Bing's servers.
  • Title: The detected title for the image, usually extracted from the title of the source page.
  • Bing link: The URL for the image's full details page on Bing.
  • Original link: The URL to the image file on its original domain.
  • Size: The pixel dimensions of the image, measured in width × height (e.g. 873×492 or 1920x1080).
  • Domain: The web domain where the image is hosted (e.g. apple.com).
  • Source: The URL for the icon (favicon) of the image's source domain, hosted on Bing's servers.
  • Description: A text snippet for the image, extracted from its original source.
  • Position: The image's position on the search results page, starting from the top of the page (e.g. 1 or 7).
Screenshot of image search for "California" next to parsed JSON.
SerpApi fetches and parses Bing Image Search results as structured JSON.

The results may also include Bing's suggested searches and refined searches for the query, provided as text strings and Bing URLs.

Getting started with SerpApi

Before getting started with the Bing Images API, you need a free SerpApi account. That also includes access to other engines, like the Google Images API, Yahoo Images API, and Yandex Images API. You can upgrade to a paid account later if you need more search capacity, faster speeds, or other features.

First, you need to create an account and verify your email and other details. After that, get the API key from your account dashboard.

Make sure to store your API key in a safe location if you are sharing or publishing your code. If the key is leaked or stolen, you can make a new one from the SerpApi account dashboard.

Install the SerpApi library (optional)

You can use SerpApi's official libraries for Python, JavaScript, Ruby, Java, and other languages. They provide a simple wrapper around the API requests.

The libraries are not required, though. You can still make API calls with cURL, fetch() in Node.js, or anything else that can send GET requests and process a JSON response.

Review the Bing Images API documentation

Each API at SerpApi has extensive documentation that covers all the supported parameters and filters, code examples for popular languages, and example JSON responses. We're covering some of the basic usage in this post, but you can see more details at the Bing Images API page.

Bing Images API - SerpApi

Use SerpApi’s Bing Images API to scrape Bing Images results. Links, titles, sources, and thumbnails

SerpApiSerpApi

The only required parameter is q for the search query, but you can optionally specify the search region, pagination, search filters, and other settings.

How to scrape Bing Images results

If you have your API key, you're ready to start pulling data from Bing Images searches. The results will be identical across all libraries and GET requests, so use whichever method you want.

GET request

This will search for "New York" from the US region, using the Bing Images API in simple GET request:

https://serpapi.com/search.json?engine=bing_images&q=new+york&mkt=en-us&api_key=API_KEY_GOES_HERE

This is the same search again, but filtered to only images that Bing has detected as a photo, with a public domain license:

https://serpapi.com/search.json?engine=bing_images&q=new+york&mkt=en-us&photo=photo&license=L1&api_key=API_KEY_GOES_HERE

You can also use SerpApi's JSON Restrictor feature to trim the API response to specific values. This searches for "Dallas" and only returns the source page and original image URL for each result:

https://serpapi.com/search.json?engine=bing_images&q=dallas&mkt=en-us&json_restrictor=images_results[]{source,original}&api_key=API_KEY_GOES_HERE

This can be helpful if you're using an LLM with a limited context window, or if you just need more efficient parsing.

Python

Here's how you can search for "Empire State Building" from the US region, using the official SerpApi Python library, and display the title and original URL for each result:

import serpapi

client = serpapi.Client(api_key=YOUR_KEY_GOES_HERE)
response = client.search({
  "engine": "bing_images",
  "q": "empire state building",
  "mkt": "en-us"
})

for item in response["images_results"]:
    print(f"{item['title']} - {item['original']}\n")

This runs the same search, but only displays the image with the highest (original) resolution, by checking the size value on each result:

import serpapi

client = serpapi.Client(api_key=YOUR_KEY_GOES_HERE)
response = client.search({
  "engine": "bing_images",
  "q": "empire state building",
  "mkt": "en-us"
})

highestRes = ""

for item in response["images_results"]:
  # Create a starting point
  if not highestRes:
    highestRes = item
  else:
    # Get individual width and height from "size" string
    this_a, this_b = map(float, item["size"].split("×"))
    current_a, current_b = map(float, highestRes["size"].split("×"))
    # Multiply width and height on both this item and current comparison point
    if (this_a * this_b) > (current_a * current_b):
      highestRes = item

# Print the highest-resolution result
print(highestRes)

Ruby

This runs an image search for "Chicago" in the US region using the SerpApi Ruby gem, then prints the full data for each result:

require "serpapi"

# Run the first search and get the ID
client = SerpApi::Client.new(
    engine: "bing_images",
    q: "chicago",
    mkt: "en-us",
    api_key: YOUR_KEY_GOES_HERE
)

for result in client.search[:images_results] do
    p result
end

Here's how you can search for only extra large (wallpaper) images with a public domain (L1) license, and display the original URL for each item:

require "serpapi"

# Run the first search and get the ID
client = SerpApi::Client.new(
    engine: "bing_images",
    q: "chicago",
    mkt: "en-us",
    imagesize: "wallpaper",
    license: "L1",
    api_key: YOUR_KEY_GOES_HERE
)

for result in client.search[:images_results] do
    p result[:original]
end

JavaScript and Node.js

This uses the official SerpApi JavaScript library to search for "Seattle" images, in the US region with black and white colors, and prints each result:

import { getJson } from 'serpapi';

const search = await getJson({
    engine: "bing_images",
    q: "seattle",
    mkt: "en-us",
    color2: "bw",
    api_key: YOUR_KEY_GOES_HERE
});

for (const item in search?.images_results) {
    console.log(search.images_results[item]);
}

This searches for "Atlanta" in the US region, and only prints the highest-resolution image result, by iterating over the size value for each image:

import { getJson } from 'serpapi';

const search = await getJson({
    engine: "bing_images",
    q: "atlanta",
    mkt: "en-us",
    api_key: YOUR_KEY_GOES_HERE
});

let highestRes;

for (const item in search?.images_results) {
    if (!highestRes) {
        // Create a starting point
        highestRes = search.images_results[item];
    } else if ("size" in search.images_results[item]) {
        // Get individual width and height from "size" string
        const [this_w, this_h] = search.images_results[item].size.split(/[×x*]/).map(Number);
        const [highest_w, highest_h] = highestRes.size.split(/[×x*]/).map(Number);
        // Replace the comparison point if this item is cheaper
        if ((this_w * this_h) > (highest_w * highest_h)) {
            highestRes = search.images_results[item];
        }
    }
}

console.log(highestRes);

cURL

Here's how you can search for "California" images with the Bing Images API in a cURL request:

curl --get https://serpapi.com/search \
 -d api_key="YOUR_KEY_GOES_HERE" \
 -d engine="bing_images" \
 -d q="california" \
 -d mkt="en-us"

Other languages and no-code solutions

You can still use the API directly with GET requests, even if there isn't an official SerpApi integration for your preferred environment or language. SerpApi also works with Make.com, N8N, and other tools.

Conclusion

Bing Images can help you find photos, illustrations, and other visual content from across the web. With the Bing Images API from SerpApi, you can pull all those results into any automation or programming language.

If you're not getting the best results from Bing, SerpApi also provides a Google Images API, Yahoo Images API, and Yandex Images API. You can access them with the same account and search credits as Bing Images, and even run the same search across multiple engines to get more diverse results.

If you need help using SerpApi, please contact us.