# Google Images Scraper (`solidcode/google-images-scraper`) Actor

\[💰 $2.0/1K] Extract image results from Google Imagesm image URLs, thumbnails, dimensions, titles, source pages, and domains. Batch multiple queries, paste full image-search URLs, and filter by size, color, type, aspect ratio, time, and usage rights. Localized across 45+ countries and 20+ languages.

- **URL**: https://apify.com/solidcode/google-images-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Developer tools, Automation, SEO tools
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Google Images Scraper

Extract image search results from Google Images at scale — full-resolution image URLs, thumbnails, dimensions, source pages, domains, titles, and Google's own "Related searches" suggestions. Run one keyword or a batch of hundreds; filter by size, color, type, aspect, time window, usage license, and SafeSearch. Built for marketing teams, researchers, e-commerce catalogs, and ML dataset builders who need clean, structured image data without clicking through Google one tile at a time.

### Why This Scraper?

- **Flat, structured output** — one row per image with a direct `imageUrl`, `sourceUrl`, dimensions, source domain, and title. Ready for a spreadsheet or database with zero post-processing.
- **Every Google filter, in a dropdown** — size, color (full palette + transparent background + B&W), type (photo, clip art, line drawing, GIF), aspect ratio (tall, square, wide, panoramic), time window, usage rights, and SafeSearch.
- **Batch queries in a single run** — drop in dozens of keywords and get a tagged dataset with a `query` column for easy grouping.
- **Paste any Google Images URL** — already crafted a perfect search in your browser? Paste the URL and we'll use it as-is, preserving every filter you set.
- **"Related searches" enrichment** — optionally emit a bonus row per query containing Google's own suggested follow-up searches. Gold for keyword research and trend discovery.
- **Every country Google supports and full language coverage** — pick the regional Google frontend that matches your market, from the United States and United Kingdom to Japan, Brazil, and everywhere in between.
- **Lowest price on Apify** — $2.00 per 1,000 results, no hidden fees.
- **Works with minimal input** — provide a single keyword and get ~100 results with sensible defaults. Power users can dial in every filter.

### Use Cases

**Marketing, Creative & Content**
- Build mood boards and visual inspiration libraries for a brand, product, or campaign
- Source on-brand stock imagery filtered by dominant color to match a design palette
- Monitor how a product, logo, or campaign is being depicted across the web

**E-commerce & Product Catalogs**
- Pull reference imagery for new product listings from a list of SKU names
- Collect competitor product photos at scale for merchandising research
- Find packaging, label, and lifestyle shots by searching brand + product terms

**Market & Consumer Research**
- Visualize regional differences by running the same query across multiple country codes
- Track how a trending topic or meme is being visually represented
- Use the "Related searches" output for keyword expansion and interest discovery

**SEO & Digital Marketing**
- Audit which domains dominate Google Images for your target keywords
- Extract source URLs to understand which pages Google is rewarding with image visibility
- Build a competitive map of domains ranking for branded and non-branded terms

**Research, ML & Datasets**
- Build training sets filtered by Creative Commons license for computer-vision projects
- Collect visual references for academic research, journalism, or trend reports
- Seed image recognition pipelines with curated, query-tagged source data

**Brand & IP Monitoring**
- Surface third-party sites using your brand imagery
- Track visual use of your name, product, or trademark across the open web
- Discover new platforms where your content is appearing

### Getting Started

#### Simple Search

The fastest way to start — just a keyword:

