# Google Images Scraper — Image URLs, Sizes & Source Pages (`hipersoft/google-images-scraper`) Actor

Scrape Google Images by keyword: full-size image URL, width and height, thumbnail, title, source page and domain. Filter by size, type, color and usage rights. Bulk searches, any country and language, for datasets, research and AI.

- **URL**: https://apify.com/hipersoft/google-images-scraper.md
- **Developed by:** [Hipersoft](https://apify.com/hipersoft) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0015 / image scraped

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Google Images Scraper — Image URLs, Sizes & Source Pages

**Google Images Scraper** extracts image results from Google Images in bulk: **full-size image URL, width and height, thumbnail, title, source page and domain, file size and dominant color**. Filter by **size, type, color and usage rights**, run many searches at once, and export to JSON, CSV or Excel.

![Google Images Scraper input — searches, size, type, color and usage rights](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/google-images-scraper-input.png?v=1)

### What does Google Images Scraper do?

Give it search terms and it returns one row per image result, with the link to the original image and the page it came from. It returns links and details, not the image files. To save the files, feed `imageUrl` into [Bulk Image Downloader](https://apify.com/hipersoft/bulk-image-downloader).

### What data can you scrape from Google Images?

| Data | Fields |
| --- | --- |
| Image | `imageUrl`, `imageWidth`, `imageHeight`, `fileSize`, `dominantColor` |
| Thumbnail | `thumbnailUrl`, `thumbnailWidth`, `thumbnailHeight` |
| Source | `title`, `sourcePageUrl`, `sourceDomain`, `sourceName` |
| Context | `query`, `position`, `googleImageId`, `collectedAt` |

### Use cases

- **AI and computer vision:** build image datasets from many searches.
- **Brand monitoring:** see which sites show your products or logo.
- **Market research:** study how a product is shown across shops.
- **SEO:** see which pages rank for your image searches.
- **Content research:** find reference images and where they come from.

### How to scrape Google Images

1. Open Google Images Scraper.
2. Add your **image searches**.
3. Pick any filters, and a **country** and **language** if you need them.
4. Click **Start**.
5. Export the results, or send `imageUrl` to a downloader.

### How many images do I get per search?

**Up to about 200 images per search.** A test asking for 600 returned 191 unique images, because Google stops offering new ones after that. To collect more, use more specific searches or combine filters. You pay only for images delivered.

### Input

```json
{
  "queries": ["mountain lake", "alpine lake"],
  "size": "large",
  "imageType": "photo",
  "usageRights": "creative_commons",
  "excludeDomains": ["pinterest.com"],
  "maxResultsPerQuery": 100
}
```

| Field | Description |
| --- | --- |
| `queries` | What to search for. |
| `maxResultsPerQuery` | Images per search (default 100, about 200 at most). |
| `size` | `any`, `large`, `medium` or `icon`. |
| `imageType` | `any`, `photo`, `clipart`, `lineart` or `animated`. |
| `color` | `any`, `color`, `grayscale`, `transparent`, or a color such as `red` or `blue`. |
| `usageRights` | `any`, `creative_commons` or `commercial`. |
| `excludeDomains` | Sites to leave out. |
| `safeSearch` | Filter explicit results. |
| `country` / `language` | Two-letter codes (default `us`, `en`). |

### Output

A real row from a test run.

![Google Images Scraper output example — thumbnails, sizes, source sites and links](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/google-images-scraper-output.png?v=1)

```json
{
  "query": "mountain lake",
  "position": 1,
  "title": "File:Mountain lake in Switzerland.jpg - Wikimedia Commons",
  "imageUrl": "https://upload.wikimedia.org/wikipedia/commons/0/06/Mountain_lake_in_Switzerland.jpg?utm_source=commons.wikimedia.org&utm_campaign=index&utm_content=original",
  "imageWidth": 1200,
  "imageHeight": 1600,
  "thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSoBqlbAYLAWxeH_vMX3WZQ_y7zHXvcdeQ00iI6L0GLjw&s=10",
  "thumbnailWidth": 387,
  "thumbnailHeight": 516,
  "sourcePageUrl": "https://commons.wikimedia.org/wiki/File:Mountain_lake_in_Switzerland.jpg",
  "sourceDomain": "commons.wikimedia.org",
  "sourceName": "Wikimedia Commons",
  "fileSize": "541KB",
  "dominantColor": "rgb(60,172,169)",
  "googleImageId": "-3NBJaOn6q_yXM",
  "collectedAt": "2026-11-04T16:07:46.269Z"
}
```

#### Output schema

| Field | Type | Description |
| --- | --- | --- |
| `query` | string | The search. |
| `position` | integer | Position in the results for this search. |
| `title` | string | Title of the source page. |
| `imageUrl` | string (URL) | Link to the original image. |
| `imageWidth` / `imageHeight` | integer | Original size in pixels. |
| `thumbnailUrl` | string (URL) | Small preview image. |
| `thumbnailWidth` / `thumbnailHeight` | integer | Preview size in pixels. |
| `sourcePageUrl` | string (URL) | Page the image appears on. |
| `sourceDomain` | string | Site of that page. |
| `sourceName` | string | Site name, when shown. |
| `fileSize` | string | File size as shown. |
| `dominantColor` | string | Main color of the image. |
| `googleImageId` | string | Google's ID for this result. |
| `collectedAt` | string (ISO date) | When the row was collected. |

### Need the image files too?

- [Bulk Image Downloader](https://apify.com/hipersoft/bulk-image-downloader): download image URLs to stored files.
- [Website Image Downloader](https://apify.com/hipersoft/website-image-downloader): download every image from a web page or site.
- [Google Search Scraper](https://apify.com/hipersoft/google-search-scraper): web results, ads and more.

### FAQ

**How much does it cost?**
You pay per image delivered, shown on the **Pricing** tab. Set a maximum cost per run and it stops cleanly at that limit, storing only what you paid for.

**Can I use these images freely?**
Not automatically. Images belong to their owners. The **Usage rights** filter uses what the search reports, so always check the license on the source page before reusing an image.

**Does it download the images?**
No, it returns links and details. Use [Bulk Image Downloader](https://apify.com/hipersoft/bulk-image-downloader) for the files.

**Why did I get fewer images than my maximum?**
Each search reaches about 200 images at most. Very specific filters can return fewer.

**Can I connect this to other tools?**
Yes, through [integrations on the Apify platform](https://apify.com/integrations): [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), [Airbyte](https://docs.apify.com/platform/integrations/airbyte), [GitHub](https://docs.apify.com/platform/integrations/github), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2) and [webhooks](https://docs.apify.com/platform/integrations/webhooks).

**Is it legal to scrape Google Images?**
It returns publicly listed results. You are responsible for how you use them, including copyright and each site's terms.

### Feedback

How did it go? Good or bad, a [review](https://console.apify.com/actors/f9al2WB6GhHhH50NY/reviews) helps other users decide and tells us what to improve. Something broken or missing? Open an [issue](https://apify.com/hipersoft/google-images-scraper/issues) and we'll look at it.

### Related Actors

- [Bulk Image Downloader](https://apify.com/hipersoft/bulk-image-downloader)
- [Website Image Downloader](https://apify.com/hipersoft/website-image-downloader)
- [Google Search Scraper](https://apify.com/hipersoft/google-search-scraper)

### Notes

Independent tool, not affiliated with Google. Returns only public data; you are responsible for how you use it.

# Actor input Schema

## `queries` (type: `array`):

What to search for, one per line.

## `maxResultsPerQuery` (type: `integer`):

How many images to collect per search.

## `size` (type: `string`):

Image size.

## `imageType` (type: `string`):

Image type.

## `color` (type: `string`):

Image color.

## `usageRights` (type: `string`):

Filter by license as reported by the search. Always check the license on the source page.

## `excludeDomains` (type: `array`):

Drop images from these sites. Example: pinterest.com.

## `safeSearch` (type: `boolean`):

Filter explicit results.

## `country` (type: `string`):

Two-letter country to search from.

## `language` (type: `string`):

Two-letter language code.

## Actor input object example

```json
{
  "queries": [
    "golden retriever"
  ],
  "maxResultsPerQuery": 100,
  "size": "any",
  "imageType": "any",
  "color": "any",
  "usageRights": "any",
  "safeSearch": false,
  "country": "us",
  "language": "en"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "golden retriever"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/google-images-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "queries": ["golden retriever"] }

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/google-images-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": [
    "golden retriever"
  ]
}' |
apify call hipersoft/google-images-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/google-images-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/f9al2WB6GhHhH50NY/builds/q3VPbLYdcTbeCnkjt/openapi.json
