# Google Images Search Scraper (`burbn/google-images-search`) Actor

Real-time Google Images SERP Data Extractor API. Scrape HD image URLs, thumbnail links, exact dimensions, source domain details & Creative Commons licenses with zero proxy setup needed.

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

## Pricing

from $3.00 / 1,000 results

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

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Search – Image Data Extractor & Scraper

**Search Google Images by keyword and extract image data including URLs, dimensions, source info, thumbnails, and metadata. Supports advanced filters for size, color, type, aspect ratio, file type, time range, usage rights, safe search, and region targeting. Built with Apify best practices for reliability and speed.**

***

### Table of Contents

- [Features](#features)
- [Use Cases](#use-cases)
- [Quick Start](#quick-start)
- [Input Parameters](#input-parameters)
- [Output Format](#output-format)
- [Filter Options](#filter-options)
- [Performance & Limits](#performance--limits)
- [FAQ](#faq)
- [Troubleshooting](#troubleshooting)
- [Tags](#tags)

***

### Features

- **Keyword Search** – Search Google's full image index using any keyword or phrase.
- **Up to 100 Results** – Extract up to 100 image results per search query.
- **Size Filtering** – Filter by large, medium, icon, or specific minimum resolutions (400×300 up to 40MP+).
- **Color Filtering** – Find images with a specific dominant color (red, blue, green, transparent, grayscale, and more).
- **Image Type Filtering** – Filter by photo, face, clipart, line art, or animated (GIF).
- **Time Range Filtering** – Get images last updated within the past day, week, month, or year.
- **Usage Rights Filtering** – Find Creative Commons or commercially licensed images.
- **File Type Filtering** – Filter by JPG, PNG, GIF, SVG, WebP, ICO, or RAW format.
- **Aspect Ratio Filtering** – Find tall (portrait), square, wide (landscape), or panoramic images.
- **Country & Region Targeting** – Search from a specific country/region and filter by publication country.
- **Safe Search Control** – Enable, disable, or blur explicit content in results.
- **Rich Image Data** – Extract image URLs, dimensions, file size, thumbnails, source website info, copyright, and credits.

***

### Use Cases

| Use Case | Description | Key Benefits |
|----------|-------------|--------------|
| Content Research | Find high-quality images for blog posts, presentations, and marketing materials. | Access Google's massive image index with size and type filters. |
| Brand Monitoring | Monitor where your brand images appear across the web. | Track image sources and domains with source URL data. |
| Competitor Analysis | Analyze competitor visual content strategy across the web. | Discover image usage patterns and source websites. |
| Image Sourcing | Find royalty-free or Creative Commons images for commercial projects. | Filter by usage rights to find legally usable images. |
| Design Inspiration | Discover design trends and visual inspiration by color, style, or type. | Filter by color, type, and aspect ratio for targeted results. |
| SEO & Visual Optimization | Analyze image search results for SEO keyword research and optimization. | Track image rankings, titles, and source domains. |
| Market Research | Study visual trends in specific markets or regions. | Use country and region filters for localized results. |
| Data Enrichment | Enrich product databases or content systems with relevant image data. | Automated image data extraction with structured output. |

***

### Quick Start

#### 1. Basic – Simple Keyword Search

```json
{
  "query": "beach sunset",
  "limit": 10
}
```

#### 2. Filtered – Large PNG Images

```json
{
  "query": "modern architecture",
  "limit": 20,
  "size": "large",
  "file_type": "png"
}
```

#### 3. Color Specific – Blue Landscape Photos

```json
{
  "query": "ocean waves",
  "limit": 50,
  "color": "blue",
  "type": "photo",
  "aspect_ratio": "wide"
}
```

#### 4. Full Filters – Creative Commons, Recent, from UK

```json
{
  "query": "sustainable energy",
  "limit": 100,
  "size": "1024x768_and_more",
  "type": "photo",
  "time": "month",
  "usage_rights": "creative_commons",
  "aspect_ratio": "wide",
  "region": "gb",
  "safe_search": "true"
}
```

***

### Input Parameters

| Parameter | Type | Required | Description | Default | Example |
|-----------|------|----------|-------------|---------|---------|
| `query` | String | Yes | Search keyword or phrase to find images on Google | - | `"beach"`, `"cute cats"`, `"modern architecture"` |
| `limit` | Integer | No | Maximum number of image results to return (1–100) | `10` | `20`, `50`, `100` |
| `size` | String | No | Filter by image size (see [Size Options](#size-options)) | `"any"` | `"large"`, `"1024x768_and_more"` |
| `color` | String | No | Filter by dominant color (see [Color Options](#color-options)) | `"any"` | `"blue"`, `"transparent"` |
| `type` | String | No | Filter by image type (see [Type Options](#type-options)) | `"any"` | `"photo"`, `"clipart"` |
| `time` | String | No | Filter by time range (see [Time Options](#time-options)) | `"any"` | `"day"`, `"week"`, `"month"` |
| `usage_rights` | String | No | Filter by license/usage rights | `"any"` | `"creative_commons"`, `"commercial"` |
| `file_type` | String | No | Filter by file format | `"any"` | `"jpg"`, `"png"`, `"gif"`, `"svg"` |
| `aspect_ratio` | String | No | Filter by aspect ratio | `"any"` | `"wide"`, `"tall"`, `"square"` |
| `country` | String | No | Filter by publication country (2-letter ISO code) | - | `"us"`, `"gb"`, `"de"` |
| `region` | String | No | Search region (2-letter ISO country code) | `"us"` | `"gb"`, `"in"`, `"de"` |
| `safe_search` | String | No | Control explicit content filtering | `"blur"` | `"false"`, `"blur"`, `"true"` |

***

### Output Format

#### Image Result Data Structure

```json
{
  "source_type": "google_images_search",
  "search_query": "island",
  "id": "D261RLjxy83IFM",
  "title": "Indian Ocean Islands | Travel to the Indian Ocean Islands | &Beyond",
  "url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcToJH0IwGj2LKrERmw8L2y1s9xFb_XVctgg2hpTx0vmow&s=10",
  "width": 738,
  "height": 414,
  "size": "566KB",
  "background_color": "rgb(51,179,192)",
  "thumbnail_url": "https://www.andbeyond.com/wp-content/uploads/sites/5/Zanzibar-Mnemba-Island-Aerial-6-Website-1920x1080-fill-gravityauto-Q_AutoBest.jpg",
  "thumbnail_width": 1920,
  "thumbnail_height": 1080,
  "source": "andBeyond",
  "source_url": "https://www.andbeyond.com/destinations/indian-ocean-islands/",
  "source_domain": "www.andbeyond.com",
  "copyright": null,
  "credits": null,
  "position": 1,
  "rank": 1,
  "scraped_at": "2026-08-14T12:30:00.000Z"
}
```

#### Output Fields Explained

| Field | Type | Description |
|-------|------|-------------|
| `source_type` | String | Source indicator, always `google_images_search` |
| `search_query` | String | The keyword used for the search |
| `id` | String | Google internal image ID |
| `title` | String | Title/alt text of the image |
| `url` | String | Direct URL to the image (Google CDN) |
| `width` | Integer | Image width in pixels |
| `height` | Integer | Image height in pixels |
| `size` | String | Human-readable file size (e.g., `"566KB"`, `"1.0MB"`) |
| `background_color` | String | Dominant background color as RGB (e.g., `"rgb(51,179,192)"`) |
| `thumbnail_url` | String | URL to the full-resolution source image / thumbnail |
| `thumbnail_width` | Integer | Thumbnail width in pixels |
| `thumbnail_height` | Integer | Thumbnail height in pixels |
| `source` | String | Name of the source website |
| `source_url` | String | URL of the page containing the image |
| `source_domain` | String | Domain of the source website |
| `copyright` | String | Copyright notice (if available) |
| `credits` | String | Image credits / photographer (if available) |
| `position` | Integer | Position of the image in search results (1-based) |
| `rank` | Integer | Rank of the image in search results |
| `scraped_at` | String | ISO timestamp of when the data was extracted |

***

### Filter Options

#### Size Options

| Value | Description |
|-------|-------------|
| `any` | Any size (default) |
| `large` | Large images |
| `medium` | Medium images |
| `icon` | Icon-sized images |
| `400x300_and_more` | 400×300 pixels and larger |
| `640x480_and_more` | 640×480 pixels and larger |
| `800x600_and_more` | 800×600 pixels and larger |
| `1024x768_and_more` | 1024×768 pixels and larger |
| `2mp_and_more` | 2 megapixels and larger |
| `4mp_and_more` | 4 megapixels and larger |
| `6mp_and_more` – `40mp_and_more` | 6 to 40+ megapixels |

#### Color Options

| Value | Description |
|-------|-------------|
| `any` | Any color (default) |
| `red`, `orange`, `yellow`, `green`, `teal`, `blue`, `purple`, `pink` | Specific colors |
| `white`, `gray`, `black`, `brown` | Neutral colors |
| `full` | Full color images |
| `transparent` | Images with transparency |
| `grayscale` | Black & white images |

#### Type Options

| Value | Description |
|-------|-------------|
| `any` | Any type (default) |
| `face` | Images containing faces |
| `photo` | Photographs |
| `clipart` | Clip art images |
| `lineart` | Line drawings |
| `animated` | Animated images (GIFs) |

#### Time Options

| Value | Description |
|-------|-------------|
| `any` | Any time (default) |
| `day` | Past 24 hours |
| `week` | Past week |
| `month` | Past month |
| `year` | Past year |

***

### Performance & Limits

- **Result Limit** – Up to 100 images per query.
- **Batching** – Data is saved in batches of 10 items to prevent loss during unexpected errors.
- **Key Rotation** – Automatic key rotation and retry logic for smooth, uninterrupted performance.
- **Rate Limiting** – Built-in retry delays for optimal throughput.

***

### FAQ

- **Q: Where does the data come from?**
  - All data is fetched dynamically from Google Images via a real-time SERP API.
- **Q: Can I get more than 100 images?**
  - The API supports a maximum of 100 images per query. For more results, try different query variations.
- **Q: How do I find Creative Commons images?**
  - Set the `usage_rights` parameter to `"creative_commons"` to filter for freely usable images.
- **Q: Can I search for transparent PNGs?**
  - Yes! Set `color` to `"transparent"` and `file_type` to `"png"` for transparent PNG images.
- **Q: Can I search from a specific country?**
  - Yes! Use the `region` parameter to set the search origin country, and `country` to filter images published in a specific country.
- **Q: What data formats can I export?**
  - Apify supports exporting results as JSON, CSV, Excel (XLSX), XML, HTML, and RSS.

***

### Troubleshooting

| Issue | Cause | Solution |
|-------|-------|----------|
| "No search query provided" | Empty or missing `query` | Enter a valid search term in the input |
| No images found | Keyword is too specific or has no matching images | Broaden the search query or remove filters |
| API returned error | Unexpected API response or invalid parameters | Check the error message and retry. Verify your parameters |
| Rate limit exceeded | Too many concurrent requests | Wait a few minutes and try again |

***

### Why Choose This Actor?

- Keyword-based Google Images search
- Up to 100 image results per query
- 12 advanced filter options (size, color, type, time, etc.)
- Rich image data (URLs, dimensions, source info, thumbnails)
- Copyright and credits extraction
- Country and region targeting
- Safe search control
- Downloadable as CSV, Excel, JSON, XML, or HTML

***

### Tags

`google images scraper`, `google images search`, `image search api`, `google image data`, `image scraper`, `image extractor`, `google images api`, `image search scraper`, `reverse image data`, `visual search`, `image metadata`, `google image lookup`, `apify actor`

***

### 🔗 You May Also Like

| Actor | Description |
|-------|-------------|
| [Google Search Scraper](https://apify.com/burbn/google-search-scraper) | Search Google for any keyword and get organized results. |
| [Google Shopping Scraper](https://apify.com/burbn/google-shopping-scraper) | Scrape Google Shopping for products with prices and other details. |
| [Google Forums Search](https://apify.com/burbn/google-forums-search) | Search Google Forums for discussions and topics. |

***

### Get Started Now

1. Enter the **Search Query** (e.g., `sunset`)
2. Set the **Maximum Results** (e.g., 20)
3. Optionally configure **Size**, **Color**, **Type**, **Time**, **File Type**, and other filters
4. Set the **Region** and **Safe Search** preferences
5. Click **Start** to run the scraper
6. Export your data in JSON, CSV, or Excel format
7. Click ["Try for free"](https://apify.com?fpr=free-credits) to test the actor

***

*Built using Apify Platform | Optimized for Performance & Reliability*

# Actor input Schema

## `query` (type: `string`):

💬 Enter your search keyword or phrase (e.g., 'beach sunset', 'cute cats', 'modern architecture'). This is the main search term to find images on Google.

## `limit` (type: `integer`):

📈 Maximum number of image results to return (1–100). More results = longer runtime.

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

🖼️ Filter images by specific size. Choose 'any' to include all sizes.

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

🌈 Filter images with a specific dominant color.

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

🖼️ Filter images by specific image type (photo, clipart, line art, etc.).

## `time` (type: `string`):

📅 Filter images last updated within a specific time range.

## `usage_rights` (type: `string`):

⚖️ Filter images by license or usage rights.

## `file_type` (type: `string`):

📎 Filter images by specific file format / extension.

## `aspect_ratio` (type: `string`):

🔳 Filter images by aspect ratio format.

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

🗺️ Filter images published in a specific country. Use 2-letter ISO 3166-1 alpha-2 country code (e.g., 'us', 'gb', 'in', 'de'). Leave empty for all countries.

## `region` (type: `string`):

🗺️ Country/region code from which to make the search query. Use 2-letter ISO country code (e.g., 'us', 'gb', 'in', 'de').

## `safe_search` (type: `string`):

🔒 Control explicit content filtering in results.

## Actor input object example

```json
{
  "query": "island",
  "limit": 10,
  "size": "any",
  "color": "any",
  "type": "any",
  "time": "any",
  "usage_rights": "any",
  "file_type": "any",
  "aspect_ratio": "any",
  "region": "us",
  "safe_search": "blur"
}
```

# Actor output Schema

## `images_overview` (type: `string`):

Open the dataset view with an overview of all images including title, dimensions, source, and URLs.

# 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 = {
    "query": "island",
    "limit": 10,
    "size": "any",
    "color": "any",
    "type": "any",
    "time": "any",
    "usage_rights": "any",
    "file_type": "any",
    "aspect_ratio": "any",
    "region": "us",
    "safe_search": "blur"
};

// Run the Actor and wait for it to finish
const run = await client.actor("burbn/google-images-search").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 = {
    "query": "island",
    "limit": 10,
    "size": "any",
    "color": "any",
    "type": "any",
    "time": "any",
    "usage_rights": "any",
    "file_type": "any",
    "aspect_ratio": "any",
    "region": "us",
    "safe_search": "blur",
}

# Run the Actor and wait for it to finish
run = client.actor("burbn/google-images-search").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 '{
  "query": "island",
  "limit": 10,
  "size": "any",
  "color": "any",
  "type": "any",
  "time": "any",
  "usage_rights": "any",
  "file_type": "any",
  "aspect_ratio": "any",
  "region": "us",
  "safe_search": "blur"
}' |
apify call burbn/google-images-search --silent --output-dataset

```

## MCP server setup

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

```

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/PGcEwX3BalBkMT0e8/builds/xSaaDOC8C0lxf0jcn/openapi.json
