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

Google Images Scraper extracts image results directly from Google Images search. It collects image URLs, titles, source pages, thumbnails, and metadata. Useful for dataset creation, visual research, content analysis, trend monitoring, and powering image-based AI or automation workflows.

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

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

Google Images Scraper is a fast, scalable Google image search scraper that extracts image results directly from Google Images search. It solves the challenge of collecting clean, structured image data at scale by returning direct image URLs, thumbnails, dimensions, source pages, and origin domains — perfect if you need to scrape Google Images for datasets, power a google image search scraper workflow, or build a google images API alternative. Built for developers, marketers, analysts, and researchers, it enables bulk collection and automation across many queries with real-time dataset updates.

### What data / output can you get?

Below are the exact fields the actor saves to the Apify dataset for each image result. Values are derived from the live Google Images UI and normalized for analysis and export.

| Data type         | Description                                      | Example value |
| ---               | ---                                              | --- |
| query             | Search query used to fetch images                | "technology" |
| imageUrl          | Direct link to the image file                    | "https://cdn.britannica.com/84/203584-050-57D326E5/speed-internet-technology-background.jpg" |
| title             | Title extracted from the image result panel      | "History of Technology Timeline ..." |
| imageWidth        | Natural width of the image (px)                  | 1600 |
| imageHeight       | Natural height of the image (px)                 | 1131 |
| thumbnailUrl      | Thumbnail URL (uses the imageUrl as fallback)    | "https://encrypted-tbn0.gstatic.com/images?q=tbn:I9RUPVPHjvqr1M" |
| thumbnailWidth    | Thumbnail width (px)                             | 300 |
| thumbnailHeight   | Thumbnail height (px)                            | 200 |
| contentUrl        | Source page URL where the image appears          | "https://www.britannica.com/story/history-of-technology-timeline" |
| origin            | Origin domain parsed from contentUrl             | "www.britannica.com" |

Notes:
- origin may be "unknown" if the source page cannot be parsed.
- imageWidth and imageHeight may be null for certain images where dimensions are not available.
- Results are stored in the Apify dataset and can be downloaded in common formats (e.g., JSON, CSV, Excel) from the Apify platform.

### Key features

- 🔁 Robust proxy fallback
  Automatically falls back from direct connection to datacenter proxy, then to residential proxy (with retries) when Google shows blocks like CAPTCHA or “unusual traffic”. Once a residential attempt succeeds, it’s locked for remaining requests — ensuring resilience during google images scraping.

- ⚡ Real-time dataset updates
  With pushToDatasetRealtime enabled, each image record is pushed instantly to your Output table, so teams can monitor progress and start consuming data immediately without waiting for the run to finish.

- 🧠 Block detection and consent handling
  Detects Google blocks via page titles, text indicators, and CAPTCHA elements, and attempts to accept Google’s consent dialog automatically to keep the flow smooth.

- 🧹 Clean, deduplicated URLs
  Skips data: URLs, ignores gstatic/googleusercontent placeholders, and filters duplicates to produce high-signal imageUrl fields suitable for downstream pipelines like AI training or content analysis.

- 🧪 Headless Playwright engine
  Uses a Playwright-only click-based extractor tuned for Google Images, optimized with resource blocking and smaller viewports for stability and lower memory usage.

- 📦 Structured output for analytics
  Outputs standardized fields (query, imageUrl, title, dimensions, thumbnail, contentUrl, origin) that are easy to analyze, export, or feed into an automation or AI workflow to bulk download google images via a separate downloader.

- 🔌 Apify-native automation
  Works as a google image scraper tool within the Apify platform, making it a practical google images API alternative you can run on schedule, integrate via API, or orchestrate with other actors.

### How to use Google Images Scraper - step by step

1. Create your Apify account
   Sign up or log in to Apify.

2. Open the actor
   Find “Google Images Scraper” in the Apify Store and click Try for free.

3. Add your input
   - queries: Provide one or more search terms (e.g., ["nature", "technology"]).
   - maxImages: Set the number of images per query (1–1000; default 10).
   - proxyConfiguration: Choose proxy settings (the scraper will auto-fallback to residential if blocks occur).
   - headless: Keep true for production stability.
   - pushToDatasetRealtime: Enable to save results to the Output table as they are found.

4. Start the run
   Click Start. The actor will navigate Google Images, click thumbnails, and extract structured data from the result panel.

5. Monitor progress in real time
   If pushToDatasetRealtime is enabled, watch new items appear in the Output dataset while the run is in progress.

