Google Images Scraper: Image URLs, Sizes, Sources avatar

Google Images Scraper: Image URLs, Sizes, Sources

Pricing

$0.30 / 1,000 images

Go to Apify Store
Google Images Scraper: Image URLs, Sizes, Sources

Google Images Scraper: Image URLs, Sizes, Sources

Scrape Google Images results for any search in 43 countries: original image URL, width and height, title, source page and domain, thumbnail, file size and dominant color. Up to ~300 images per query, Google's size, type, color, time and license filters, no browser. $0.30 per 1,000 images.

Pricing

$0.30 / 1,000 images

Rating

0.0

(0)

Developer

Data Gleaner

Data Gleaner

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Google Images Scraper turns any Google Images search into a clean table of images. Type a query, such as golden retriever puppy, modern kitchen design or 桜 写真. For each image you get the direct URL of the full-size original, its width and height in pixels, the title, the page it appears on and that site's domain and name, Google's thumbnail, the file size and the image's dominant color. It covers 43 countries, returns up to about 300 images per query and supports Google's own size, type, color, time and usage-rights filters. There is no browser and no login to set up. It costs $0.30 per 1,000 images, with no start fee.

What you can do with it

  • Build image datasets. Collect hundreds of labelled images per query for computer vision, AI training or evaluation sets. Each row has the original URL, exact pixel size and file size, so you can filter before you download.
  • Bulk image search. Run a list of queries (products, places, species, landmarks) and get every result in one dataset, instead of clicking through Google Images by hand.
  • Find large or licensed images. Combine imageSize: large, imageType: photo or usageRights: creativeCommons to shortlist images worth checking for reuse.
  • SEO and brand monitoring. See which sites rank in Google Images for your keywords, where your product photos appear, and which domains outrank you (sourceDomain, position).
  • Visual market research. Pull what Google shows for a style, product or trend in different countries, and use dominantColor to compare palettes.
  • Feeds for AI agents and apps. Plain JSON with the same field names for every query and country, ready for a spreadsheet, a database or an LLM.

Input

FieldTypeWhat it does
querieslist of textSearches as you would type them into Google Images, in any language. Operators such as site:unsplash.com work too. Each query returns its own rows.
maxImagesPerQuerynumberDefault 100, max 300. The run pages through Google Images until it has this many.
countrycodeWhere the search runs: us (default), uk, de, fr, jp, in, br and 36 more. It shifts which local sites rank.
languagecodeGoogle's interface language, default en. Use the language of your query (ja, de, es...) for the most local results.
safeSearchtrue/falseGoogle's SafeSearch filter for explicit images. On by default.
imageSizechoicelarge, medium or icon.
imageTypechoicephoto, clipart, lineart, animated (GIFs) or face.
imageColorchoicecolor, grayscale, transparent, or a dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black, brown.
timePeriodchoiceday, week, month or year: only images Google found in that period.
usageRightschoicecreativeCommons or commercial (commercial and other licenses).
maxConcurrencynumberHow many queries run in parallel. Default 5.

Example:

{
"queries": ["golden retriever puppy", "modern kitchen design"],
"maxImagesPerQuery": 200,
"country": "us",
"imageSize": "large",
"imageType": "photo"
}

An empty input {} runs a small example (5 images for "golden retriever puppy"), and the status message says so.

Output

One row per image, in Google's order (position). Example:

{
"position": 1,
"imageUrl": "https://www.muenchen.travel/var/ger_muc/storage/images/8/9/4/7/2427498-988-ger-DE/c4cb10e4e277-weihnachtsmarkt-8973-foto-lukas-barth-3000.jpg",
"width": 3000,
"height": 2000,
"title": "Weihnachtsmärkte und Christkindlmärkte München 2026",
"sourcePageUrl": "https://www.muenchen.travel/artikel/maerkte-feste/weihnachtsmaerkte-in-muenchen",
"sourceDomain": "www.muenchen.travel",
"sourceName": "Einfach München",
"thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSsMIzELynRlsQq7uYh1SksUYRMgxliE40miitVrUTkqg&s=10",
"thumbnailWidth": 547,
"thumbnailHeight": 365,
"fileSize": "584KB",
"fileSizeBytes": 598016,
"dominantColor": "#804a2d",
"publishedAgo": null,
"imageId": "Zc9NVZhJgfowKM",
"query": "weihnachtsmarkt münchen",
"country": "de",
"language": "de",
"filters": "isz:l,itp:photo",
"page": 1,
"scrapedAt": "2026-10-21T19:07:05+00:00"
}
FieldWhat it holds
imageUrl, width, heightDirect link to the full-size original on its host site, and its size in pixels.
titleThe title Google shows for the image, usually the source page's title.
sourcePageUrl, sourceDomain, sourceNameThe page the image appears on, its domain, and the site name Google shows.
thumbnailUrl, thumbnailWidth, thumbnailHeightGoogle's hosted thumbnail and its size. Always loads, even when the original's host blocks hotlinking.
fileSize, fileSizeBytesFile size as Google shows it ("378KB") and the same in bytes (approximate, as Google rounds it).
dominantColorThe image's main color as a hex code.
publishedAgoHow long ago Google found the image ("2 days ago"). Mostly filled when you use timePeriod.
imageIdGoogle's id for the image, unique within a query.
query, country, language, filters, page, scrapedAtWhere the row came from and when. filters is Google's filter string, e.g. isz:l,itp:photo.

