# Google Jobs Scraper (`fetch_cat/google-jobs-scraper`) Actor

Extract public Google Jobs listings by query and location. Export titles, companies, locations, source sites, dates, snippets, salaries, and apply links.

- **URL**: https://apify.com/fetch\_cat/google-jobs-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 84.6% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.42 / 1,000 google jobs listing saveds

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Jobs Scraper

Find public job listings from Google Jobs by keyword and location, then export clean rows to Apify datasets, CSV, JSON, Excel, Google Sheets, or your own API workflow.

### What does Google Jobs Scraper do?

Google Jobs Scraper searches the public Google Jobs experience for the job phrases and locations you provide. It returns structured job listing records with the title, company, location, source, posted date, salary text when visible, employment type, description snippet, and application links.

Use it when you need repeatable job-market data without manually opening Google, copying cards, and cleaning spreadsheets.

### Who is it for?

- 🧑‍💼 Recruiters tracking hiring demand across cities or job families.
- 📈 Labor-market analysts monitoring public job-posting trends.
- 🧲 Sales teams building account lists from companies that are actively hiring.
- 📰 Job-board operators checking what roles are visible for target searches.
- 🧪 Researchers collecting public job snippets for market studies.

### Why use this actor?

Google Jobs is a useful discovery layer because it aggregates public job listings from many sites. This actor helps you turn that search surface into structured data with consistent field names.

### What data can I extract?

| Field | Description |
| --- | --- |
| `query` | Search phrase that produced the listing |
| `title` | Job title |
| `company` | Employer name when visible |
| `location` | Job location or remote/hybrid text |
| `source` | Publisher shown by Google Jobs |
| `postedAt` | Visible posted-date or freshness label |
| `descriptionSnippet` | Public snippet from the job card/detail panel |
| `salary` | Salary text when Google displays it |
| `employmentType` | Full-time, part-time, contract, internship, or similar label |
| `jobUrl` | First normalized job/application URL |
| `applyLinks` | All visible application links collected from the listing |
| `scrapedAt` | Timestamp when the row was saved |

### Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

| Event | What is charged | Price |
| --- | --- | ---: |
| `start` | One-time fee charged when a run starts. Covers fixed startup cost. | $0.005 |

| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| `item` | Charged per Google Jobs listing saved to the dataset. | $0.28209 / 1,000 | $0.2453 / 1,000 | $0.19133 / 1,000 | $0.14718 / 1,000 | $0.09812 / 1,000 | $0.06868 / 1,000 |

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

### Quick start

1. Add one or more job search queries.
2. Enter a location such as `New York, NY`, `London`, or `Remote`.
3. Set a small `maxItems` value for your first test.
4. Run the actor.
5. Open the dataset and export the results.

### Input example

```json
{
  "queries": ["software engineer", "data analyst"],
  "location": "New York, NY",
  "country": "US",
  "language": "en",
  "maxItems": 20,
  "datePosted": "any",
  "employmentType": "any",
  "useProxy": true,
  "proxyGroups": ["RESIDENTIAL"]
}
````

### Input fields

| JSON key | Label | Description |
| --- | --- | --- |
| `queries` | Job search queries | One or more job phrases to search. |
| `location` | Location | City, region, country, or remote-work phrase appended to each query. |
| `country` | Country / Google market | Two-letter country code for Google market and proxy geotargeting. |
| `language` | Language | Language code for visible labels. |
| `maxItems` | Maximum jobs | Maximum number of listings to save across all queries. |
| `datePosted` | Date posted | Optional visible Google Jobs date filter. |
| `employmentType` | Employment type | Optional visible Google Jobs employment-type filter. |
| `useProxy` | Use Apify Proxy | Keep enabled for the most reliable Google access. |
| `proxyGroups` | Proxy groups | Proxy groups to use; `RESIDENTIAL` is the default. |

#### Job search queries

Add the job phrases you want to search. Examples:

- `software engineer`
- `registered nurse`
- `warehouse manager`
- `product marketing manager`

#### Location

Use the same style you would type into Google Jobs. Examples:

- `Austin, TX`
- `Berlin, Germany`
- `Remote`
- `United Kingdom`

#### Country and language

Country controls the Google market and proxy geotargeting. Language controls visible labels where Google supports it.

#### Maximum jobs

Use a low number for testing. Increase it once your query returns the expected kind of listings.

#### Optional filters

The actor can attempt visible Google Jobs filters for date posted and employment type. Availability may vary by country, language, and Google layout.

### Output example

```json
{
  "query": "software engineer",
  "title": "Software Engineer",
  "company": "Example Company",
  "location": "New York, NY",
  "source": "LinkedIn",
  "postedAt": "3 days ago",
  "descriptionSnippet": "Build and maintain production services...",
  "salary": "$120K–$160K a year",
  "employmentType": "Full-time",
  "jobUrl": "https://example.com/jobs/123",
  "applyLinks": [
    { "label": "Apply on LinkedIn", "url": "https://example.com/jobs/123" }
  ],
  "scrapedAt": "2026-06-29T08:00:00.000Z"
}
```

### Tips for better results

- 🎯 Use specific job titles instead of very broad terms.
- 🗺️ Include a clear location for local hiring searches.
- 🔁 Run multiple focused queries instead of one huge vague query.
- 🧪 Start with `maxItems` 10–20 before scaling.
- 🌐 Keep proxy enabled for the most reliable Google access.

### Common use cases

#### Recruiting market maps

Track how many public jobs appear for target roles across several cities.

#### Sales prospecting

Find companies hiring for technologies or departments that match your product.

#### Job board monitoring

Compare job visibility for your niche across Google Jobs searches.

#### Labor-market research

Collect snapshots of public listing text for recurring demand analysis.

### Integrations

You can connect the dataset to:

- Google Sheets for lightweight monitoring.
- Make or Zapier for alerts when new listings appear.
- A CRM enrichment workflow for hiring-signal prospecting.
- A data warehouse for longer-term job-market trend analysis.
- Apify webhooks for post-run automation.

### API usage

The examples below show Node.js, Python, and cURL ways to run the actor.

#### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-jobs-scraper').call({
  queries: ['software engineer'],
  location: 'New York, NY',
  maxItems: 20,
});

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

#### API usage with Python

```python
from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/google-jobs-scraper').call(run_input={
    'queries': ['software engineer'],
    'location': 'New York, NY',
    'maxItems': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

