Google Images Scraper

Extract ranked Google Images results with image URLs, source pages, titles, thumbnails, dimensions, and localization metadata.

Data fields

FieldTypeDescription
querytextQuery exported in the dataset view.
positionnumberPosition exported in the dataset view.
titletextTitle exported in the dataset view.
sourcetextSource exported in the dataset view.
imageUrllinkImage URL exported in the dataset view.
sourceUrllinkSource URL exported in the dataset view.
thumbnailUrlimageThumbnail exported in the dataset view.
imageWidthnumberImage width exported in the dataset view.

Input preview

queriesSearch queries *
maxItemsMaximum total results
resultsPerQueryMaximum results per query
languageInterface language (hl)
countryCountry/region (gl)
safeSearchSafeSearch

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Extract ranked Google Images results for one or more search queries. The Actor returns direct image URLs when available, source pages, result titles, thumbnails, dimensions, source domains, rank positions, and localization metadata.

Use it when you need exportable image-search data for research, SEO, visual merchandising, brand monitoring, competitive analysis, or AI workflows that need image candidates with their source pages.

What you can scrape

  • Ranked Google Images results for keyword searches
  • Image result URLs and thumbnail URLs
  • Source page URLs and source domains
  • Result titles and publisher/source names
  • Image and thumbnail dimensions when Google exposes them
  • Image size labels when present
  • Page number and rank position within each query
  • Language, country, and SafeSearch settings used for the run

Who is it for?

  • SEO and content teams checking what visuals rank for commercial keywords.
  • E-commerce teams researching product imagery and source pages.
  • Brand and reputation teams monitoring image results around brands, people, or campaigns.
  • AI builders collecting image candidates and source URLs for downstream review.
  • Market researchers comparing localized image results across countries and languages.

Input example

Use search queries rather than Google result URLs.

{
  "queries": ["running shoes", "modern kitchen design"],
  "maxItems": 20,
  "resultsPerQuery": 10,
  "language": "en",
  "country": "us",
  "safeSearch": "active",
  "uniqueImagesOnly": true,
  "minDelaySeconds": 2,
  "proxyConfiguration": { "useApifyProxy": true }
}

Input settings

Field Type Description
queries array One or more Google Images search queries. Empty values are ignored.
maxItems integer Maximum total image records to save across all queries.
resultsPerQuery integer Maximum image records to save for each individual query.
language string Google interface language (hl), for example en, es, de, or fr.
country string Google country/region (gl), for example us, gb, de, or fr.
safeSearch string SafeSearch mode: active or off.
uniqueImagesOnly boolean Skip duplicate image/source URLs across pages and queries.
minDelaySeconds integer Delay between paginated requests to reduce rate limiting.
proxyConfiguration object Apify Proxy settings. Recommended for stable Google access.

Output example

Each dataset item represents one Google Images result.

{
  "query": "running shoes",
  "page": 0,
  "position": 1,
  "title": "The Best Running Shoes for Men in 2026...",
  "source": "Men's Health",
  "thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?...",
  "thumbnailWidth": 224,
  "thumbnailHeight": 225,
  "sourceUrl": "https://www.menshealth.com/fitness/...",
  "sourceDomain": "www.menshealth.com",
  "imageUrl": "https://hips.hearstapps.com/...jpg",
  "imageWidth": 1120,
  "imageHeight": 1121,
  "imageSize": "210KB",
  "googleImageId": "ELT4DI4K-Fif6M",
  "googleResultId": "nJZfuYDvcDQy9M",
  "language": "en",
  "country": "us",
  "safeSearch": "active"
}

Limits and troubleshooting

Google can rate limit automated traffic. The Actor avoids returning silent empty success when Google returns an unusual-traffic or CAPTCHA page. If one query fails after other queries saved results, the Actor preserves the partial dataset and logs the failed query.

Practical tips:

  • Keep minDelaySeconds at 2 or higher for larger runs.
  • Use Apify Proxy for better reliability.
  • Split very large keyword lists into smaller scheduled runs.
  • Use resultsPerQuery to keep one broad query from consuming the whole maxItems budget.
  • If a query has fewer visible Google Images results than requested, the Actor returns the available records.

API usage

Use this as a Google Images API workflow when you need scheduled exports through Apify, SDK clients, webhooks, or MCP.

JavaScript / Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-images-scraper').call({
  queries: ['running shoes'],
  maxItems: 20,
  resultsPerQuery: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/google-images-scraper').call(run_input={
    'queries': ['running shoes'],
    'maxItems': 20,
    'resultsPerQuery': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~google-images-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"queries":["running shoes"],"maxItems":20,"resultsPerQuery":10}'

MCP and agent usage

Use this Actor from Apify MCP when an AI agent needs image-search candidates with source pages. Configure the MCP server with the Actor-specific tools parameter:

https://mcp.apify.com/?tools=fetch_cat/google-images-scraper

Claude CLI example:

claude mcp add apify-google-images https://mcp.apify.com/?tools=fetch_cat/google-images-scraper

MCP JSON configuration example:

{
  "mcpServers": {
    "apify-google-images": {
      "url": "https://mcp.apify.com/?tools=fetch_cat/google-images-scraper"
    }
  }
}

Example prompts for MCP usage:

Find 20 Google Images results for "modern kitchen design" in the US, then summarize the recurring source domains and image themes.
Collect image URLs for "electric bikes" and group the results by sourceDomain for a market-research brief.

Support

Open an issue on the Actor page if a query returns no results, localization behaves unexpectedly, or Google starts returning block pages for your workload. Include the run ID and input used.

Common questions

Questions and answers reused from the canonical actor README.

How can I scrape Google Images results by keyword?

Put one or more search terms in queries, set maxItems and resultsPerQuery, and run the Actor. It returns ranked Google Images results for those keywords.

Can I export Google Images image URLs, source pages, thumbnails, and dimensions?

Yes. Dataset rows include direct image URLs when exposed, Google thumbnail URLs, source pages/domains, result titles, and image dimensions when available.

Can I scrape direct Google Images result pages?

Use keyword queries in queries. The Actor is designed for search terms, not pasted browser result URLs.

Does it download image files?

No. It exports image URLs, thumbnail URLs, dimensions, and source pages. Downloading and storing binary files should be handled in a downstream workflow if you have the right to do so.

Why did I get fewer items than requested?

Some queries expose fewer structured image records, duplicates can be skipped, or Google may rate limit a page. Check the run log for per-query counts and diagnostics.