6. Download your data
   Open the dataset for the run and export to JSON, CSV, or Excel. You can use the results to scrape image urls from google, perform content analysis, or trigger downstream automations.

Pro Tip: Schedule runs and orchestrate multi-query batches to build an ongoing google images crawler for trend monitoring, or connect to the Apify API from Python to integrate with your data pipeline.

### Use cases

| Use case name | Description |
| --- | --- |
| AI/ML training datasets | Collect diverse imageUrl and thumbnailUrl records across topics to power model training and evaluation. |
| SEO & marketing research | Analyze visual trends by query and origin domains to optimize your google image search scraper strategy. |
| Editorial & journalism | Rapidly source image references with contentUrl and titles for storyboards and research. |
| Brand monitoring | Track when logos or brand imagery appear by origin and contentUrl to detect usage across the web. |
| E‑commerce enrichment | Augment product research with image sets from relevant queries and source pages. |
| Academic & trend analysis | Build reproducible datasets for studies on visual culture and topics over time. |
| Automation pipelines | Use a google images scraping script approach with the Apify API to ingest, filter, and route images downstream. |
| Bulk collection workflows | Run batches of queries to download images from google search at scale using a separate downloader tool. |

### Why choose Google Images Scraper?

This production-ready Google Images Scraper emphasizes precision, resilience, and clean outputs — a practical google images api alternative for large-scale workflows.

- ✅ Reliable proxy strategy with automatic fallback to residential proxies when blocks occur.
- ✅ Real-time dataset updates via pushToDatasetRealtime for faster time-to-insight.
- ✅ Scalable multi-query runs with memory-optimized Playwright contexts.
- ✅ Clean, structured fields ready for analytics, automation, and AI pipelines.
- ✅ Works without browser extensions or fragile setups; ideal vs. one-off scripts.
- ✅ Headless mode by default for stability in production environments.
- ✅ Easy to integrate via Apify’s platform and API for developers.

In short: a stable google image search results scraper that outperforms unstable extensions or manual methods when you need repeatable, structured outputs.

### Is it legal / ethical to use Google Images Scraper?

Yes — when done responsibly. This actor extracts publicly available metadata (e.g., URLs, titles, dimensions, and source pages) from Google Images results.

Guidelines:
- Only collect and use public metadata.
- Do not republish or commercially use copyrighted images without permission.
- Review and respect Google’s Terms of Service.
- Ensure your usage complies with applicable data protection laws and your organization’s policies.

### Input parameters & output format

