Bing Images Scraper avatar

Bing Images Scraper

Pricing

from $2.00 / 1,000 image scrapeds

Go to Apify Store
Bing Images Scraper

Bing Images Scraper

Scrape Bing Image Search results by keyword. Extract image URLs, thumbnails, source pages, and metadata. Filter by size, type, color, and license. Export to JSON, CSV, or Excel.

Pricing

from $2.00 / 1,000 image scrapeds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

156

Total users

12

Monthly active users

6 hours ago

Last modified

Features

Limited permissionsMulti-tenantServer interface

Share

Extract full-resolution image URLs, dimensions, aspect ratios, thumbnails, source pages, titles, and descriptions from Bing Image Search — no API key required, no duplicate rows, filters checked on every row, near-zero cost.

What does it do?

This actor scrapes Bing Images using direct HTTP requests — no browser, no Playwright, no API key. It parses structured data embedded in Bing's HTML and returns clean, structured image records for every result.

Key features:

  • 🖼️ Extract full-resolution image URLs directly — no redirect or extra fetch needed
  • 🔍 Thumbnail URLs from Bing's CDN
  • 🌐 Source page URL showing where the image originally appeared
  • 📝 Image title and description text
  • 🔑 Bing media ID for deduplication
  • 📐 Original width, height, derived aspect ratio and Bing's dominant color without downloading images
  • 🎨 Filter by image size, type, color, license, layout (square / wide / tall), date, and people — combine as many filters as you need; size, layout and color are checked on every row
  • 🛡️ Safe search control (Off / Moderate / Strict)
  • 📄 Paginate up to 1,000 results per query, with every image returned only once per query
  • 🔎 Process multiple queries sequentially into one dataset with a per-query result limit
  • 💾 Export results as JSON, CSV, or Excel

Who is it for?

This actor is built for anyone who needs bulk image data without the friction of an API key or a paid subscription:

  • 🤖 AI/ML engineers building computer vision datasets who need thousands of labeled images fast
  • 🎨 Designers and art directors collecting visual references, mood boards, or style guides
  • 📰 Content creators and journalists sourcing images related to a topic, person, or event
  • 🛒 E-commerce teams researching product visuals or monitoring competitor imagery
  • 🔬 Academic researchers studying image trends, media representation, or visual culture
  • 📊 SEO and brand managers discovering where branded images are appearing across the web
  • 🏫 Students and educators gathering visual material for presentations or learning projects

Why use it?

Bing Image Search is one of the largest public image indexes in the world. Bing often answers automated visitors with an empty page or the same first page again; this actor detects that, switches to a fresh proxy session and continues, so you get as many images as Bing has for your search:

  • ✅ No API key or account required — the public Bing Images web interface is freely accessible
  • ✅ Fuller result counts — empty or repeated Bing pages are retried with a fresh session, duplicate images are never charged, and the final status message says how many images each query delivered
  • ✅ Ultra-low cost — HTTP-only scraping, 256 MB memory, about 100 images in roughly a minute
  • ✅ Up to 1,000 results per query with the image URL, dimensions and position in every record, and title, thumbnail and source page in most records
  • ✅ Filters you can trust — size, type, color, license, layout, date, people, and safe search, all combinable. Bing often ignores part of a filter combination, so the actor checks size, layout and color on every row and skips (and does not charge) images that do not match
  • ✅ No per-query fees unlike the official Bing Image Search API (Azure Cognitive Services)

Data you can extract

FieldTypeDescription
imageUrlstringFull-resolution image URL (direct link to the image file)
thumbnailUrlstringBing CDN thumbnail URL (when Bing provides it)
sourceUrlstringURL of the webpage where the image appeared (when Bing provides it)
titlestringImage title or alt text (empty for some first-page results)
descriptionstringImage description (when available)
mediaIdstringBing's internal media ID (useful for deduplication)
widthintegerOriginal image width in pixels when Bing provides it
heightintegerOriginal image height in pixels when Bing provides it
aspectRationumberWidth divided by height, rounded to four decimal places; available when both dimensions are present
dominantColorstringBing's dominant color of the image as a hex value, e.g. #037fc8 (when Bing provides it)
querystringThe search query that produced this result
positionintegerResult position (1-based)

How much does it cost to scrape Bing images?

This actor uses Pay-Per-Event (PPE) pricing — you only pay for what you actually use. There are no monthly minimums or subscription fees.

EventPrice
🚀 Run started (one-time per run)$0.005
🖼️ Per image scraped$0.003

