# Google Gemini Models Scraper (`automation-lab/google-gemini-models-scraper`) Actor

Scrapes the Google Gemini API pricing page and returns structured data on all Gemini models including paid tier input/output prices per 1M tokens, context caching pricing, grounding pricing, and available tiers (standard, batch, flex, priority).

- **URL**: https://apify.com/automation-lab/google-gemini-models-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

Learn more: https://docs.apify.com/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 Gemini Models Scraper

### What does it do?

The **Google Gemini Models Scraper** extracts structured pricing data for every model listed on the [Google Gemini API pricing page](https://ai.google.dev/gemini-api/docs/pricing). It captures model names, API identifiers, and the full pricing breakdown across all tiers — standard, batch, flex, and priority.

For each model the actor extracts: model name, model ID(s), description, and for each available tier — free tier limits, paid tier input/output price per 1M tokens, context caching costs, grounding with Google Search pricing, and grounding with Google Maps pricing.

The pricing page is server-side rendered — all data is in the raw HTML. **No browser automation or JavaScript execution is required.** The actor uses HTTP + Cheerio for fast, reliable, and cost-effective extraction.

---

### Who is it for?

- 🧑‍💻 **AI developers and engineering teams** comparing Gemini model costs before building production applications
- 📊 **Product managers and analysts** tracking Gemini pricing changes over time
- 💰 **Budget planners and finance teams** forecasting LLM API spend for AI-powered products
- 🤖 **AI tool builders** feeding current model pricing into dashboards, cost calculators, or chatbots
- 🏗️ **Researchers** benchmarking Gemini pricing against competing LLM providers

---

### Why use it?

Google updates the Gemini pricing page as new models are released and pricing changes. Manually copying pricing is tedious, error-prone, and doesn't scale. This actor lets you:

- **Automate pricing data collection** on a schedule so your dashboards and tools always show current prices
- **Export to JSON, CSV, or your data warehouse** for downstream analysis and cost modeling
- **Monitor pricing changes** and get notified when Google adds or updates models
- **Compare across tiers** (standard vs. batch vs. flex vs. priority) to find the most cost-effective option for your workload
- **Feed real pricing into LLM cost calculators** and budget tools without manual updates

---

### Data extracted

Each record in the dataset represents one Gemini model.

| Field | Type | Description |
|-------|------|-------------|
| `modelName` | string | Display name (e.g., `Gemini 2.5 Pro`) |
| `modelId` | string | Primary API model ID (e.g., `gemini-2.5-pro`) |
| `modelIds` | string[] | All API identifiers/aliases for the model |
| `description` | string | Short description from the pricing page |
| `tiers` | object[] | Array of tier pricing objects (see below) |
| `url` | string | Source URL scraped |
| `scrapedAt` | string | ISO 8601 timestamp of the run |

#### Tier pricing object

Each entry in `tiers` represents one processing tier:

| Field | Type | Description |
|-------|------|-------------|
| `tier` | string | Tier name: `standard`, `batch`, `flex`, or `priority` |
| `freeTierInputPrice` | string \| null | Free tier input pricing (e.g., `"Free of charge"`) |
| `paidTierInputPrice` | string \| null | Paid input price per 1M tokens (e.g., `"$1.25, prompts <= 200k tokens"`) |
| `freeTierOutputPrice` | string \| null | Free tier output pricing |
| `paidTierOutputPrice` | string \| null | Paid output price per 1M tokens |
| `freeTierContextCachingPrice` | string \| null | Free tier context caching price |
| `paidTierContextCachingPrice` | string \| null | Paid context caching price per 1M tokens + storage |
| `freeTierGroundingSearchPrice` | string \| null | Free tier grounding with Google Search pricing |
| `paidTierGroundingSearchPrice` | string \| null | Paid grounding with Google Search pricing |
| `freeTierGroundingMapsPrice` | string \| null | Free tier grounding with Google Maps pricing |
| `paidTierGroundingMapsPrice` | string \| null | Paid grounding with Google Maps pricing |

`null` means the feature/tier is not available for that model.

---

### How much does it cost to scrape Gemini pricing?

This actor uses **pay-per-result (PPE) pricing** — you only pay per model extracted.

| Plan | Price per model |
|------|----------------|
| FREE | $0.00115 |
| BRONZE | $0.00100 |
| SILVER | $0.00078 |
| GOLD | $0.00060 |
| PLATINUM | $0.00040 |
| DIAMOND | $0.00028 |

**Typical run costs:**
- The Gemini pricing page currently lists ~28 models
- At FREE tier: ~**$0.037** per run (28 models × $0.00115 + $0.005 start fee)
- At DIAMOND tier: ~**$0.013** per run

Running once a day to track pricing changes costs approximately **$1.10/month** at FREE tier, or as low as **$0.40/month** at DIAMOND tier.

---

### How to use it

#### Step 1 — Open the actor on Apify

Go to the actor page and click **Try for free**.

#### Step 2 — Configure input

The actor requires no mandatory input — just click **Run** to scrape all Gemini models.

**Optional settings:**

| Input | Default | Description |
|-------|---------|-------------|
| `maxRequestRetries` | `3` | Number of retry attempts if the request fails |

#### Step 3 — Run and get results

The actor finishes in under 30 seconds. Download results from the **Dataset** tab in JSON, CSV, or Excel format.

---

### Example output

```json
{
  "modelName": "Gemini 2.5 Pro",
  "modelId": "gemini-2.5-pro",
  "modelIds": ["gemini-2.5-pro"],
  "description": "Our state-of-the-art multipurpose model, which excels at coding and complex reasoning tasks.",
  "tiers": [
    {
      "tier": "standard",
      "freeTierInputPrice": "Free of charge",
      "paidTierInputPrice": "$1.25, prompts <= 200k tokens\n$2.50, prompts > 200k tokens",
      "freeTierOutputPrice": "Free of charge",
      "paidTierOutputPrice": "$10.00, prompts <= 200k tokens\n$15.00, prompts > 200k",
      "freeTierContextCachingPrice": null,
      "paidTierContextCachingPrice": "$0.125, prompts <= 200k tokens\n$0.25, prompts > 200k\n$4.50 / 1,000,000 tokens per hour (storage price)",
      "freeTierGroundingSearchPrice": null,
      "paidTierGroundingSearchPrice": "1,500 RPD (free), then $35 / 1,000 grounded prompts",
      "freeTierGroundingMapsPrice": null,
      "paidTierGroundingMapsPrice": "10,000 RPD (free), then $25 / 1,000 grounded prompts"
    },
    {
      "tier": "batch",
      "freeTierInputPrice": null,
      "paidTierInputPrice": "$0.625, prompts <= 200k tokens\n$1.25, prompts > 200k tokens",
      "freeTierOutputPrice": null,
      "paidTierOutputPrice": "$5.00, prompts <= 200k tokens\n$7.50, prompts > 200k",
      "freeTierContextCachingPrice": null,
      "paidTierContextCachingPrice": "$0.125, prompts <= 200k tokens\n$0.25, prompts > 200k\n$4.50 / 1,000,000 tokens per hour (storage price)",
      "freeTierGroundingSearchPrice": null,
      "paidTierGroundingSearchPrice": "1,500 RPD (free), then $35 / 1,000 grounded prompts",
      "freeTierGroundingMapsPrice": null,
      "paidTierGroundingMapsPrice": null
    }
  ],
  "url": "https://ai.google.dev/gemini-api/docs/pricing",
  "scrapedAt": "2026-04-28T10:00:00.000Z"
}
````

***

### Use cases

#### Track Gemini pricing changes over time

Schedule this actor to run daily. Connect the dataset to a Google Sheet, Airtable, or data warehouse to automatically log pricing snapshots and detect changes.

#### Build a Gemini cost calculator

Integrate the output into an internal tool or chatbot that calculates estimated API costs based on token usage, model selection, and tier.

#### Compare Gemini against other LLM providers

Run alongside similar actors for OpenAI, Anthropic, Cohere, Mistral, and Groq pricing. Combine datasets to power a comprehensive LLM pricing comparison dashboard.

#### Monitor for new model launches

Run on a schedule and alert when new model IDs appear in the dataset, giving you instant notification of Google's model releases.

***

### FAQ

**Does this require an API key or authentication?**

No. The Google Gemini pricing page is publicly accessible and fully server-side rendered. No credentials are needed.

**How often should I run it?**

Google updates pricing when new models launch or prices change. Running once a day is sufficient for most monitoring use cases.

**Why does the tier field sometimes only have 1–2 tiers?**

Not all models are available in all tiers. For example, preview models and specialized models (audio, image, embedding) typically only offer standard and batch tiers.

**What do "prompts <= 200k tokens" and "> 200k tokens" mean?**

Google applies tiered token pricing based on prompt length for some models. Prompts up to 200,000 tokens use the lower price; longer prompts cost more per million tokens.

**The scraper returned 0 models — what happened?**

Google may have updated the page structure. Open an issue on the actor's GitHub or contact support. The actor includes a safeguard that throws an error rather than silently returning empty results.

***

### API usage

You can trigger this actor programmatically using the Apify API or any of the official client libraries.

#### Node.js / TypeScript

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('automation-lab/google-gemini-models-scraper').call({
    maxRequestRetries: 3,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("automation-lab/google-gemini-models-scraper").call(run_input={
    "maxRequestRetries": 3,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["modelName"], item["modelId"])
```

#### REST API

```bash
curl -X POST "https://api.apify.com/v2/acts/automation-lab~google-gemini-models-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"maxRequestRetries": 3}'
```

***

### MCP (Model Context Protocol)

This actor is available as a tool through the Apify MCP server, making it accessible to any MCP-compatible AI agent or assistant.

#### Claude Code (CLI)

```bash
claude mcp add apify --transport http "https://mcp.apify.com?tools=automation-lab/google-gemini-models-scraper"
```

#### Desktop, Cursor, or VS Code

Add to your MCP config (`~/.cursor/mcp.json`, Claude Desktop `claude_desktop_config.json`, etc.):

```json
{
  "mcpServers": {
    "apify": {
      "type": "http",
      "url": "https://mcp.apify.com?tools=automation-lab/google-gemini-models-scraper",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}
```

#### Example prompts

Once connected, you can ask your AI assistant:

- *"Get the current input and output price for Gemini 2.5 Pro in the standard tier."*
- *"Compare input prices per 1M tokens across all Gemini Flash models."*
- *"What is the batch tier price for Gemini 2.5 Flash, and how does it compare to the standard tier?"*

***

### Legality — Is it legal to scrape the Gemini pricing page?

Yes. The Google Gemini API pricing page (ai.google.dev/gemini-api/docs/pricing) is a public documentation page explicitly intended for developers to read and use. This actor only accesses publicly available pricing information — no login, authentication, or circumvention of any access controls is required.

This actor does not scrape personal data, trade secrets, or proprietary content — only publicly posted pricing tables that Google publishes for the explicit purpose of informing developers.

Always ensure your use of scraped data complies with Google's Terms of Service and applicable laws in your jurisdiction.

***

### Tips

- **Schedule for price monitoring:** Run the actor daily using Apify's built-in scheduler. Connect the dataset to a Google Sheet using the Apify Google Sheets integration — new rows are appended automatically, giving you a full price history.
- **Combine with other LLM scrapers:** Run this actor alongside our OpenAI, Anthropic, and Groq scrapers on the same schedule. Merge the outputs by date to build a unified cross-provider pricing dashboard.
- **Handle null tier fields gracefully:** Not all models support all tiers. When processing `tiers`, always check if `paidTierInputPrice` is `null` before using it — null means the tier/feature is unavailable for that model, not a scraping error.
- **Parse multi-rate prices:** Some fields contain multi-line strings like `"$1.25, prompts <= 200k tokens\n$2.50, prompts > 200k tokens"`. Split on `\n` to extract individual rate bands for structured analysis.
- **Detect new models:** Compare the `modelId` list between two runs. Any ID present in the latest run but absent from the previous one is a newly launched model.

***

### Integrations

**Daily price alert to Slack:**
Schedule daily → Apify dataset → Zapier (detect new rows with price changes) → post diff to `#llm-costs` Slack channel.

**Google Sheets pricing dashboard:**
Schedule daily → Apify Google Sheets integration (append mode) → use Google Sheets formulas to highlight cells where prices changed vs. the previous day.

**Webhook on new model launch:**
Configure an Apify webhook to trigger on successful run completion → your endpoint compares `modelIds` → sends an email/Slack notification when a previously unseen model ID appears.

**Airtable LLM cost tracker:**
Schedule weekly → Apify Airtable integration → Airtable automations trigger budget recalculations and notify the finance team when input or output prices change by more than 10%.

**Power BI / Tableau:**
Export results as CSV from the Apify dataset and import into Power BI or Tableau. Refresh on a schedule to keep your executive pricing dashboard up to date.

***

### Related actors

Looking for pricing data from other AI providers? Check out our full suite of LLM pricing scrapers:

- **[OpenAI Models Scraper](https://apify.com/automation-lab/openai-models-scraper)** — GPT-4o, o1, DALL·E pricing
- **[Anthropic Models Scraper](https://apify.com/automation-lab/anthropic-models-scraper)** — Claude 3.5, Claude 4 pricing
- **[Groq Models Scraper](https://apify.com/automation-lab/groq-models-scraper)** — Groq inference pricing
- **[DeepInfra Models Scraper](https://apify.com/automation-lab/deepinfra-models-scraper)** — DeepInfra model pricing
- **[OpenRouter Models Scraper](https://apify.com/automation-lab/openrouter-models-scraper)** — Multi-provider LLM pricing via OpenRouter
- **[Mistral Models Scraper](https://apify.com/automation-lab/mistral-models-scraper)** — Mistral AI model pricing
- **[AWS Bedrock Models Scraper](https://apify.com/automation-lab/aws-bedrock-models-scraper)** — Amazon Bedrock model pricing

***

### Technical details

- **Source URL:** https://ai.google.dev/gemini-api/docs/pricing
- **Rendering:** Server-side rendered (SSR) — HTTP + Cheerio only, no browser needed
- **Memory:** 256 MB default
- **Typical run time:** 10–30 seconds
- **Retry logic:** Up to 3 retries on request failure (configurable)

# Actor input Schema

## `maxRequestRetries` (type: `integer`):

Number of retry attempts if the request fails.

## Actor input object example

```json
{
  "maxRequestRetries": 3
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "maxRequestRetries": 3
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/google-gemini-models-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 = { "maxRequestRetries": 3 }

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/google-gemini-models-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 '{
  "maxRequestRetries": 3
}' |
apify call automation-lab/google-gemini-models-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Gemini Models Scraper",
        "description": "Scrapes the Google Gemini API pricing page and returns structured data on all Gemini models including paid tier input/output prices per 1M tokens, context caching pricing, grounding pricing, and available tiers (standard, batch, flex, priority).",
        "version": "0.1",
        "x-build-id": "Tvyig2a4hSGxQjj07"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~google-gemini-models-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-google-gemini-models-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/automation-lab~google-gemini-models-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-google-gemini-models-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/automation-lab~google-gemini-models-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-google-gemini-models-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": {
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of retry attempts if the request fails.",
                        "default": 3
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
