Google Images Scraper
Pricing
from $1.20 / 1,000 image scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
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
| 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. |
Ready-to-run examples
- Scrape Google Images by keyword — collect ranked image results for a public search term.
- Export Google image URLs and source pages — export direct image URLs when available, thumbnails, publishers, and source pages.
- Use Google Images as an API — return structured image-search records for API, webhook, SDK, or MCP workflows.
- Research product image competitors — compare publishers and product visuals across commercial searches.
- Audit Google Image SEO rankings — see which pages, domains, and visual formats rank for target keywords.
- Compare localized Google Images results — collect image results for a chosen language and country.
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
| Field | Description |
|---|---|
query | Search query that produced the image result. |
page | Zero-based Google Images page index requested by the Actor. |
position | Rank position within the query output saved by the Actor. |
title | Result title shown by Google Images. |
source | Publisher or source label shown by Google. |
thumbnailUrl | Google thumbnail image URL. |
thumbnailWidth, thumbnailHeight | Thumbnail dimensions when available. |
sourceUrl | Page that Google associates with the image result. |
sourceDomain | Hostname parsed from the source URL or supplied by Google. |
imageUrl | Direct image URL when Google exposes it. |
imageWidth, imageHeight | Original image dimensions when available. |
imageSize | Image size label when available. |
googleImageId, googleResultId | Google result identifiers useful for deduplication/debugging. |
language, country, safeSearch | Localization 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
minDelaySecondsat2or higher for larger runs. - Use Apify Proxy for better reliability.
- Split very large keyword lists into smaller scheduled runs.
- Use
resultsPerQueryto keep one broad query from consuming the wholemaxItemsbudget. - 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 ApifyClientclient = 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().itemsprint(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.
Related actors
- Google Search Results Scraper for standard Google web results.
- Google Shopping Results Scraper for product-search results.
- Google Trends Scraper for trend context around image-search keywords.
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.