Example cost estimates:

  • 💰 100 images → $0.005 + 100 × $0.003 = $0.31
  • 💰 500 images → $0.005 + 500 × $0.003 = $1.51
  • 💰 1,000 images → $0.005 + 1,000 × $0.003 = $3.01

Compute and proxy costs are negligible (HTTP-only, 256 MB memory, Apify datacenter proxy) and are already included in the estimates above. See the Pricing tab for the full breakdown.


How to scrape Bing images

Follow these steps to start extracting image data in minutes:

  1. Go to the actor page at apify.com/automation-lab/bing-images-scraper
  2. Click "Try for free" — no credit card required to start
  3. Choose your search terms — enter one query in query or add multiple queries in queries. If you leave out both fields, the actor searches for cute puppies; a query that is present but blank is rejected with a clear error
  4. Set maxResults to control how many images to return per query (default: 100, max: 1,000)
  5. Apply filters as needed — size, type, color, license, layout, date, people, or safe search level
  6. Click "Save & Run" — the actor runs in the cloud, no local setup required
  7. Download your results as JSON, CSV, or Excel from the Dataset tab
  8. Integrate via API or webhook to automate recurring data collection

Input parameters

FieldTypeDefaultDescription
querystringcute puppies when both query fields are left outOptional single search query. If query is left out and queries is empty, the actor searches for cute puppies. A blank or whitespace-only query fails the run with a validation error (nothing is charged)
queriesarray of strings[]Optional multiple queries processed sequentially; blank and duplicate values are removed, and this list takes precedence over query
maxResultsinteger100Maximum number of images to return per query (1–1000)
safeSearchstringModerateSafe search level: Off, Moderate, or Strict
imageSizestringallFilter by size: Small (under 200 px), Medium (200–500 px), Large (shorter side 500 px or more), Wallpaper (at least 1024×768). Checked on every row
imageTypestringallFilter by type: photo, clipart, linedrawing, animatedgif, transparent
colorstringallFilter by dominant color: ColorOnly, Monochrome, Black, Blue, Brown, Gray, Green, Orange, Pink, Purple, Red, Teal, White, Yellow. Every row is checked against Bing's dominant color of the image, except Black, White and Gray, which Bing's filter decides alone
licensestringallFilter by Creative Commons license: Any, Public, Share, ShareCommercially, Modify, ModifyCommercially
aspectstringallFilter by layout: square (width/height 0.8–1.2), wide (1.2 or more), tall (0.8 or less). Checked on every row
freshnessstringany timeOnly images Bing found in the past day, week, month, or year
peoplestringallOnly images with people: face (faces) or portrait (head & shoulders)
proxyConfigurationobjectApify datacenter proxyProxy used for Bing requests; each search gets its own IP and session

Example input

Single-query inputs continue to work unchanged:

{
"query": "golden retriever puppies",
"maxResults": 100,
"safeSearch": "Moderate",
"imageSize": "Large",
"imageType": "photo",
"color": "",
"license": ""
}

To collect multiple queries in one dataset, provide queries. Here, maxResults: 100 is a per-query cap, so the run can return up to 300 rows:

{
"queries": ["golden retriever puppies", "labrador puppies", "beagle puppies"],
"maxResults": 100,
"safeSearch": "Moderate"
}

Output example

Each image result is saved as a dataset item:

{
"imageUrl": "https://images.unsplash.com/photo-1587300003388-59208cc962cb",
"thumbnailUrl": "https://tse3.mm.bing.net/th?id=OIP.abc123&pid=15.1",
"sourceUrl": "https://unsplash.com/photos/golden-retriever-puppies",
"title": "Golden Retriever Puppies Playing",
"description": "Three golden retriever puppies running in a grassy field",
"mediaId": "433CD363A1B2C4D5E6F7",
"width": 1920,
"height": 1080,
"aspectRatio": 1.7778,
"query": "golden retriever puppies",
"position": 1
}

Tips for best results

  • 🎯 Be specific with your query — "golden retriever puppy outdoors" returns more consistent results than "dog"
  • 📐 Use imageSize: Large or Wallpaper when building training datasets that need high-resolution source material
  • 🎨 Combine filters freely — for example color: Blue with imageSize: Large and aspect: wide. Rows that do not match are skipped and not charged. Narrow combinations (for example a color that is rare for the subject) can have far fewer matching images and take longer; the run's status message then says how many were found
  • 🔒 Use license: ShareCommercially if you plan to use images in commercial projects — this filters for appropriately licensed results
  • 📏 Filter results downstream with width, height, and aspectRatio — these fields come from Bing's existing result metadata, so no image download is needed
  • 🔁 Use queries for broader coverage — multiple queries run sequentially and write to one dataset; each starts again at position: 1
  • 🧹 Use mediaId for deduplication when running the same query multiple times over time
  • ⚠️ Expect about 500–900 unique results for popular queries — Bing stops showing new images after that; niche queries may return fewer
  • 📋 The actor returns URLs, not image files — use the imageUrl values with a downloader if you need the actual files