#### API usage with cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-jobs-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"queries":["software engineer"],"location":"New York, NY","maxItems":20}'
```

### MCP usage

Use the Apify MCP server to run this actor from Claude Code, Claude Desktop, or another MCP-compatible agent.

MCP URL pattern:

```text
https://mcp.apify.com/?tools=fetch_cat/google-jobs-scraper
```

Add it in Claude Code:

```bash
claude mcp add apify-google-jobs "https://mcp.apify.com/?tools=fetch_cat/google-jobs-scraper"
```

Claude Desktop JSON config example:

```json
{
  "mcpServers": {
    "apify-google-jobs": {
      "url": "https://mcp.apify.com/?tools=fetch_cat/google-jobs-scraper"
    }
  }
}
```

Example prompts:

- “Run Google Jobs Scraper for data analyst jobs in Chicago and summarize the companies.”
- “Find 20 remote product manager roles and export the dataset fields.”
- “Compare software engineer listings in Austin and Denver.”

### Scheduling

Schedule recurring runs to monitor the same query weekly or daily. Keep `maxItems` aligned with how many rows you need for each snapshot.

### Data freshness

Google Jobs results change frequently. Each run captures the public results visible during that run. Use `scrapedAt` to separate snapshots.

### Limits and caveats

Google may vary the visible layout by country, language, query, and traffic conditions. Some listings may not show salary, employment type, or direct application links. Fields that are not visible are returned as `null` or an empty list.

### Proxy guidance

Google can rate-limit automated access. The actor supports Apify Proxy and defaults to a reliable proxy setup. For small tests, keep the prefilled settings. For larger production runs, use conservative limits and schedule runs instead of sending very large batches at once.

### FAQ

#### Can I use this actor as a Google Jobs API?

Yes. Run it through the Apify API, SDKs, webhooks, or MCP server and export the resulting dataset as JSON, CSV, Excel, or through an integration.

#### Does it require a Google account?

No. The actor is designed for public Google Jobs results and does not need your Google login.

#### Can I schedule recurring monitoring?

Yes. Use Apify schedules to run the same query and location daily or weekly, then compare rows by title, company, location, and `scrapedAt`.

### Troubleshooting

#### Why did my run return fewer jobs than requested?

Google may show fewer public jobs for a query/location combination, or the page may expose fewer unique listings than your limit. Try a broader query or a different location.

#### Why are salary or employment type missing?

Those fields are only returned when Google displays them publicly for the listing.

#### Why did Google block the run?

Reduce request volume, keep proxy enabled, and try a smaller batch. Google anti-bot behavior can vary by region and time.

### Legality and responsible use

This actor is intended for public job-listing information. Make sure your use case complies with applicable laws, platform terms, privacy rules, and internal policies. Do not use extracted data for spam, discrimination, or prohibited employment decisions.

### Related scrapers

You may also use these actors from the same account for recruiting and search workflows:

- [Ashby Jobs Scraper](https://apify.com/fetch_cat/ashby-jobs-scraper)
- [Lever Jobs Scraper](https://apify.com/fetch_cat/lever-jobs-scraper)
- [Remote.com Jobs Scraper](https://apify.com/fetch_cat/remote-dot-com-jobs-scraper)
- [Google Search Results Scraper](https://apify.com/fetch_cat/google-search-results-scraper)

### Version notes

v0.1 focuses on public Google Jobs listing rows by query and location. Future versions may add stronger filter coverage, richer detail extraction, and additional output normalization after reliability testing.

### Support

If a run fails or a query returns unexpected data, share enough detail to reproduce it:

- the Apify run URL,
- the exact input JSON,
- the expected output,
- the actual output you received,
- and a reproducible public URL or Google Jobs query/location example.

### Field glossary

`source` is the site label shown by Google Jobs, often a job board or employer career site. `applyLinks` contains visible outbound links associated with a listing. `descriptionSnippet` is not guaranteed to be the full job description.

### Best practices

Run targeted searches, deduplicate downstream by title/company/location, and store recurring snapshots if you need trends over time.

### Export formats

Apify datasets can be exported as JSON, CSV, Excel, XML, RSS, and HTML table views from the run page or API.

### Automation patterns

- Daily alert for new remote jobs matching a niche keyword.
- Weekly city-by-city hiring report.
- CRM enrichment based on companies hiring for target roles.
- Competitive hiring watch for specific job families.

### Privacy note

The actor does not require your Google account and does not scrape private account-only data.

### Final checklist for users

- Choose focused queries.
- Set a clear location.
- Keep the first run small.
- Review the dataset sample.
- Scale gradually.

### Privacy and data handling

This Actor only requests the permissions needed to run the input you provide. It uses your input (such as URLs, search terms, identifiers, filters, and limits) only to fetch the requested public data from the relevant source site or API for this Actor, then writes results to your Apify dataset/key-value store.

Data may pass through Apify platform services and Apify Proxy during the run, and requests are sent only to the target site or public data provider required for this Actor's results. FetchCat does not send your inputs or outputs to advertising networks, data brokers, or model-training services, and does not retain run data outside Apify storage after the run except when you explicitly share run details for transient support debugging.

You are responsible for using this Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs. Review the output before storing, sharing, or combining it with other data.

# Actor input Schema

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

One or more job search phrases. Use the same wording you would type into Google Jobs.

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

City, region, country, or remote-work phrase appended to each query.

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

Two-letter country code for Google results and proxy geotargeting.

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

Two-letter language code for Google result labels.

## `maxItems` (type: `integer`):

Maximum number of job listings to save across all queries.

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

Optional Google Jobs date filter. The actor applies it when Google exposes the matching filter chip.

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

Optional Google Jobs employment-type filter. The actor applies it when Google exposes the matching filter chip.

## `useProxy` (type: `boolean`):

Use Apify Proxy for Google requests. Recommended for reliable cloud runs.

## `proxyGroups` (type: `array`):

Apify Proxy groups to use. RESIDENTIAL is the safest option for Google Jobs.

## Actor input object example

```json
{
  "queries": [
    "software engineer",
    "data analyst"
  ],
  "location": "New York, NY",
  "country": "US",
  "language": "en",
  "maxItems": 20,
  "datePosted": "any",
  "employmentType": "any",
  "useProxy": true,
  "proxyGroups": [
    "RESIDENTIAL"
  ]
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "queries": [
        "software engineer",
        "data analyst"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/google-jobs-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": [
        "software engineer",
        "data analyst",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/google-jobs-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": [
    "software engineer",
    "data analyst"
  ]
}' |
apify call fetch_cat/google-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Jobs Scraper",
        "description": "Extract public Google Jobs listings by query and location. Export titles, companies, locations, source sites, dates, snippets, salaries, and apply links.",
        "version": "0.1",
        "x-build-id": "d9TLWcpxSZ68xBvJF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetch_cat~google-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetch_cat-google-jobs-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/fetch_cat~google-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fetch_cat-google-jobs-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/fetch_cat~google-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fetch_cat-google-jobs-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": "Job search queries",
                        "minItems": 1,
                        "type": "array",
                        "description": "One or more job search phrases. Use the same wording you would type into Google Jobs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City, region, country, or remote-work phrase appended to each query.",
                        "default": "New York, NY"
                    },
                    "country": {
                        "title": "Country / Google market",
                        "minLength": 2,
                        "maxLength": 2,
                        "type": "string",
                        "description": "Two-letter country code for Google results and proxy geotargeting.",
                        "default": "US"
                    },
                    "language": {
                        "title": "Language",
                        "minLength": 2,
                        "maxLength": 5,
                        "type": "string",
                        "description": "Two-letter language code for Google result labels.",
                        "default": "en"
                    },
                    "maxItems": {
                        "title": "Maximum jobs",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of job listings to save across all queries.",
                        "default": 20
                    },
                    "datePosted": {
                        "title": "Date posted",
                        "enum": [
                            "any",
                            "past_24_hours",
                            "past_3_days",
                            "past_week",
                            "past_month"
                        ],
                        "type": "string",
                        "description": "Optional Google Jobs date filter. The actor applies it when Google exposes the matching filter chip.",
                        "default": "any"
                    },
                    "employmentType": {
                        "title": "Employment type",
                        "enum": [
                            "any",
                            "full_time",
                            "part_time",
                            "contractor",
                            "internship"
                        ],
                        "type": "string",
                        "description": "Optional Google Jobs employment-type filter. The actor applies it when Google exposes the matching filter chip.",
                        "default": "any"
                    },
                    "useProxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Use Apify Proxy for Google requests. Recommended for reliable cloud runs.",
                        "default": true
                    },
                    "proxyGroups": {
                        "title": "Proxy groups",
                        "type": "array",
                        "description": "Apify Proxy groups to use. RESIDENTIAL is the safest option for Google Jobs.",
                        "default": [
                            "RESIDENTIAL"
                        ],
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