Fill rates measured on Apify over 2,480 images in 5 countries (2026-10-22): imageUrl, width, height, title, sourcePageUrl, sourceDomain, sourceName, thumbnailUrl, fileSize and dominantColor 100%. publishedAgo 1-5% without a time filter, about 20% with one.

How much does it cost to scrape Google Images?

You pay per image saved to the dataset. This price is final:

EventPricePer 1,000
image: one image row$0.0003$0.30

There is no start fee. Nothing is charged for failed pages, retries or repeated images. Platform usage is included in the price. The run stops by itself when it reaches your maximum total charge.

Examples:

  • One query, first 100 images: $0.03.
  • An image dataset: 50 queries × 300 images = 15,000 images = $4.50.
  • Weekly brand check of 20 keywords × 100 images for a month: 8,000 images = $2.40.

Limits

  • About 300 images per query. Google Images stops paging after about 300 to 370 unique images for a busy query. For more, add related queries (synonyms, other languages, site: searches) or other countries.
  • Original URLs live on other sites. imageUrl points to the host site, which may later move the file or refuse hotlinking. thumbnailUrl is served by Google and always loads. This Actor does not download the image files.
  • Speed. Each Google page holds 50 to 100 images and takes 5 to 70 seconds. On Apify, 4 UK queries of 300 images (1,155 images) took under 2 minutes. Queries run in parallel (maxConcurrency).
  • Order. Rows come in Google's order. Paging comes from Google's own pages, so a deep query can end a little under 300 when Google has no more.
  • Licenses. usageRights is Google's own license filter. Always check the license on the source page before you reuse an image.
  • Google can change its pages at any time. The Actor retries failed pages on a fresh connection and says in the status message when a query got no answer.

Use with Python

# pip install apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("datagleaner/google-images-scraper").call(
run_input={"queries": ["golden retriever puppy"], "maxImagesPerQuery": 100, "imageSize": "large"}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item["position"], item["width"], item["height"], item["imageUrl"])

That run returns 100 images for $0.03.

Use with JavaScript / Node.js

// npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('datagleaner/google-images-scraper').call({
queries: ['modern kitchen design'],
country: 'uk',
maxImagesPerQuery: 300,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const img of items) console.log(img.position, img.sourceDomain, img.imageUrl);

Use it from n8n, Make, Zapier or an AI agent

Actor ID: datagleaner/google-images-scraper

Minimal input:

{"queries": ["golden retriever puppy"], "maxImagesPerQuery": 20}

Each tool below runs this Actor with your own Apify API token.

  • n8n: add the Apify node (@apify/n8n-nodes-apify) and choose Run an Actor and get dataset. Set the Actor to datagleaner/google-images-scraper and paste the input above.

  • Make: use the Apify app's Run an Actor module, then Get Dataset Items.

  • Zapier: use the Apify action Run Actor, then the search Fetch dataset items.

  • AI agents (MCP): connect to https://mcp.apify.com?tools=datagleaner/google-images-scraper. In Claude Code:

      claude mcp add --transport http apify "https://mcp.apify.com?tools=datagleaner/google-images-scraper"
    

    Then run /mcp to sign in to Apify, and ask in plain language. For example: "Use the Google Images scraper to find 50 large Creative Commons photos of the Eiffel Tower and list their sizes and source sites."

FAQ

Is there a Google Images API? Google offers no official API for Google Images results. This Actor works like one: send queries, get JSON back, through the Apify API, its clients, or the integrations above.

How do I get the full-size image and not the thumbnail? Use imageUrl. It is the original file on the host site, with its real width and height. thumbnailUrl is Google's small preview.

Can I search Google Images in other countries and languages? Yes. Set country (43 of them) and language, and write the query in that language, for example 桜 写真 with country: jp and language: ja.

Can I filter by size, type, color, date or license? Yes, with imageSize, imageType, imageColor, timePeriod and usageRights. They are Google's own filters and can be combined.

How many images can I get per search? Up to about 300, which is as far as Google Images pages. Split a broad subject into narrower queries for more.

Does it download the images? No. It returns the URLs, sizes and metadata. Download the files yourself from imageUrl (or thumbnailUrl) if you need them, and respect each image's license.

Do I need a Google account, API key or proxy? No. Everything runs on Apify. You only need an Apify account.

Responsible use

This Actor collects only what Google Images shows publicly: image links, sizes, titles and the pages they come from. Images are usually protected by copyright, and some show people. You are responsible for how you use the results, including copyright and licensing, and any data protection rules that apply to images of people where you work. Check each image's license on its source page before you reuse it. This is not legal advice.

Feedback

If this Actor saved you time, a rating on its Store page helps others find it. Problems or requests: open an issue on the Issues tab.