Google Images Scraper
Pricing
Pay per event
Google Images Scraper
Scrape Google Images results. Extract full-resolution image URLs, thumbnails, dimensions, titles, and source pages. Filter by size, color, type, and usage rights. No API key needed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does Google Images Scraper do?
Google Images Scraper extracts image search results from Google Images at scale — no API key, no login, no rate limits from your end. Submit any search query and get back full-resolution image URLs, thumbnail URLs, dimensions, page titles, and source domains in structured JSON or CSV.
The scraper supports all native Google Images filters: size, color, image type, usage rights, language, and country — letting you replicate exactly what you'd see in the browser, but programmatically and in bulk.
Start your first search in under 2 minutes from the Apify Store page.
Who is Google Images Scraper for?
📸 Creative Professionals & Designers
- Designers sourcing reference images, mood boards, or inspiration for client projects
- Art directors collecting visual assets for presentations without manual downloading
- Photographers researching competitive visual styles in their niche
🛒 E-commerce & Marketing Teams
- Product teams monitoring competitor product images across the web
- Brand managers tracking where their product images appear online
- Marketing agencies collecting visual content for social media campaigns
🔬 Researchers & Data Scientists
- Computer vision engineers building image classification datasets
- Academic researchers studying visual trends and cultural imagery
- AI/ML teams gathering labeled training data from Google's curated search results
🏢 Enterprise & SEO Teams
- SEO specialists checking which images rank for specific keywords
- Digital asset managers auditing their brand's visual presence
- Media monitoring teams tracking image distribution across news sources
Why use Google Images Scraper?
- ✅ No API key or Google Cloud account needed — works immediately from the Apify platform
- ✅ Full filter support — size, color, type, usage rights, language, country
- ✅ Batch queries — search 10, 50, or 100 queries in a single run
- ✅ Up to 400 images per query — via automatic scroll loading
- ✅ Structured output — JSON, CSV, Excel, XML, JSONL (Apify handles format conversion)
- ✅ Direct download URLs — full-resolution image URLs, not thumbnails
- ✅ Source attribution — includes source domain and page URL for every image
- ✅ Pay-per-result pricing — no wasted spend on failed or empty searches
- ✅ Cloud-native — runs on Apify's infrastructure, no local setup needed
- ✅ API + integrations — plug into Zapier, Make, n8n, or call directly via REST API
What data can you extract?
Every image result includes the following fields:
| Field | Type | Description |
|---|---|---|
query | string | The search query that produced this result |
position | number | Rank position in Google Images results (1-based) |
imageUrl | string | Full-resolution image URL (direct link to the image file) |
imageWidth | number | Image width in pixels |
imageHeight | number | Image height in pixels |
thumbnailUrl | string | Google's cached thumbnail URL |
title | string | Image title or alt text from the source page |
sourceUrl | string | URL of the web page hosting the image |
sourceDomain | string | Domain name of the source website |
9 fields per image result. Each query returns up to 400 results (Google's display limit). Multi-query runs produce separate result sets per query, all in one dataset.
How much does it cost to scrape Google Images?
This Actor uses pay-per-event pricing — you pay only for images actually extracted. No monthly subscription. All Apify platform compute costs are included.
| Free ($5 credit) | Starter ($29/mo) | Scale ($199/mo) | Business ($999/mo) | |
|---|---|---|---|---|
| Per image | $0.0023 | $0.002 | $0.00156 | $0.0012 |
| 100 images | $0.23 | $0.20 | $0.156 | $0.12 |
| 1,000 images | $2.30 | $2.00 | $1.56 | $1.20 |
Higher-tier plans (Platinum, Diamond) receive additional volume discounts.
Run start fee: $0.005 flat (all tiers) — covers browser initialization overhead.
Real-world cost examples:
| Search | Images | Duration | Cost (Free tier) |
|---|---|---|---|
cute puppies ×20 results | 20 images | ~45s | ~$0.05 |
laptop computer ×100 results | 100 images | ~60s | ~$0.24 |
sunset landscape photography ×200 results | 200 images | ~90s | ~$0.47 |
Free plan estimate: With $5 of starting credits, a new account can scrape approximately 2,000 images before any payment. A typical session of 5 diverse searches × 100 images each costs about $1.00.
How to scrape Google Images
- Open Google Images Scraper on the Apify Store
- Click Try for free (no credit card required to start)
- In the Search section, enter your search queries — one per line (e.g.,
golden retriever,cute kitten,sunset beach) - Set Max images per query — start with 20 for a test, up to 400 for bulk collection
- Optionally set filters in the Filters section: image size, color, type, or usage rights
- Optionally set Language and Country in the Settings section for localized results
- Click Save & Run
- Wait 30–90 seconds for results
- Click Export to download as JSON, CSV, Excel, or XML
Input example — simple search:
{"queries": ["cute puppies"],"maxResultsPerQuery": 20}
Input example — filtered search (large blue photos):
{"queries": ["ocean landscape", "mountain sunrise"],"maxResultsPerQuery": 100,"imageSize": "large","imageColor": "blue","imageType": "photo"}
Input example — Creative Commons only:
{"queries": ["cat photos free use"],"maxResultsPerQuery": 50,"usageRights": "creative_commons","safeSearch": "strict"}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
queries | array | required | List of search queries. Each is searched separately. |
maxResultsPerQuery | integer | 100 | Max images to extract per query (1–500). |
imageSize | string | "" (all) | Filter by size: large, medium, icon, 400x300, 640x480, 800x600, 1024x768, 2mp–70mp |
imageColor | string | "" (any) | Filter by color: color, grayscale, transparent, or specific color (red, blue, green…) |
imageType | string | "" (any) | Filter by type: photo, face, clipart, lineart, animated |
usageRights | string | "" (any) | Filter by license: creative_commons or commercial |
safeSearch | string | moderate | SafeSearch level: off, moderate, strict |
language | string | en | Language code for results (e.g., en, es, de, fr, ja) |
country | string | "" (global) | Country code for localized results (e.g., us, gb, de, jp) |
Output examples
Sample output item (JSON):
{"query": "cute puppies","position": 1,"imageUrl": "https://example.com/images/golden-retriever-puppy.jpg","imageWidth": 1920,"imageHeight": 1280,"thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn...","title": "Golden Retriever Puppy Playing","sourceUrl": "https://www.example.com/puppies/golden-retriever","sourceDomain": "example.com"}
Results are saved to an Apify dataset and accessible via the Images table view, which shows thumbnails inline for visual review.
Tips for best results
- 🎯 Start small — test with
maxResultsPerQuery: 20before running 400-image batches. Google Images results are query-specific; verify your query returns what you expect. - 🔄 Batch queries efficiently — put all queries in one run rather than running the actor multiple times. Each run has a $0.005 start fee; batching saves on overhead.
- 🌍 Use country + language together for localized results — e.g.,
country: "de"+language: "de"for German Google Images. - 🖼️ Filter by image size — for datasets or ML training, use
imageSize: "large"orimageSize: "2mp"to skip low-quality thumbnails. - ⚖️ For commercial use — always filter by
usageRights: "commercial"to respect copyright. Review individual image licenses before use. - 🔁 Schedule recurring runs — use Apify's scheduling to monitor how Google Images results change over time for brand monitoring or trend tracking.
- ⚡ For high volumes — Scale plan ($199/mo) cuts per-image cost by 22%. Business plan ($999/mo) cuts it by 40%.
Integrations
Google Images Scraper connects to 5,000+ apps via Apify's built-in integrations:
📊 Google Images Scraper → Google Sheets Automatically export image search results to a Google Sheet for team collaboration. Set up a webhook to update your sheet on every run — useful for agencies tracking client brand imagery.
🔔 Google Images Scraper → Slack Alert your team when new images appear for a brand keyword. Schedule the scraper daily and compare results to detect new placements or unauthorized image usage.
⚙️ Google Images Scraper → Make / Zapier Build no-code workflows: trigger a run on schedule, process the JSON output, and send image URLs to a CMS, asset manager, or email campaign tool. The REST API makes this straightforward with any automation platform.
🤖 Google Images Scraper → AI pipelines Feed image URLs to downstream AI services (GPT-4 Vision, Google Vision API) for automatic classification, captioning, or content moderation — using Apify as the data collection layer.
🗓️ Scheduled monitoring Schedule the scraper to run daily or weekly with the same queries. Compare dataset snapshots to track how image rankings change over time — useful for SEO and brand monitoring teams.
Using the Apify API
Run Google Images Scraper programmatically using any HTTP client or the official Apify SDK.
Node.js (Apify client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('automation-lab/google-images-scraper').call({queries: ['cute puppies', 'golden retriever'],maxResultsPerQuery: 50,imageSize: 'large',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Scraped ${items.length} images`);items.forEach(img => console.log(img.imageUrl, img.sourceDomain));
Python:
from apify_client import ApifyClientclient = ApifyClient(token='YOUR_APIFY_TOKEN')run = client.actor('automation-lab/google-images-scraper').call(run_input={'queries': ['cute puppies', 'golden retriever'],'maxResultsPerQuery': 50,'imageSize': 'large',})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['imageUrl'], item['sourceDomain'])
cURL:
# Start a runcurl -X POST "https://api.apify.com/v2/acts/automation-lab~google-images-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["cute puppies"],"maxResultsPerQuery": 50}'# Fetch results (replace DATASET_ID from the run response)curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_TOKEN&format=json"
Replace YOUR_APIFY_TOKEN with your token from Apify Console → Settings → Integrations.
Use with AI agents via MCP
Google Images Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/google-images-scraper"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/google-images-scraper"}}}
Your AI assistant will use OAuth to authenticate with your Apify account on first use.
Example prompts
Once connected, try asking your AI assistant:
- "Use automation-lab/google-images-scraper to scrape 50 large photos of 'mountain sunrise' and give me a list of image URLs"
- "Search Google Images for 'product photography white background' and filter for Creative Commons licensed results only"
- "Find the top 100 Google Images results for 'AI robot illustration' and tell me which source domains appear most often"
Learn more in the Apify MCP documentation.
Is it legal to scrape Google Images?
Google Images displays publicly indexed images. Scraping public search results is generally legal under fair use principles in most jurisdictions, as confirmed by the hiQ v. LinkedIn Ninth Circuit ruling and similar cases.
Important copyright considerations:
- Google Images results link to third-party images — the images themselves may be copyrighted
- Always check individual image licenses before commercial use
- Use the
usageRightsfilter to restrict results to Creative Commons or commercial-use images - This scraper collects image URLs and metadata, not the images themselves — downloading and using images is your responsibility
This Actor is designed for ethical, lawful data collection:
- We do not circumvent paywalls or authentication
- We respect robots.txt and rate limits
- Users are responsible for complying with Google's Terms of Service and applicable copyright law
- We recommend reviewing Apify's web scraping legal guide before use
FAQ
How fast does Google Images Scraper run? A single query with 100 images typically completes in 45–90 seconds. Batch runs with 10 queries × 100 images finish in 5–10 minutes. Speed depends on Google's response time and the number of scroll cycles needed.
How much does it cost for 1,000 images? On the free tier: $2.30 (1,000 × $0.0023 + $0.005 start fee). On the Starter plan ($29/mo): $2.01. See the pricing table above for all tier comparisons.
Why does Google Images Scraper return fewer images than I requested?
Google Images only shows results for queries with sufficient indexed content. Some niche or unusual queries may return fewer than 100 results regardless of maxResultsPerQuery. For most popular queries, you'll get the full count requested.
Why are my results empty or is imageUrl blank for some items?
Google occasionally changes how results are rendered. If many results come back with empty imageUrl, this usually means Google served a CAPTCHA or consent page. Try re-running the actor — a different IP from Apify's pool usually resolves it. If the problem persists, check the debug-page1 key in the run's key-value store for the raw HTML.
Can I filter for images with specific dimensions?
Google Images filters by size category (large, medium, icon) and minimum megapixels, not exact dimensions. Use imageSize: "2mp" or higher to get images with at least 2 megapixels (approximately 1920×1080). Exact pixel dimensions are in the output fields imageWidth and imageHeight.
How does this compare to the Google Custom Search API? The Google Custom Search API is limited to 100 results per day on the free tier and $5 per 1,000 queries on paid tiers — it does not provide full Google Images access. This scraper accesses the full Google Images UI with no query limits.
Does this work for specific Google country versions (e.g., google.de)?
Yes — use the country parameter (e.g., "de") and language parameter (e.g., "de") together to get German Google Images results. The scraper targets google.com with locale parameters, which provides country-specific ranking.
Other scrapers you might find useful
Looking for more data collection tools? Check out these related actors from automation-lab:
- 🔍 Google Jobs Scraper — scrape job listings from Google Jobs search results
- 📰 Open Library Scraper — search and extract book data from Open Library
- 🎵 MusicBrainz Scraper — extract music metadata, albums, and artist info
- 🛒 Newegg Scraper — scrape product listings, prices, and specs from Newegg
- 🐍 PyPI Scraper — extract Python package data and dependency info from PyPI
- 📦 npm Scraper — scrape npm package metadata, downloads, and version history
- 🔬 Semantic Scholar Scraper — extract academic papers, citations, and author data
- 🌍 REST Countries Scraper — fetch country data, flags, currencies, and languages