Google Images Scraper avatar

Google Images Scraper

Pricing

$2.10 / 1,000 image results

Go to Apify Store
Google Images Scraper

Google Images Scraper

Scrape Google Images search results: full-size image URL, width and height, thumbnail, title, source page and website. About 100 images per page, size, type and date filters, any country, only-new mode for schedules.

Pricing

$2.10 / 1,000 image results

Rating

0.0

(0)

Developer

Big Man

Big Man

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

Share

Google Images Scraper turns any Google Images search into clean, structured data. Type a search such as red sneakers or Alfons Mucha and get, for every image, the full-size image URL, its width and height, the Google thumbnail with its size, the image title, the page the image comes from, the website and its display name, and the file size Google reports.

People also look for this as a Google Images API, a Google image search API, a Google Images downloader, a reverse lookup of image sources or a bulk image URL extractor. It returns about 100 images per Google page and pages through results automatically (typically 300 to 500 images per search before Google runs out). It runs without a browser, so a 100-image search usually finishes in 10 to 30 seconds.

This is an independent tool. It is not affiliated with, endorsed by or sponsored by Google. It reads the public image results that Google Search shows to anyone.

What data you get

Every image is one row in the dataset. The fields below come from real test runs of the current build (22 test runs, 2,000+ images, US, German, Australian and Japanese searches).

FieldTypeWhat it holdsExample
querystringThe search that found the imageAlfons Mucha
positionnumberRank of the image within this search (1 = first)1
imageIdstringGoogle's ID for the result, stable for de-duplicationeY1lodPgKK_mYM
titlestringTitle Google shows for the image (usually the page title)Alphonse Mucha - Simple English Wikipedia, the free encyclopedia
imageUrlstringDirect URL of the full-size original imagehttps://upload.wikimedia.org/wikipedia/commons/b/bd/Alfons_Mucha_-_F._Champenois_Imprimeur-%C3%89diteur.jpg
imageWidthnumberWidth of the full-size image in pixels1202
imageHeightnumberHeight of the full-size image in pixels1633
thumbnailUrlstringGoogle's thumbnail of the imagehttps://encrypted-tbn0.gstatic.com/images?q=tbn:…
thumbnailWidthnumberThumbnail width in pixels383
thumbnailHeightnumberThumbnail height in pixels522
contentUrlstringThe web page that contains the imagehttps://simple.wikipedia.org/wiki/Alphonse_Mucha
originstringDomain of that pagesimple.wikipedia.org
sourcestringWebsite name as Google shows itSimple Wikipedia
fileSizestringFile size Google reports for the original498KB
countrystringCountry code the search ran inus
scrapedAtstringISO timestamp of the scrape2026-11-08T22:56:27.424Z

Fill rates in testing: every field above was filled for 100% of the images returned in all 22 test runs. The field names query, origin, title, imageUrl, imageWidth, imageHeight, thumbnailUrl, thumbnailWidth, thumbnailHeight and contentUrl match the names most Google Images tools in the Apify Store use, so you can switch without changing your pipeline.

How to use it

  1. Open the actor and click Try for free (or Start).
  2. In Search queries, add one search per line, written the way you would type it into Google Images, e.g. scandinavian bedroom.
  3. Set Max images per query (default 100). Google usually has 300 to 500 images for a search; the actor stops early when Google has no more.
  4. Optionally choose a Country (us, gb, de, au, jp …) and Language (en, de, ja …) to get local results.
  5. Optionally narrow the results with Image size (large, medium, icon), Image type (photo, clip art, line drawing, animated GIF) and Time range (past day, week, month or year).
  6. Click Start. When the run finishes, open the Output tab and export the images as JSON, CSV, Excel, HTML or XML, or read them through the API.

Input examples

One search, 300 images (the most common use):

{
"queries": ["Alfons Mucha"],
"maxResultsPerQuery": 300
}

Several searches at once, 100 images each:

{
"queries": ["best CRM tools", "apify blog"],
"maxResultsPerQuery": 100
}

Large photos only, indexed in the past month:

{
"queries": ["electric car"],
"maxResultsPerQuery": 100,
"imageSize": "large",
"imageType": "photo",
"timeRange": "month"
}

Local results in another country and language:

{
"queries": ["Brandenburger Tor"],
"country": "de",
"language": "de",
"maxResultsPerQuery": 50
}

Clip art and animated GIFs:

{
"queries": ["cat"],
"imageType": "clipart",
"maxResultsPerQuery": 30
}

Output example

Two real rows from a test run for Alfons Mucha:

[
{
"query": "Alfons Mucha",
"position": 1,
"imageId": "eY1lodPgKK_mYM",
"title": "Alphonse Mucha - Simple English Wikipedia, the free encyclopedia",
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/b/bd/Alfons_Mucha_-_F._Champenois_Imprimeur-%C3%89diteur.jpg?utm_source=simple.wikipedia.org&utm_campaign=index&utm_content=original",
"imageWidth": 1202,
"imageHeight": 1633,
"thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQVhXuJYPxErcnI2jtD1_tS_7CvlTzA2Icq_ga9vQe_yQ&s=10",
"thumbnailWidth": 383,
"thumbnailHeight": 522,
"contentUrl": "https://simple.wikipedia.org/wiki/Alphonse_Mucha",
"origin": "simple.wikipedia.org",
"source": "Simple Wikipedia",
"fileSize": "498KB",
"country": "us",
"scrapedAt": "2026-11-08T22:56:27.424Z"
},
{
"query": "Alfons Mucha",
"position": 2,
"imageId": "-QkXi3QJNCOvqM",
"title": "File:Alfons Mucha - 1896 - Spring.jpg - Wikimedia Commons",
"imageUrl": "https://upload.wikimedia.org/wikipedia/commons/6/6f/Alfons_Mucha_-_1896_-_Spring.jpg?utm_source=commons.wikimedia.org&utm_campaign=index&utm_content=original",
"imageWidth": 508,
"imageHeight": 1000,
"thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQimk4PYFaeFR1BFNMAMyybePMwmYuyScHECpZvFkd_4A&s=10",
"thumbnailWidth": 318,
"thumbnailHeight": 628,
"contentUrl": "https://commons.wikimedia.org/wiki/File:Alfons_Mucha_-_1896_-_Spring.jpg",
"origin": "commons.wikimedia.org",
"source": "Wikimedia Commons",
"fileSize": "237KB",
"country": "us",
"scrapedAt": "2026-11-08T22:56:27.507Z"
}
]