Integrations

Connect this actor to your existing workflows without writing custom code:

  • 🗄️ Google Sheets — export image URLs directly to a spreadsheet for team review or manual curation using the Google Sheets integration
  • 🤖 Make (Integromat) / Zapier — trigger a run on a schedule and push new image URLs to Slack, Airtable, Notion, or any other app via webhook
  • ☁️ AWS S3 / Google Cloud Storage — download and store images at scale by piping the imageUrl outputs into a storage pipeline
  • 🧠 AI image pipelines — feed imageUrl and title fields directly into OpenAI Vision or CLIP embeddings for visual search or classification
  • 📧 Brand monitoring alerts — schedule daily runs with a brand keyword query and compare results over time to detect new image appearances
  • 🔗 Combine with other scrapers — chain this actor with DuckDuckGo Scraper to cross-reference image results from multiple search engines

API usage — Use with the Apify API

You can trigger runs programmatically and retrieve results using any language.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automation-lab/bing-images-scraper').call({
queries: ['minimalist office interior design', 'Scandinavian office interior'],
maxResults: 200,
imageSize: 'Large',
imageType: 'photo',
safeSearch: 'Moderate',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} images`);
items.forEach(item => console.log(item.imageUrl));

Python

from apify_client import ApifyClient
client = ApifyClient(token='YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/bing-images-scraper').call(run_input={
'queries': ['minimalist office interior design', 'Scandinavian office interior'],
'maxResults': 200,
'imageSize': 'Large',
'imageType': 'photo',
'safeSearch': 'Moderate',
})
dataset = client.dataset(run['defaultDatasetId'])
items = dataset.list_items().items
print(f"Scraped {len(items)} images")
for item in items:
print(item['imageUrl'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~bing-images-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"queries": ["minimalist office interior design", "Scandinavian office interior"],
"maxResults": 200,
"imageSize": "Large",
"imageType": "photo",
"safeSearch": "Moderate"
}'

Use with Apify MCP Server

The Apify MCP Server lets AI assistants like Claude run this actor directly through natural language — no code required.

Claude Code setup

$claude mcp add --transport http apify-bing-images "https://mcp.apify.com?tools=automation-lab/bing-images-scraper"

Claude Desktop, Cursor, and VS Code setup

Add this actor-scoped server to the MCP configuration for Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify-bing-images": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/bing-images-scraper",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

Example prompts

Once connected, you can ask Claude or Cursor:

  • 💬 "Scrape 500 large photos of minimalist living rooms from Bing Images and give me a CSV"
  • 💬 "Get 200 transparent-background product images of wireless headphones from Bing"
  • 💬 "Find wallpaper-resolution images of mountain landscapes using the Bing Images Scraper"
  • 💬 "Collect 100 images tagged with commercial-use licenses for the query 'team collaboration'"

Web scraping public search results is generally considered lawful in most jurisdictions, particularly following the hiQ Labs v. LinkedIn ruling (9th Circuit, 2022) which affirmed that scraping publicly accessible data does not violate the Computer Fraud and Abuse Act.

Key points:

  • ✅ Bing Images is publicly accessible — no login or account is required to view results
  • ✅ This actor collects metadata (URLs, titles, descriptions) — not copyrighted image content itself
  • ✅ You are responsible for how you use the image URLs returned — always check the license of any image before using it in a project
  • ⚠️ Bing's Terms of Service restrict automated access to their API but do not explicitly prohibit scraping the web interface for non-commercial personal use
  • ⚠️ Commercial use of scraped image content (not URLs) may require additional licensing — use the license filter to narrow results to appropriately licensed images

Recommended practice: Use the license: ShareCommercially or license: ModifyCommercially filter when collecting images for commercial projects to stay within safe legal boundaries.

This section is informational, not legal advice. Consult a lawyer for your specific use case.


Frequently asked questions (FAQ)

Can I download the actual image files?

This actor returns URLs, not image files. To download images, use the imageUrl values from the output with a downloader script or another actor. The imageUrl is a direct link to the full-resolution file.

How many results can I get per query?

Up to 1,000. Popular queries usually return about 500–900 unique images before Bing stops showing new ones; niche queries may return fewer. The final status message tells you how many were delivered and why a query stopped early.

Do I need a Bing API key?

No. This actor scrapes the public Bing Images web interface, not the Bing Image Search API. No API key or Azure account is required.

Is this different from the official Bing Image Search API?

Yes. The Azure Cognitive Services Bing Image Search API charges per query and has strict rate limits. This actor scrapes the public web interface and only charges per image returned.

Why am I getting fewer results than expected?

Bing's result depth varies by query. Very specific or niche queries, or narrow filter combinations, may have fewer matching images; the run's status message shows how many images each query delivered against your limit and why it stopped. Try broadening your search terms or removing filters. For multiple angles in one dataset, pass each search term in queries. If Bing cannot be reached at all and no images were delivered, the run fails with a clear message and nothing is charged. The start event is charged with the first delivered image, and every saved image is charged: at your run's Maximum charge the actor stops, keeps what it saved and says so in the status message. If a run gets close to its timeout, the actor stops a little early, keeps every image it found and says so in the status message; set a longer run timeout for large or narrowly filtered jobs.

The actor ran but some image URLs return 404 — is that normal?

Yes. Bing's index may contain references to images that have since been removed from their source websites. The sourceUrl field shows where the image was originally found. This is expected behavior and not a bug in the actor.

Can I scrape multiple queries in one run?

Yes. Add them to queries; the Actor trims and deduplicates the list, processes each query sequentially, and stores every result in one dataset. maxResults is a per-query cap, while each row's query and 1-based position identify its source search.


Diagnostic privacy

Failed operations send sanitized diagnostic input, exceptions, and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL queries are removed, and reports are retained for 30 days. Search terms may appear in run logs and diagnostics; do not include secrets or sensitive personal data in them.

The Actor uses no AI models and sends no data to AI providers. It sends search terms to Bing and stores public image metadata in your run's Apify dataset. Debug HTML may be stored when a query returns no results. Requests go through Apify Proxy by default. Dataset, key-value-store, and log retention follows your Apify account settings; delete the run's storage in Apify when no longer needed. No persistent cross-run cache is used. Service costs are company-owned and covered by the documented PPE events; diagnostics add no customer charge.

This is an independent tool, not affiliated with or endorsed by Microsoft or Bing. For questions or deletion requests concerning private diagnostics, use the Actor's Apify Store Issues tab.

Server API: search Bing Images over HTTP

Bing Images Scraper is also a Server Actor. Besides normal runs, it answers short HTTP requests directly, without starting a run for each search. Copy the server URL from the Actor's Server tab (do not build it from the Actor name) and authenticate with your Apify token. Use normal Actor runs for many queries, more than 100 images per query or a custom proxy.

curl -sS "$SERVER_URL/search?query=cute%20puppies&maxImages=10" -H "Authorization: Bearer $APIFY_TOKEN"
curl -sS "$SERVER_URL/search?query=mountain%20lake&maxImages=20&imageSize=Large&license=Public" -H "Authorization: Bearer $APIFY_TOKEN"
Method and pathInputOutput and charge
GET /Noneready: true, the routes and limits; no scraping or charge
GET /searchQuery query: search text (1–200 characters); optional maxImages 1–100 (default 35, one Bing page) and the normal run's filters with the same values: safeSearch (Moderate, Off, Strict; default Moderate), imageSize, imageType, color, license, aspect, freshness, people{ok,count,results} with the same records as a normal run's dataset items, unique by image URL, in Bing's order; one Image scraped event per returned image; no start fee

A search with no images returns an error and is free. Each request has a 60-second deadline and a 512 KiB response cap, and one server works on at most eight requests at once. Requests use Apify Proxy like a normal run's default. Nothing is cached. Errors use { "ok": false, "error": { "code": "...", "message": "...", "retryable": false } }: 400 INVALID_QUERY, INVALID_LIMIT, INVALID_FILTER or INVALID_INPUT; 402 spending limit; 404 NO_RESULTS or unknown route; 405 wrong method; 413 RESPONSE_TOO_LARGE; 502 BING_UNREACHABLE, UPSTREAM_ERROR or charging failure; 503 server busy or stopping; 504 TIMEOUT. Failed requests are free. Retry only when retryable is true. The Server tab shows the full OpenAPI description.

⌂ 换网址