```json
{
    "queries": ["golden retriever puppies"],
    "maxResultsPerQuery": 100
}
````

#### Multi-Query with Filters

Run several queries at once with specific filters applied to every one:

```json
{
    "queries": ["minimalist kitchen", "scandinavian living room", "japandi bedroom"],
    "maxResultsPerQuery": 200,
    "imageSize": "large",
    "imageType": "photo",
    "aspectRatio": "wide",
    "usageRights": "creativeCommons",
    "safeSearch": "moderate",
    "country": "us",
    "language": "en",
    "includeRelatedQueries": true
}
```

#### Paste a Google Images URL

Already built the perfect search in Google's UI? Copy the URL from your browser bar and drop it in:

```json
{
    "searchUrls": [
        "https://www.google.com/search?q=sunset+over+mountains&udm=2&tbs=isz:l,itp:photo,ic:specific,isc:orange"
    ],
    "maxResultsPerQuery": 150
}
```

Any filters already encoded in the URL are preserved exactly as you set them.

#### Localized Search

Run the same query against a different regional Google frontend:

```json
{
    "queries": ["kuchen"],
    "country": "de",
    "language": "de",
    "maxResultsPerQuery": 100
}
```

### Input Reference

#### Search

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `queries` | string\[] | `["golden retriever puppies"]` | Keywords to search on Google Images. Each query runs independently and returns its own set of images. Leave empty if you only want to scrape pasted image-search URLs. |
| `searchUrls` | string\[] | `[]` | Optional: paste full Google Images result URLs. Any filters already encoded in the URL are preserved. |

#### Results

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResultsPerQuery` | integer | `100` | Maximum number of images to return per query or URL. Set to `0` for all available results. Range: 0–1000. |

#### Filters

All filters are optional — leave on the defaults for no filter.

| Parameter | Type | Default | Options (enumTitles) |
|-----------|------|---------|----------------------|
| `imageSize` | string | `any` | Any size, Large, Medium, Icon |
| `imageColor` | string | `any` | Any color, Full color, Black and white, Transparent background, Red, Orange, Yellow, Green, Teal, Blue, Purple, Pink, White, Gray, Black, Brown |
| `imageType` | string | `any` | Any type, Photo, Clip art, Line drawing, GIF, Animated |
| `aspectRatio` | string | `any` | Any aspect, Tall (portrait), Square, Wide (landscape), Panoramic |
| `timePeriod` | string | `anytime` | Anytime, Past hour, Past 24 hours, Past week, Past month, Past year |
| `usageRights` | string | `any` | Any license, Creative Commons licenses, Commercial & other licenses |
| `safeSearch` | string | `off` | Off, Moderate, Strict |

> **License note:** the `usageRights` filter surfaces images Google has classified under each license bucket. Always verify the license directly at the source page before using any image commercially.

#### Localization

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `language` | string | `en` | Language of the Google Images interface. Full coverage of every language Google supports — English, Spanish, German, French, Italian, Portuguese (including Brazilian Portuguese), Chinese (Simplified and Traditional), Japanese, Korean, Arabic, Hindi, and roughly 200 more. Affects result titles and the interface locale. |
| `country` | string | `us` | Country code for localized results. Every country Google supports — 250 options including United States, United Kingdom, Canada, Australia, France, Germany, Spain, Italy, Japan, South Korea, Brazil, Mexico, India, and everywhere in between. |