Example input JSON:
```json
{
  "queries": ["nature", "technology", "animals"],
  "maxImages": 25,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "headless": true,
  "pushToDatasetRealtime": true
}
````

Parameter reference:

- queries (array, required): List of search queries or keywords to scrape images for. Can be single or multiple queries. Default: none (prefill: \["nature"]).
- maxImages (integer, optional): Maximum number of images to scrape per query (1–1000). Default: 10.
- proxyConfiguration (object, optional): Choose which proxies to use. If Google rejects the proxy, a residential proxy will be used as a fallback. Default: none (prefill: {"useApifyProxy": false}).
- headless (boolean, optional): Run browser in headless mode (recommended for production). Default: true.
- pushToDatasetRealtime (boolean, optional): If enabled, each scraped image is saved to the Output table immediately; if disabled, all results are saved at the end. Default: true.

Example output JSON (dataset items):

```json
[
  {
    "query": "technology",
    "imageUrl": "https://cdn.britannica.com/84/203584-050-57D326E5/speed-internet-technology-background.jpg",
    "title": "History of Technology Timeline ...",
    "imageWidth": 1600,
    "imageHeight": 1131,
    "thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:I9RUPVPHjvqr1M",
    "thumbnailWidth": 1600,
    "thumbnailHeight": 1131,
    "contentUrl": "https://www.britannica.com/story/history-of-technology-timeline",
    "origin": "www.britannica.com"
  },
  {
    "query": "nature",
    "imageUrl": "https://dashboard.thefinanser.com/wp-content/uploads/2024/02/Technology.jpg",
    "title": "Is technology making our lives better ...",
    "imageWidth": 1568,
    "imageHeight": 882,
    "thumbnailUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:x5pPo8tarvTslM",
    "thumbnailWidth": 1568,
    "thumbnailHeight": 882,
    "contentUrl": "https://thefinanser.com/2024/02/is-technology-making-our-lives-better-or-worse",
    "origin": "thefinanser.com"
  }
]
```

Notes:

- origin can be "unknown" if a clean hostname cannot be parsed from contentUrl.
- imageWidth/imageHeight may be null when dimensions are unavailable in the panel.

### FAQ

#### Is there an official Google Images API?

No. Google does not provide a public Images Search API. This actor functions as a google images api alternative by scraping structured results from the Google Images interface.

#### Can I scrape Google Images with Python?

Yes. The actor itself is implemented in Python with Playwright and can be automated via the Apify API from your Python scripts to run batches or integrate into pipelines.

#### Does this download the actual image files?

No. The actor outputs imageUrl and thumbnailUrl along with metadata. You can then use an image downloader (another actor or your own script) to fetch the files for bulk download google images workflows.

#### How many results can I collect per query?

You control this via maxImages (1–1000). The default is 10 per query, and the actor supports multiple queries in a single run to scrape google images at scale.

#### Does it handle Google blocks or CAPTCHAs?

Yes. It detects common block signals (CAPTCHA, “unusual traffic”) and automatically falls back from direct to datacenter to residential proxies with retries, improving reliability for google images scraping.

#### Is this better than a browser extension or a random script?

For reliability and scale, yes. Unlike extensions or ad-hoc scripts, this Google image search scraper is production-ready, pushes structured data in real time, and implements robust proxy fallback.

#### Can I integrate it into an automation workflow?

Yes. You can run the actor on a schedule, trigger it via the Apify API, and connect the dataset to downstream tools in your stack for continuous google image search results scraper pipelines.

### Final thoughts

Google Images Scraper is built for fast, reliable collection of image results from Google Images — at scale. With robust proxy fallback, real-time dataset updates, and clean, structured outputs, it’s ideal for marketers, developers, analysts, and researchers who need a dependable google image scraper tool for automation and analysis. Use the Apify API to orchestrate multi-query runs, integrate with your Python workflows, and start extracting smarter, structured image datasets today.

# Actor input Schema

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

✍️ List of search phrases (e.g. nature, product shots, logos). One query per line in the editor.

## `maxImages` (type: `integer`):

🎚️ Cap how many unique images to keep for each keyword (1–1000). The log shows progress toward this goal in real time.

## `proxyConfiguration` (type: `object`):

⚙️ Pick proxy groups/countries in the picker. When enabled, the actor uses your selection for the browsing session.

## `headless` (type: `boolean`):

✅ On (default): best for Apify cloud. 🔲 Off: useful for debugging on your machine.

## `pushToDatasetRealtime` (type: `boolean`):

💾 ON: each image is pushed to the dataset immediately — your Output tab updates during the run. 📦 OFF: everything uploads once at the end.

## Actor input object example

```json
{
  "queries": [
    "nature"
  ],
  "maxImages": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "headless": true,
  "pushToDatasetRealtime": true
}
```

# 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": [
        "nature"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperforge/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": ["nature"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scraperforge/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": [
    "nature"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scraperforge/google-images-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Images Scraper",
        "description": "Google Images Scraper extracts image results directly from Google Images search. It collects image URLs, titles, source pages, thumbnails, and metadata. Useful for dataset creation, visual research, content analysis, trend monitoring, and powering image-based AI or automation workflows.",
        "version": "0.1",
        "x-build-id": "8rn136deH1d2Uzabw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraperforge~google-images-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraperforge-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/scraperforge~google-images-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraperforge-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/scraperforge~google-images-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraperforge-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",
                "required": [
                    "queries"
                ],
                "properties": {
                    "queries": {
                        "title": "🔤 Keywords / queries",
                        "type": "array",
                        "description": "✍️ List of search phrases (e.g. nature, product shots, logos). One query per line in the editor.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxImages": {
                        "title": "🔢 Max images per query",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "🎚️ Cap how many unique images to keep for each keyword (1–1000). The log shows progress toward this goal in real time.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "🌍 Apify Proxy",
                        "type": "object",
                        "description": "⚙️ Pick proxy groups/countries in the picker. When enabled, the actor uses your selection for the browsing session."
                    },
                    "headless": {
                        "title": "👻 Headless browser",
                        "type": "boolean",
                        "description": "✅ On (default): best for Apify cloud. 🔲 Off: useful for debugging on your machine.",
                        "default": true
                    },
                    "pushToDatasetRealtime": {
                        "title": "⚡ Live save to Output table",
                        "type": "boolean",
                        "description": "💾 ON: each image is pushed to the dataset immediately — your Output tab updates during the run. 📦 OFF: everything uploads once at the end.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