Use cases

  • Image SEO and brand monitoring. See which pages and sites rank in Google Images for your product or brand terms, at which position, and track changes week by week.
  • Find where an image or product appears. Search a product name and get every page (contentUrl) and website (origin) that shows it, e.g. to spot resellers or unlicensed copies.
  • Dataset building for machine learning. Collect image URLs with their sizes for a list of labels, filter by size or type, then download the originals with your own tool.
  • Design and content research. Gather mood-board references (interiors, logos, posters) with their sources so you can credit or license them.
  • E-commerce and market research. See which retailers dominate visual search for a product category and how they present their products.
  • Feeding AI agents. Give an agent a quick way to find candidate images and their source pages for a topic.

Run it on a schedule and get only new images

  1. Save your input as a Task in Apify Console.
  2. Open the task's Schedules tab and run it daily or weekly.
  3. Turn on Only new images ("onlyNew": true). The actor remembers every image URL it has returned (for 90 days, in a key-value store named google-images-seen in your account) and returns only images that are new since the last run. You pay only for those.
  4. Add an integration (Slack, Google Sheets, a webhook) so new images arrive where you work.

Integrations

API (one call, returns the images):

POST https://api.apify.com/v2/acts/daedal_quintuplet~google-images-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN
Content-Type: application/json
{"queries": ["red sneakers"], "maxResultsPerQuery": 100}

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("daedal_quintuplet/google-images-scraper").call(
run_input={"queries": ["red sneakers"], "maxResultsPerQuery": 100}
)
for img in client.dataset(run["defaultDatasetId"]).iterate_items():
print(img["position"], img["imageUrl"], img["imageWidth"], "x", img["imageHeight"])

JavaScript / Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('daedal_quintuplet/google-images-scraper').call({
queries: ['red sneakers'],
maxResultsPerQuery: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((img) => console.log(img.position, img.origin, img.imageUrl));

No-code tools:

  • n8n: use the Apify node, choose Run actor, enter daedal_quintuplet/google-images-scraper and your input JSON, then read the dataset items.
  • Make: use the Apify app's Run an Actor module, then Get Dataset Items.
  • Zapier: use the Apify integration's Run Actor action, or trigger a Zap when a scheduled run finishes.
  • Google Sheets, Slack, webhooks: connect them from the actor's Integrations tab in Apify Console.

AI agents (MCP): the actor is available through Apify's MCP server (https://mcp.apify.com). Add daedal_quintuplet/google-images-scraper as a tool and Claude, Cursor or any MCP client can search images on request. Every input field has a plain description and an example so the agent can fill it in.

Pricing

Pay per result: $2.10 per 1,000 images ($0.0021 per image). Error rows are free. A 100-image search costs $0.21; 300 images cost $0.63. Platform usage is included in the price.

Limits and error items

  • Google shows a limited number of images per search, usually 300 to 500. When Google has no more, the actor stops and returns what it found; you are charged only for images returned.
  • The first page sometimes holds 50 images instead of 100; the actor simply fetches the next page.
  • fileSize is Google's rounded figure (e.g. 498KB), not a byte count.
  • The image files themselves are not downloaded; you get their URLs. Some sites block hot-linking, so download originals from your own server if you need the files.
  • Bad input produces an error row instead of a crash, e.g. {"error": true, "message": "\"country\" must be a two-letter country code such as \"us\", \"gb\" or \"de\" (got \"usa\")."}. A search Google can't fetch after three tries gives {"error": true, "query": "…", "message": "Failed to fetch Google Images: …"}. Error rows are never charged; filter them out with error != true.
  • If the platform restarts a run (a host migration), the actor resumes where it stopped and does not return or charge the same images twice.

FAQ

Do I need a Google account or API key? No. The actor reads public Google Images results through Apify's Google SERP proxy, which is included in the price.

How many images can I get per search? Up to 500 per search with maxResultsPerQuery; in practice Google stops at 300 to 500 for most searches. Use several related searches to collect more.

Can I filter by size, type or date? Yes: imageSize (large, medium, icon), imageType (photo, clipart, lineart, animated) and timeRange (day, week, month, year). They map to Google's own Tools filters.

Can I search in other countries and languages? Yes. Set country to any two-letter code (gb, de, fr, jp, au …) and language to the interface language (en, de, ja …). Tested with US, German, Australian, British and Japanese searches.

Is SafeSearch on? Yes by default. Set safeSearch to false to turn it off.

Can it find where my own photo appears (reverse image search)? It searches by text, not by uploading an image. Search for your product or brand name to see which sites show it.

Is it legal to scrape Google Images? The actor collects publicly visible search results. The images themselves belong to their owners: check the license on the source page (contentUrl) before reusing an image.

How fast is it? About 5 to 10 seconds per Google page of up to 100 images.

More scrapers from the same developer: