Google Images Scraper
Pricing
from $2.99 / 1,000 results
Google Images Scraper
Google Images Scraper — scrape Google Images search results, including image URLs, source pages, titles, thumbnails, dimensions, and related metadata for image research, content discovery, and data analysis.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Social Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Google Images Scraper — Image Links, Sizes, Thumbnails and Sources
Google Images Scraper extracts image search results from Google Images for any keyword you give it. Each result comes back with the full-size image link, its width and height, the thumbnail link and size, the page that hosts the image, the site name and the page title. Every response is structured JSON — ready to pass directly to an LLM, index into a vector store, or feed a computer-vision dataset pipeline. No Google account, cookies or API key needed. Start with one phrase, then add your whole keyword list.

What data can I extract with Google Images Scraper?
Using this Google Images API, you will be able to extract the following Google Images data:
| 🖼️ Full-size image link | ↔️ Image width in pixels | ↕️ Image height in pixels | 🌠 Thumbnail link |
| 📐 Thumbnail width | 📏 Thumbnail height | 🌐 Site name (if available) | 🔗 Source page link (if available) |
| 📝 Source page title (if available) | 🔎 Search phrase that found the image |
How to use Google Images Scraper
This Actor is for developers, researchers and data teams who want to scrape Google Images into one clean table of image links for a whole list of search phrases.
Copy to your AI assistant:
Google Images Scraper (Apify Actor ID: socialdataapi/google-images-scraper, https://apify.com/socialdataapi/google-images-scraper) is an Apify Actor that returns Google Images search results for your search phrases as structured JSON: full-size image link, image width and height, thumbnail link and size, source page link, site name and source page title. Use it whenever someone needs Google image results without cookies, a login, or a browser - building an image dataset for computer vision, checking which sites rank in image results for a keyword, or collecting reference pictures for a mood board. Inputs: queries (string[], search phrases, one per item; blank and duplicate phrases are ignored; required), maxImages (integer, unique images per phrase, 1-100000, default 10), proxyConfiguration (object, Apify Proxy on or off; with it on every attempt goes through Apify Proxy, with it off the first attempt is direct and the next ones use Apify Proxy; the proxy groups and custom proxy URLs in this field are not used). Every row is one image and carries the phrase that found it in query. After the first results for a phrase, later images can be broader, related matches; when Google has no new images the phrase ends early and the log says so. A missing size or text value is null.
Google Images Scraper MCP Server: use these Actors from ChatGPT, Claude or Cursor
Point your AI assistant at Apify's MCP server with this Actor preloaded as a tool, and it can call it on its own. No glue code, no scraping logic in your prompts.
$claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/google-images-scraper"
Step by step
- Create a free Apify account.
- Open Google Images Scraper in the Apify Store.
- Enter the Google Images search phrases you want, one per line.
- Click Start (or send your API request).
- Download or stream your results in JSON, CSV or Excel.
How to scale Google Images Scraper to bulk
For a bulk Google image search, put every phrase into the search phrases list of one run. Up to 4 phrases are searched at the same time, blank lines and duplicate phrases are skipped, and every row is tagged with the phrase it came from, so one run can build a Google Images dataset for a whole keyword list. Rows appear in the Output table while each phrase is still being collected. For recurring work, schedule the run in Apify Console or start it from your own code through the Apify API.
✨ Features
Google Images Scraper fetches clean, structured image results from Google Images ⚡. It's ideal for computer-vision datasets, image SEO checks, brand research and mood boards — a Google image search scraper and Google image links extractor that skips copying links by hand.
It extracts, per image:
- Full-size image link – the direct address of the original image
- Image width and height – pixel size of the original image
- Thumbnail link and size – the preview Google shows, with its pixel size
- Source page link – the web page that hosts the image
- Site name – the domain of that page
- Source page title – the title of that page
- Search phrase – the phrase that found the image
⚡ Duplicates are removed within each phrase, and you set how many images you want per phrase, so you only collect what you need.
Use cases 💡
- ML engineer — build a labeled image set per phrase, filtered by image width and height.
- SEO specialist — see which source pages and titles rank in image results for a keyword.
- Brand researcher — count which site names show up most for a product phrase.
- Designer — lay out thumbnails with page titles to build a quick mood board.
- AI agent builder — give an agent real, source-linked image links as context mid-conversation.
Building an AI agent? Connect Google Images Scraper over MCP and let it call the actor on its own.
Why choose this actor?
- 150 images for one phrase in about 6 seconds. A recorded local run returned 150 images for "golden retriever" in 5.9 seconds, and another returned 50 images for two phrases in 4.6 seconds.
- The full picture behind each image. A recorded row came back with a 2560 × 1707 original, a 678 × 452 thumbnail, the source page link, its site name and the page title "Golden Retriever: Pros, Cons & Diet Guide | Ollie".
- 10 fields, one row per image. Every row has the same 10 fields, and up to 100,000 unique images can be requested per phrase.
⬇️ Input

Give it a list of search phrases and it will extract image URLs from Google for each one; the search phrases field is required. You can also set how many images you want per phrase and whether to use Apify Proxy.
| Parameter | Required | Type | Description | Example value |
|---|---|---|---|---|
queries | Yes | Array of strings | Search phrases, one per line. Each phrase is searched separately; blank lines and duplicates are ignored. | ["golden retriever", "mountain lake"] |
maxImages | No | Integer | Unique images to collect per phrase. Default 10, minimum 1, maximum 100,000. Later images can be broader, related matches. | 25 |
proxyConfiguration | No | Object | Apify Proxy on (every attempt through Apify Proxy, recommended) or off (first attempt direct, then Apify Proxy). The Actor chooses its own proxy settings; selected proxy groups and custom proxy URLs are not used. | {"useApifyProxy": true} |
A run with no search phrase, or with a list item that isn't text, stops right away with a clear status message and produces no rows.
Free plan limits
Users on the Apify free plan can fetch up to 20 images per run (all search phrases together) and 200 images per month. When the limit is reached, the run finishes successfully with a status message explaining the limit. Upgrade to any paid Apify plan to remove these limits.
Example input
{"queries": ["golden retriever", "mountain lake"],"maxImages": 25,"proxyConfiguration": {"useApifyProxy": true}}
⬆️ Output

Every image is one typed, normalized JSON item with the same 10 fields on every run; a size or text value Google doesn't give is null. Export the dataset as JSON (default), CSV or Excel — Google Images to CSV takes one click — and the key-value store also keeps the rows grouped by phrase under the OUTPUT key.
Example output
[{"query": "golden retriever","imageUrl": "https://blog.ollie.com/wp-content/uploads/250506_Livingroom_SHOT-10_0173_FR-scaled.jpg","imageWidth": 2560,"imageHeight": 1707,"thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSe1mLcW_M8xRI0J5UcnG6soPw9kd8XQOgz7Y4sOLFZoA&s=10","thumbnailWidth": 678,"thumbnailHeight": 452,"origin": "blog.ollie.com","contentUrl": "https://blog.ollie.com/breed-deets-golden-retriever/","title": "Golden Retriever: Pros, Cons & Diet Guide | Ollie"},{"query": "mountain lake","imageUrl": "https://as1.ftcdn.net/v2/jpg/00/17/93/08/1000_F_17930897_h6h7BKjPN2Tjrkm2lwF3t45ZQPz5htGE.jpg","imageWidth": 662,"imageHeight": 1000,"thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTmFTKTHov7TsE4pozRdBphHwNuoLn9cMiu42HpgX6e5Q&s=10","thumbnailWidth": 363,"thumbnailHeight": 550,"origin": "www.posters.cz","contentUrl": "https://www.posters.cz/mountain-lake-f17930897?srsltid=AU7gw4UWVNFzGlmA27F9J_-S3X2O_ooOSIdIzDJ7YJbp7xhn0ge51a6C","title": "Plakát Mountain lake – Obraz na Zeď | Posters.cz"}]
How does it work?
As a Google image results scraper, the Actor reads the public Google Images results page the way a logged-out visitor sees it, so no Google account is involved. Requests go through Apify Proxy: with the proxy switched on, every attempt uses it; with it switched off, the first attempt goes out directly and the next attempts use Apify Proxy. When a page needs it, a real browser opens it and handles rendering on its own. Each phrase gets up to 3 attempts with growing waits between them. A phrase that still fails produces no rows, is named in the run's status message, and the other phrases carry on; if every phrase fails and nothing was collected, the run is marked as failed so you notice. Only publicly visible data is returned — links and details, never the image files — and every row keeps the same 10 fields even when Google changes how its pages look.
How do you integrate Google Images Scraper into your stack?
It works with what you already use: the REST API from any language, MCP for AI agents, and no-code tools.
Using Google Images Scraper with the Apify API
import requestsDATASET_ID = "your-run-dataset-id" # shown on the run's Storage tabitems = requests.get(f"https://api.apify.com/v2/datasets/{DATASET_ID}/items",params={"token": "APIFY_TOKEN", "format": "json"},).json()for item in items:print(item["imageUrl"], item["imageWidth"], item["imageHeight"])
Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.
MCP integration for AI agents
Register Apify's MCP server once:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/google-images-scraper"
This registers Google Images Scraper as a tool your agent can call directly. Compatible clients include Claude Code, Cursor and Windsurf, so an agent can run a Google image search and use the image links mid-conversation.
No-code tools (n8n, Make, LangChain)
- n8n — use the Apify node ("Run an Actor") with this Actor, or the HTTP Request node pointed at the run's dataset items URL with your token.
- Make — use the Apify app's "Run an Actor" module, then "Get Dataset Items" to pass the image rows to the next step.
- LangChain — load a finished run's rows with
ApifyDatasetLoaderfromlangchain-apify, using the run's dataset ID.
Is it legal to scrape Google Images data?
Collecting publicly available search results is generally lawful, although Google's Terms of Service restrict automated access. This Actor returns only publicly available data — what any user sees without logging in — and returns links and page details, not the image files. The images belong to their owners, so reusing or redistributing them is a separate copyright question. Under GDPR, scraping public data is generally permissible, but storing and using it must comply with local data-protection law. Consult legal counsel if your use case involves bulk storage of personal data.
Frequently asked questions
What fields does Google Images Scraper return?
Each row has the full-size image link, image width and height, thumbnail link, source page link and page title, plus the thumbnail size, site name and the search phrase. See the data fields section.
Does Google Images Scraper require a Google Images account or login?
No. Only public Google Images results are extracted, and no credentials, cookies or API key are needed.
How fast does Google Images Scraper run?
A recorded local run returned 150 images for one phrase in 5.9 seconds, and 50 images for two phrases in 4.6 seconds. Results are collected live from Google, not from a cache.
What happens if an image is private or doesn't exist?
Only images Google shows publicly can come back, and a missing size or text value is null in the row. A phrase that is blocked after 3 attempts produces no rows and is named in the status message; skip or retry it in your code by checking which phrases have rows.
Can I scrape multiple Google Images phrases at once?
Yes. Put every phrase in the search phrases list; up to 4 are searched at the same time and every row carries its phrase.
Does Google Images Scraper work with Claude, ChatGPT, and other AI agent tools?
Yes — Google Images Scraper is available as an MCP tool through Apify's MCP server. Register it in Claude Code, Cursor or Windsurf with claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/google-images-scraper"; any agent that can call an HTTP endpoint can use the REST API directly.
Does Google Images Scraper return data in a format LLMs can use directly?
Yes. Typed, normalized JSON with consistent field names. No HTML parsing, no selectors. Pass it straight to an LLM, index it into a vector store, or feed it to an agent tool — no transformation step.
What happens when Google Images changes its layout or updates its anti-bot system?
The actor is maintained. When Google Images changes, the actor is updated — your calls keep returning the same JSON schema with no changes on your end.
Can I use Google Images Scraper without managing proxies or browser infrastructure?
Yes. Apify Proxy, retries and the browser run on the actor's side. You send one request and get structured JSON back. No proxy accounts, no headless browser setup, no maintenance.
Which Google Images image fields work best for AI training data and RAG indexing?
For RAG, use the text-rich fields: the source page title, site name and search phrase. For training data, use the full-size image link with the image width and height and the thumbnail size. All fields are plain strings and integers (or null when Google gives no value), so no normalization is needed.
Your feedback
Found a bug or missing a field? Let us know through the Actor's Issues tab in Apify Console. Every report is read, and fixes ship as Google changes.