Google Images Scraper avatar

Google Images Scraper

Pricing

from $1.20 / 1,000 image scrapeds

Go to Apify Store
Google Images Scraper

Google Images Scraper

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

Pricing

from $1.20 / 1,000 image scrapeds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

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

FieldTypeDescription
queriesarrayOne or more Google Images search queries. Empty values are ignored.
maxItemsintegerMaximum total image records to save across all queries.
resultsPerQueryintegerMaximum image records to save for each individual query.
languagestringGoogle interface language (hl), for example en, es, de, or fr.
countrystringGoogle country/region (gl), for example us, gb, de, or fr.
safeSearchstringSafeSearch mode: active or off.
uniqueImagesOnlybooleanSkip duplicate image/source URLs across pages and queries.
minDelaySecondsintegerDelay between paginated requests to reduce rate limiting.
proxyConfigurationobjectApify Proxy settings. Recommended for stable Google access.

Ready-to-run examples

View all ready-to-run Google Images Scraper examples.

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"
}

Output fields

FieldDescription
querySearch query that produced the image result.
pageZero-based Google Images page index requested by the Actor.
positionRank position within the query output saved by the Actor.
titleResult title shown by Google Images.
sourcePublisher or source label shown by Google.
thumbnailUrlGoogle thumbnail image URL.
thumbnailWidth, thumbnailHeightThumbnail dimensions when available.
sourceUrlPage that Google associates with the image result.
sourceDomainHostname parsed from the source URL or supplied by Google.
imageUrlDirect image URL when Google exposes it.
imageWidth, imageHeightOriginal image dimensions when available.
imageSizeImage size label when available.
googleImageId, googleResultIdGoogle result identifiers useful for deduplication/debugging.
language, country, safeSearchLocalization and SafeSearch settings used for the request.

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.

Pricing

This Actor uses pay-per-event pricing: a small run-start event and one event per image result saved. Exact current tiered rates are always shown on the live Google Images Scraper Pricing tab.

You only pay the per-result event for records saved to the dataset. Failed validation before scraping does not produce result charges.

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.

FAQ

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.

Can I localize results?

Yes. Set language and country to the Google locale you want to test, for example en/us, de/de, or fr/fr.

Is it available through API and MCP?

Yes. You can run it with the Apify API, SDK clients, scheduled tasks, webhooks, integrations, or the Apify MCP server.

How should I use the exported URLs responsibly?

Review the source pages and rights before reusing images. This Actor provides search-result metadata; it does not grant rights to copy or republish images.

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.