#### Enrichment

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeRelatedQueries` | boolean | `false` | Also emit a row per query containing Google's "Related searches" suggestions. Useful for keyword expansion and trend research. |

### Output

The dataset contains two kinds of rows, distinguished by the `recordType` field:

- `recordType: "image"` — one row per image result (the default, always emitted).
- `recordType: "relatedQueries"` — one row per query, containing Google's "Related searches" suggestions (only emitted when `includeRelatedQueries: true`).

#### Image record example

```json
{
    "recordType": "image",
    "query": "golden retriever puppies",
    "position": 1,
    "title": "Golden Retriever Puppy Playing in the Grass",
    "imageUrl": "https://example-media.com/uploads/puppy-hero.jpg",
    "imageWidth": 1600,
    "imageHeight": 1067,
    "thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9Gc...",
    "thumbnailWidth": 276,
    "thumbnailHeight": 183,
    "sourceUrl": "https://example-media.com/blog/golden-retriever-puppies",
    "sourceDomain": "example-media.com",
    "sourceTitle": "Golden Retriever Puppies — A Complete Guide",
    "imageBytes": "214KB",
    "googleUrl": "https://www.google.com/imgres?docid=abc123...",
    "searchUrl": "https://www.google.com/search?q=golden+retriever+puppies&udm=2&gl=us&hl=en&start=0",
    "docid": "0wJpF3VkXlABcM",
    "scrapedAt": "2026-04-22T14:32:11Z"
}
```

#### Image fields

| Field | Type | Description |
|-------|------|-------------|
| `recordType` | string | Always `"image"` for image rows |
| `query` | string | The keyword or auto-extracted query text this result belongs to |
| `position` | integer | 1-based rank of the image within its query |
| `title` | string | Image title / alt text as surfaced by Google |
| `imageUrl` | string | Direct URL to the full-resolution image |
| `imageWidth` | integer | Full-resolution image width in pixels |
| `imageHeight` | integer | Full-resolution image height in pixels |
| `thumbnailUrl` | string | Google-hosted thumbnail URL (always CDN-stable) |
| `thumbnailWidth` | integer | Thumbnail width in pixels |
| `thumbnailHeight` | integer | Thumbnail height in pixels |
| `sourceUrl` | string | URL of the source page where the image was found |
| `sourceDomain` | string | Hostname of the source page (e.g. `example-media.com`) |
| `sourceTitle` | string | Title of the source page |
| `imageBytes` | string | Human-readable file size reported by Google (e.g. `"214KB"`) |
| `googleUrl` | string | Google's internal image preview URL (opens the in-Google image viewer) |
| `searchUrl` | string | The exact Google Images URL this result was scraped from (query + filters + pagination) |
| `docid` | string | Google's internal document identifier for the image (stable join key) |
| `scrapedAt` | string | ISO 8601 UTC timestamp of when the row was collected |

#### Related-queries record example

```json
{
    "recordType": "relatedQueries",
    "query": "nike shoes",
    "relatedQueries": ["Air max", "Air force", "High top", "Sneaker", "Basketball"],
    "scrapedAt": "2026-04-22T14:32:47Z"
}
```

#### Related-queries fields

| Field | Type | Description |
|-------|------|-------------|
| `recordType` | string | Always `"relatedQueries"` for these rows |
| `query` | string | The source query that Google suggested these refinements for |
| `relatedQueries` | string\[] | Array of Google's "Related searches" suggestions for the source query |
| `scrapedAt` | string | ISO 8601 UTC timestamp of when the row was collected |

### Tips for Best Results

- **Google caps at roughly 260 unique images per query.** This is a platform-wide limit — the same cap applies whether you scroll Google Images yourself or use any tool. If you need more results, split broad queries into more specific variants (e.g. `"nike air max"` + `"nike air force"` + `"nike dunk"` instead of just `"nike shoes"`) and run them in a single batch.
- **Use `searchUrls` for power-user filters.** Google's UI exposes some advanced combinations (e.g. specific colors + aspect + license + time window) that are easier to build visually. Compose the search in your browser, copy the URL, and paste it into `searchUrls` — every filter is preserved.
- **Match `country` and `language` for cleanest locale results.** Setting `country: "de"` with `language: "de"` returns German-hosted results with German interface strings. Mixing `country: "de"` with `language: "en"` still works but can return mixed signals.
- **Enable `includeRelatedQueries` once per topic.** Running a query with this flag on gives you both image results AND Google's keyword expansion list — a cheap way to discover adjacent search terms without a separate run.
- **Start small, then scale.** For a new keyword, try `maxResultsPerQuery: 50` first to confirm the results look right. Once the filters are dialed in, bump it to 200–260 per query.
- **Always verify licenses at the source.** The `usageRights` filter reflects how Google classifies each image, but licensing can change. Before using any image commercially, click through to `sourceUrl` and confirm the license on the hosting page.

### Good to Know

- **~260 results-per-query cap:** Google Images returns at most about 260 unique results for any single query, no matter how high you set `maxResultsPerQuery`. The actor detects the end of the result set and stops early rather than spinning on empty pages.
- **`searchUrls` accepts any Google Images URL** — including URLs with advanced `tbs=` filters built in Google's UI. The actor extracts the query text automatically and preserves every filter.
- **Empty input is handled gracefully.** Running with no queries and no URLs exits cleanly with a friendly status message — no crash, no error.
- **Two record types in one dataset.** Filter on `recordType == "image"` for the image rows, or `recordType == "relatedQueries"` for the keyword-expansion rows. The dataset preview has separate views for each.

### Pricing

**$2.00 per 1,000 results** — the lowest price on Apify for Google Images data.

| Results | Estimated Cost |
|---------|----------------|
| 100 | $0.20 |
| 1,000 | $2.00 |
| 10,000 | $20.00 |
| 100,000 | $200.00 |

Platform fees (compute, storage) are additional and depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Custom notifications when a run completes
- **Apify API** — Full programmatic access to runs and datasets

### Legal & Ethical Use

This actor is designed for legitimate market research, competitive analysis, creative inspiration, and dataset building. Users are responsible for complying with applicable laws and Google's Terms of Service. Image copyright belongs to the original creator — always verify licensing at the source page before reusing any image commercially. Do not use extracted data for spam, harassment, copyright infringement, or any illegal purpose.

# Actor input Schema

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

Keywords to search on Google Images (e.g., 'golden retriever puppies' or 'minimalist kitchen'). Each query runs independently and returns its own set of images. Maximum 100 queries and URLs combined per run — split larger batches across multiple runs. Leave empty if you only want to scrape pasted image-search URLs.

## `searchUrls` (type: `array`):

Optional: paste full Google Images result URLs (e.g., 'https://www.google.com/search?q=sunset\&udm=2\&tbm=isch'). Any filters already encoded in the URL are preserved, so this is handy for power users who built a search in Google's UI. Maximum 100 queries and URLs combined per run.

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

Maximum number of images to return per query or URL. Set to 0 for all available results. Google Images caps each query at roughly 260 unique images — values above that return whatever Google has available, never more.

## `imageSize` (type: `string`):

Filter by full-resolution size.

## `imageColor` (type: `string`):

Filter by dominant color. 'Transparent' returns images with alpha channels (usually PNG).

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

Filter by image type.

## `aspectRatio` (type: `string`):

Filter by image orientation / aspect ratio.

## `timePeriod` (type: `string`):

Only include images indexed within this time window.

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

Filter by license. 'Creative Commons' includes all CC-licensed images; 'Commercial & other licenses' surfaces images marked for commercial use. Always verify the license directly at the source page before using any image commercially.

## `safeSearch` (type: `string`):

Google's SafeSearch filter. 'Off' disables filtering entirely; 'Moderate' and 'Strict' both enable SafeSearch (Google itself no longer distinguishes the two in image search — both hide explicit results).

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

Language of the Google Images interface (hl parameter). Affects result titles and the interface locale.

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

Country code (gl) for localized results. Affects which regional Google frontend is used.

## `includeRelatedQueries` (type: `boolean`):

Also emit a row per query containing Google's 'Related searches' suggestions. Useful for keyword expansion and trend research.

## Actor input object example

```json
{
  "queries": [
    "golden retriever puppies"
  ],
  "searchUrls": [],
  "maxResultsPerQuery": 100,
  "imageSize": "any",
  "imageColor": "any",
  "imageType": "any",
  "aspectRatio": "any",
  "timePeriod": "anytime",
  "usageRights": "any",
  "safeSearch": "off",
  "language": "en",
  "country": "us",
  "includeRelatedQueries": false
}
```

# Actor output Schema

## `images` (type: `string`):

Table of image results with title, URL, dimensions, and source info.

## `related` (type: `string`):

Rows of related-search suggestions per query (only present when 'Include Related Queries' is enabled).

# 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 puppies"
    ],
    "searchUrls": [],
    "maxResultsPerQuery": 100,
    "imageSize": "any",
    "imageColor": "any",
    "imageType": "any",
    "aspectRatio": "any",
    "timePeriod": "anytime",
    "usageRights": "any",
    "safeSearch": "off",
    "language": "en",
    "country": "us",
    "includeRelatedQueries": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/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 puppies"],
    "searchUrls": [],
    "maxResultsPerQuery": 100,
    "imageSize": "any",
    "imageColor": "any",
    "imageType": "any",
    "aspectRatio": "any",
    "timePeriod": "anytime",
    "usageRights": "any",
    "safeSearch": "off",
    "language": "en",
    "country": "us",
    "includeRelatedQueries": False,
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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 puppies"
  ],
  "searchUrls": [],
  "maxResultsPerQuery": 100,
  "imageSize": "any",
  "imageColor": "any",
  "imageType": "any",
  "aspectRatio": "any",
  "timePeriod": "anytime",
  "usageRights": "any",
  "safeSearch": "off",
  "language": "en",
  "country": "us",
  "includeRelatedQueries": false
}' |
apify call solidcode/google-images-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solidcode/google-images-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Images Scraper",
        "description": "[💰 $2.0/1K] Extract image results from Google Imagesm image URLs, thumbnails, dimensions, titles, source pages, and domains. Batch multiple queries, paste full image-search URLs, and filter by size, color, type, aspect ratio, time, and usage rights. Localized across 45+ countries and 20+ languages.",
        "version": "1.1",
        "x-build-id": "HTgUBS7hFYmwkeDAU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~google-images-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-google-images-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/solidcode~google-images-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-google-images-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/solidcode~google-images-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-google-images-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "queries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Keywords to search on Google Images (e.g., 'golden retriever puppies' or 'minimalist kitchen'). Each query runs independently and returns its own set of images. Maximum 100 queries and URLs combined per run — split larger batches across multiple runs. Leave empty if you only want to scrape pasted image-search URLs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchUrls": {
                        "title": "Image Search URLs",
                        "type": "array",
                        "description": "Optional: paste full Google Images result URLs (e.g., 'https://www.google.com/search?q=sunset&udm=2&tbm=isch'). Any filters already encoded in the URL are preserved, so this is handy for power users who built a search in Google's UI. Maximum 100 queries and URLs combined per run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResultsPerQuery": {
                        "title": "Maximum Results per Query",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of images to return per query or URL. Set to 0 for all available results. Google Images caps each query at roughly 260 unique images — values above that return whatever Google has available, never more.",
                        "default": 100
                    },
                    "imageSize": {
                        "title": "Image Size",
                        "enum": [
                            "any",
                            "large",
                            "medium",
                            "icon"
                        ],
                        "type": "string",
                        "description": "Filter by full-resolution size.",
                        "default": "any"
                    },
                    "imageColor": {
                        "title": "Image Color",
                        "enum": [
                            "any",
                            "color",
                            "blackAndWhite",
                            "transparent",
                            "red",
                            "orange",
                            "yellow",
                            "green",
                            "teal",
                            "blue",
                            "purple",
                            "pink",
                            "white",
                            "gray",
                            "black",
                            "brown"
                        ],
                        "type": "string",
                        "description": "Filter by dominant color. 'Transparent' returns images with alpha channels (usually PNG).",
                        "default": "any"
                    },
                    "imageType": {
                        "title": "Image Type",
                        "enum": [
                            "any",
                            "photo",
                            "clipart",
                            "lineDrawing",
                            "gif",
                            "animated"
                        ],
                        "type": "string",
                        "description": "Filter by image type.",
                        "default": "any"
                    },
                    "aspectRatio": {
                        "title": "Aspect Ratio",
                        "enum": [
                            "any",
                            "tall",
                            "square",
                            "wide",
                            "panoramic"
                        ],
                        "type": "string",
                        "description": "Filter by image orientation / aspect ratio.",
                        "default": "any"
                    },
                    "timePeriod": {
                        "title": "Time Period",
                        "enum": [
                            "anytime",
                            "pastHour",
                            "pastDay",
                            "pastWeek",
                            "pastMonth",
                            "pastYear"
                        ],
                        "type": "string",
                        "description": "Only include images indexed within this time window.",
                        "default": "anytime"
                    },
                    "usageRights": {
                        "title": "Usage Rights",
                        "enum": [
                            "any",
                            "creativeCommons",
                            "commercialAndOtherLicenses"
                        ],
                        "type": "string",
                        "description": "Filter by license. 'Creative Commons' includes all CC-licensed images; 'Commercial & other licenses' surfaces images marked for commercial use. Always verify the license directly at the source page before using any image commercially.",
                        "default": "any"
                    },
                    "safeSearch": {
                        "title": "SafeSearch",
                        "enum": [
                            "off",
                            "moderate",
                            "strict"
                        ],
                        "type": "string",
                        "description": "Google's SafeSearch filter. 'Off' disables filtering entirely; 'Moderate' and 'Strict' both enable SafeSearch (Google itself no longer distinguishes the two in image search — both hide explicit results).",
                        "default": "off"
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "ab",
                            "aa",
                            "af",
                            "ak",
                            "sq",
                            "am",
                            "ar",
                            "an",
                            "hy",
                            "as",
                            "av",
                            "ae",
                            "ay",
                            "az",
                            "bm",
                            "ba",
                            "eu",
                            "be",
                            "bn",
                            "bi",
                            "bs",
                            "br",
                            "bg",
                            "my",
                            "ca",
                            "ch",
                            "ce",
                            "ny",
                            "zh",
                            "zh-hk",
                            "zh-cn",
                            "zh-tw",
                            "cv",
                            "kw",
                            "co",
                            "cr",
                            "hr",
                            "cs",
                            "da",
                            "dv",
                            "nl",
                            "nl-be",
                            "nl-nl",
                            "dz",
                            "en",
                            "en-gb",
                            "en-us",
                            "eo",
                            "et",
                            "ee",
                            "fo",
                            "fj",
                            "fi",
                            "fr",
                            "fr-ca",
                            "fr-fr",
                            "ff",
                            "gl",
                            "lg",
                            "ka",
                            "de",
                            "de-at",
                            "de-de",
                            "de-ch",
                            "el",
                            "gn",
                            "gu",
                            "ht",
                            "ha",
                            "he",
                            "hz",
                            "hi",
                            "ho",
                            "hu",
                            "is",
                            "io",
                            "ig",
                            "id",
                            "ia",
                            "ie",
                            "iu",
                            "ik",
                            "ga",
                            "it",
                            "it-it",
                            "ja",
                            "jv",
                            "kl",
                            "kn",
                            "kr",
                            "ks",
                            "kk",
                            "km",
                            "ki",
                            "rw",
                            "kv",
                            "kg",
                            "ko",
                            "kj",
                            "ku",
                            "ky",
                            "lo",
                            "la",
                            "lv",
                            "li",
                            "ln",
                            "lt",
                            "lu",
                            "lb",
                            "mk",
                            "mg",
                            "ms",
                            "ml",
                            "mt",
                            "gv",
                            "mi",
                            "mr",
                            "mh",
                            "mn",
                            "na",
                            "nv",
                            "ng",
                            "ne",
                            "nd",
                            "se",
                            "no",
                            "nb",
                            "nn",
                            "oc",
                            "or",
                            "oj",
                            "cu",
                            "om",
                            "os",
                            "pi",
                            "ps",
                            "fa",
                            "pl",
                            "pt",
                            "pt-br",
                            "pt-pt",
                            "pa",
                            "qu",
                            "ro",
                            "rm",
                            "rn",
                            "ru",
                            "sm",
                            "sg",
                            "sa",
                            "sc",
                            "gd",
                            "sr",
                            "sr-cyrl",
                            "sr-latn",
                            "sh",
                            "sn",
                            "ii",
                            "sd",
                            "si",
                            "sk",
                            "sl",
                            "so",
                            "nr",
                            "st",
                            "es",
                            "es-ar",
                            "es-cl",
                            "es-co",
                            "es-mx",
                            "es-pe",
                            "es-es",
                            "es-ve",
                            "su",
                            "sw",
                            "ss",
                            "sv",
                            "tl",
                            "ty",
                            "tg",
                            "ta",
                            "tt",
                            "te",
                            "th",
                            "bo",
                            "ti",
                            "to",
                            "ts",
                            "tn",
                            "tr",
                            "tk",
                            "tw",
                            "uk",
                            "ur",
                            "ug",
                            "uz",
                            "ve",
                            "vi",
                            "vo",
                            "wa",
                            "cy",
                            "fy",
                            "wo",
                            "xh",
                            "yi",
                            "yo",
                            "za",
                            "zu"
                        ],
                        "type": "string",
                        "description": "Language of the Google Images interface (hl parameter). Affects result titles and the interface locale.",
                        "default": "en"
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "af",
                            "al",
                            "dz",
                            "as",
                            "ad",
                            "ao",
                            "ai",
                            "aq",
                            "ag",
                            "ar",
                            "am",
                            "aw",
                            "au",
                            "at",
                            "az",
                            "bs",
                            "bh",
                            "bd",
                            "bb",
                            "by",
                            "be",
                            "bz",
                            "bj",
                            "bm",
                            "bt",
                            "bo",
                            "ba",
                            "bw",
                            "bv",
                            "br",
                            "io",
                            "bn",
                            "bg",
                            "bf",
                            "bi",
                            "cv",
                            "kh",
                            "cm",
                            "ca",
                            "bq",
                            "ky",
                            "cf",
                            "td",
                            "cl",
                            "cn",
                            "cx",
                            "cc",
                            "co",
                            "km",
                            "ck",
                            "cr",
                            "hr",
                            "cu",
                            "cw",
                            "cy",
                            "cz",
                            "ci",
                            "cd",
                            "dk",
                            "dj",
                            "dm",
                            "do",
                            "ec",
                            "eg",
                            "sv",
                            "gq",
                            "er",
                            "ee",
                            "sz",
                            "et",
                            "fk",
                            "fo",
                            "fj",
                            "fi",
                            "fr",
                            "gf",
                            "pf",
                            "tf",
                            "ga",
                            "gm",
                            "ge",
                            "de",
                            "gh",
                            "gi",
                            "gr",
                            "gl",
                            "gd",
                            "gp",
                            "gu",
                            "gt",
                            "gg",
                            "gn",
                            "gw",
                            "gy",
                            "ht",
                            "hm",
                            "hn",
                            "hk",
                            "hu",
                            "is",
                            "in",
                            "id",
                            "ir",
                            "iq",
                            "ie",
                            "im",
                            "il",
                            "it",
                            "jm",
                            "jp",
                            "je",
                            "jo",
                            "kz",
                            "ke",
                            "ki",
                            "kw",
                            "kg",
                            "la",
                            "lv",
                            "lb",
                            "ls",
                            "lr",
                            "ly",
                            "li",
                            "lt",
                            "lu",
                            "mo",
                            "mg",
                            "mw",
                            "my",
                            "mv",
                            "ml",
                            "mt",
                            "mh",
                            "mq",
                            "mr",
                            "mu",
                            "yt",
                            "mx",
                            "fm",
                            "md",
                            "mc",
                            "mn",
                            "me",
                            "ms",
                            "ma",
                            "mz",
                            "mm",
                            "na",
                            "nr",
                            "np",
                            "nl",
                            "nc",
                            "nz",
                            "ni",
                            "ne",
                            "ng",
                            "nu",
                            "nf",
                            "kp",
                            "mk",
                            "mp",
                            "no",
                            "om",
                            "pk",
                            "pw",
                            "ps",
                            "pa",
                            "pg",
                            "py",
                            "pe",
                            "ph",
                            "pn",
                            "pl",
                            "pt",
                            "pr",
                            "qa",
                            "cg",
                            "ro",
                            "ru",
                            "rw",
                            "re",
                            "bl",
                            "sh",
                            "kn",
                            "lc",
                            "mf",
                            "pm",
                            "vc",
                            "ws",
                            "sm",
                            "st",
                            "sa",
                            "sn",
                            "rs",
                            "sc",
                            "sl",
                            "sg",
                            "sx",
                            "sk",
                            "si",
                            "sb",
                            "so",
                            "za",
                            "gs",
                            "kr",
                            "ss",
                            "es",
                            "lk",
                            "sd",
                            "sr",
                            "sj",
                            "se",
                            "ch",
                            "sy",
                            "tw",
                            "tj",
                            "tz",
                            "th",
                            "tl",
                            "tg",
                            "tk",
                            "to",
                            "tt",
                            "tn",
                            "tm",
                            "tc",
                            "tv",
                            "tr",
                            "ug",
                            "ua",
                            "ae",
                            "gb",
                            "uk",
                            "us",
                            "um",
                            "uy",
                            "uz",
                            "vu",
                            "va",
                            "ve",
                            "vn",
                            "vg",
                            "vi",
                            "wf",
                            "eh",
                            "ye",
                            "zm",
                            "zw",
                            "ax"
                        ],
                        "type": "string",
                        "description": "Country code (gl) for localized results. Affects which regional Google frontend is used.",
                        "default": "us"
                    },
                    "includeRelatedQueries": {
                        "title": "Include Related Queries",
                        "type": "boolean",
                        "description": "Also emit a row per query containing Google's 'Related searches' suggestions. Useful for keyword expansion and trend research.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
