# HH.ru Jobs Scraper: Вакансии HH.ru (`getascraper/hh-ru-jobs-scraper`) Actor

Scrape job vacancies from HH.ru (HeadHunter), Russia's largest job board. Search by keyword, city, experience, salary range, and remote flag. Returns title, salary, employer, location, key skills, and full descriptions — no API key needed.

- **URL**: https://apify.com/getascraper/hh-ru-jobs-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Jobs, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.98 / 1,000 job postings

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

## 🇷🇺 HH.ru Jobs Scraper: Парсер вакансий HH.ru

<table width="100%">
<tr>
<td colspan="4" style="padding:14px 18px;background:#FFF5F5;border-top:3px solid #D62B2B;border-left:1px solid #D6D3D1;border-right:1px solid #D6D3D1;border-radius:8px 8px 0 0">
<span style="font-size:16px;font-weight:700;color:#1C1917">Russia's largest job board, scraped and structured in minutes.</span> <span style="font-size:15px;color:#57534E">Search vacancies on HH.ru by keyword, city, salary range, and experience level. Get numeric salary fields, employer ratings, and key skills as clean JSON. No API key required.</span>
</td>
</tr>
<tr>
<td style="padding:12px 14px;border-left:1px solid #D6D3D1;border-bottom:1px solid #D6D3D1;vertical-align:top;width:25%;background:#FFFFFF;border-radius:0 0 0 8px">
<b style="color:#D62B2B">💰 Structured salary</b><br>
<span style="color:#57534E;font-size:13px">Numeric min, max, and currency per vacancy. No more parsing "от 150 000 ₽" by hand.</span>
</td>
<td style="padding:12px 14px;border-left:1px solid #D6D3D1;border-bottom:1px solid #D6D3D1;vertical-align:top;width:25%;background:#FFFFFF">
<b style="color:#D62B2B">⭐ Employer signals</b><br>
<span style="color:#57534E;font-size:13px">Rating, review count, and trusted-employer badge for every company listing.</span>
</td>
<td style="padding:12px 14px;border-left:1px solid #D6D3D1;border-bottom:1px solid #D6D3D1;vertical-align:top;width:25%;background:#FFFFFF">
<b style="color:#D62B2B">🛠 Key skills array</b><br>
<span style="color:#57534E;font-size:13px">Full list of required skills from each vacancy description (with fetchDetails enabled).</span>
</td>
<td style="padding:12px 14px;border-left:1px solid #D6D3D1;border-bottom:1px solid #D6D3D1;border-right:1px solid #D6D3D1;vertical-align:top;width:25%;background:#FFFFFF;border-radius:0 0 8px 0">
<b style="color:#D62B2B">🔍 Flexible filters</b><br>
<span style="color:#57534E;font-size:13px">Keyword, city, salary range, experience level, employment type, and remote flag.</span>
</td>
</tr>
</table>

---

### 🔍 What does HH.ru Jobs Scraper do?

HeadHunter (hh.ru) is Russia's largest job board, with millions of active vacancies across every industry and region. This actor searches the platform and returns clean, structured data for every matching listing.

By default, each vacancy includes: title, canonical URL, salary text and numeric min/max fields, experience requirement, employer name and logo, employer rating and review count, office address, nearest metro station, remote flag, trusted-employer badge, and viewer count.

Enable **Fetch full details** to also get the complete vacancy description and a key skills array per listing. Useful for skills-gap analysis or building searchable job databases.

---

### 👥 Who uses it?

**HR analysts tracking compensation** — "We benchmark Python developer salaries across Moscow, Saint Petersburg, and Novosibirsk every quarter. We used to copy salary text by hand. Now we get `salaryFrom`, `salaryTo`, and `salaryCurrency` as numbers, ready for pivot tables."

**Staffing agencies building pipelines** — "We monitor 50 IT employers on HH.ru weekly. We pull employer rating, review count, and trusted-employer flag to filter out poor-quality clients before our team reaches out."

**Job board builders** — "We aggregate Russian tech listings for a niche job board. We need title, URL, key skills, remote flag, and salary as clean JSON. This gives us all of it in one scheduled run."

---

### 🚀 How it works

1. **Set your search.** Enter keywords, pick a city or use the all-Russia default, add salary range, experience level, employment type, and whether you want remote-only listings.
2. **Run in the cloud.** The actor fetches live vacancy pages from HH.ru using Apify's infrastructure. No login, no API key, and no developer account are required.
3. **Download your data.** Export as JSON, CSV, or Excel. Connect directly to Google Sheets, BigQuery, or any BI tool via the Apify integration.

---

### ⚙️ Input

| Field | Type | Required | Description |
|---|---|---|---|
| `keywords` | string | No | Job title, skill, or keyword to search (e.g. `Python`, `менеджер проекта`). |
| `city` | string | No | City name in Russian or English (e.g. `Москва`, `Moscow`, `Санкт-Петербург`). Resolved automatically. Overridden by `areaId`. |
| `areaId` | integer | No | HH.ru area ID. Default: `113` (all Russia). `1` = Moscow, `2` = Saint Petersburg. |
| `salaryFrom` | integer | No | Minimum salary filter in the vacancy's posted currency. |
| `salaryTo` | integer | No | Maximum salary filter. |
| `experience` | enum | No | Required work experience: `noExperience`, `between1And3`, `between3And6`, or `moreThan6`. |
| `employment` | array | No | Employment type(s): `full`, `part`, `project`, `volunteer`, or `probation`. |
| `onlyRemote` | boolean | No | Return only remote-schedule listings when checked. |
| `orderBy` | enum | No | Sort order: `relevance` (default), `publication_time`, `salary_desc`, or `salary_asc`. |
| `maxItems` | integer | No | Maximum number of vacancies to return. Default: `100`. |
| `fetchDetails` | boolean | No | Open each vacancy page to extract full description and key skills. Default: off. |
| `proxyConfiguration` | proxy | No | Apify proxy settings. Datacenter proxy is the default and sufficient for most runs. |

---

### 📤 Data table

Each row is one HH.ru vacancy.

| Field | Type | Description |
|---|---|---|
| `vacancyId` | string | Unique HH.ru vacancy ID. |
| `title` | string | Vacancy title as shown on HH.ru. |
| `url` | string | Canonical link to the vacancy page (tracking parameters removed). |
| `salaryFrom` | number | Minimum salary as a number. Null when not disclosed by the employer. |
| `salaryTo` | number | Maximum salary as a number. Null when not disclosed. |
| `salaryCurrency` | string | Salary currency code: `RUR`, `USD`, `EUR`, or `KZT`. |
| `salaryGross` | boolean | True = gross (before tax), false = net. Null when not specified. |
| `salaryText` | string | Raw salary text as displayed on HH.ru (e.g. `от 150 000 ₽`). |
| `experience` | string | Required experience label (e.g. `Опыт 3-6 лет`). |
| `employerName` | string | Employer company name. |
| `employerLogoUrl` | string | URL of the employer's logo image. |
| `employerRating` | number | Employer rating from HH.ru reviews (e.g. `4.2`). |
| `employerReviewCount` | number | Total number of HH.ru reviews for this employer. |
| `address` | string | Office city or full address as shown on the listing. |
| `metroStation` | string | Nearest metro station name (Russian cities). |
| `isRemote` | boolean | True if the vacancy allows remote work. |
| `isTrustedEmployer` | boolean | True if HH.ru has awarded the employer a trusted badge. |
| `viewerCount` | number | Number of people currently viewing this vacancy. |
| `description` | string | Full vacancy description text. Requires `fetchDetails: true`. |
| `keySkills` | array | Required skills list (e.g. `["Python", "PostgreSQL", "FastAPI"]`). Requires `fetchDetails: true`. |
| `scrapedAt` | string | ISO 8601 timestamp of when the row was scraped. |

---

### 💰 Pricing

This actor charges per vacancy returned. Empty runs cost nothing. There are no monthly subscriptions or seat fees.

---

### ⭐ Enjoying HH.ru Jobs Scraper?

<table width="100%"><tr>
<td style="padding:12px 18px;background:#FFF5F5;border-left:4px solid #D62B2B">
<span style="font-size:15px;color:#1C1917">If this actor saves you time, a quick <a href="https://apify.com/getascraper/hh-ru-jobs-scraper/reviews#reviews">rating or review on the Store page</a> helps others find it and tells us what to improve next.</span>
</td>
</tr></table>

---

### ❓ FAQ

**Does this actor require an HH.ru account or API key?**
No. It reads the public HH.ru website directly. No registration, no developer app, and no API key are needed to run it.

**What cities and regions does it support?**
All of Russia and CIS regions covered by HH.ru. Enter a city name in Russian or English (e.g. `Москва`, `Moscow`, `Екатеринбург`, `Yekaterinburg`). For the full area list, pass an `areaId` directly. The reference is at [api.hh.ru/areas/113](https://api.hh.ru/areas/113).

**Как скачать вакансии с HH.ru в Excel или Google Sheets?** (How do I export HH.ru vacancies to Excel or Google Sheets?)
Enter your keyword and city in the input form, run the actor, and click Export in the Apify Console. Choose Excel, CSV, or Google Sheets. Each vacancy becomes one row, with salary split into separate numeric columns for easy filtering.

**Why do some vacancies show no salary data?**
HH.ru lets employers hide their salary offer. When it is not disclosed, all salary fields return null. The actor never fills in guesses or placeholder values.

---

### 🔗 Other actors

- [Zhaopin Scraper: Extract Job Listings and Salary Data Across China](https://apify.com/getascraper/zhaopin-jobs-scraper) ↗ - Pull structured job listings and salary data from Zhaopin, China's major general job board.
- [Lagou Tech Jobs Scraper: China IT Recruitment Data](https://apify.com/getascraper/lagou-tech-jobs-scraper) ↗ - Extract IT and tech job listings from Lagou, China's specialist tech hiring platform.
- [Wantedly Japan Jobs Scraper: Startup Job Listings](https://apify.com/getascraper/wantedly-jobs-scraper) ↗ - Scrape startup and tech job listings from Wantedly, Japan's mission-driven job platform.
- [Yandex Realty Scraper: Яндекс Недвижимость](https://apify.com/getascraper/yandex-realty-scraper) ↗ - Extract property listings and pricing from Yandex Real Estate across Russia.
- [2GIS Reviews Scraper: Отзывы 2ГИС](https://apify.com/getascraper/2gis-reviews-scraper) ↗ - Collect business reviews and ratings from 2GIS, Russia's leading map and business directory.

# Actor input Schema

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

Job title or keywords to search for, e.g. 'Python developer' or 'менеджер продукта'. Leave blank to return all vacancies in the selected area.
## `city` (type: `string`):

City or region name in Russian or English, e.g. 'Москва', 'moscow', 'Saint Petersburg'. Resolved to an HH.ru area ID automatically. Use 'areaId' if you need a specific area not recognised here.
## `areaId` (type: `integer`):

HH.ru internal area ID. 113 = all Russia, 1 = Moscow, 2 = Saint Petersburg. Overrides the city field when set. Full list: https://api.hh.ru/areas/113
## `salaryFrom` (type: `integer`):

Return only vacancies with salary at or above this value. HH.ru filters by this on their end.
## `salaryTo` (type: `integer`):

Return only vacancies with salary at or below this value. Applied as a post-filter (HH.ru has no server-side max-salary param).
## `experience` (type: `string`):

Required years of experience.
## `employment` (type: `array`):

Employment types to include. Leave empty for all.
## `onlyRemote` (type: `boolean`):

Return only vacancies with a remote work schedule.
## `orderBy` (type: `string`):

How to sort search results.
## `maxItems` (type: `integer`):

Maximum number of vacancies to return.
## `fetchDetails` (type: `boolean`):

When enabled, fetches each vacancy's detail page to add the full description text and key skills array. Roughly doubles the number of HTTP requests and run time.
## `proxyConfiguration` (type: `object`):

Datacenter proxies are confirmed sufficient for hh.ru and cost far less. Switch to Residential only if you encounter blocks at very high volume.

## Actor input object example

```json
{
  "keywords": "Python developer",
  "city": "",
  "areaId": 113,
  "employment": [],
  "onlyRemote": false,
  "orderBy": "relevance",
  "maxItems": 100,
  "fetchDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

# Actor output Schema

## `dataset` (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 = {
    "keywords": "Python developer",
    "city": "",
    "areaId": 113,
    "employment": [],
    "onlyRemote": false,
    "orderBy": "relevance",
    "maxItems": 100,
    "fetchDetails": false,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/hh-ru-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 = {
    "keywords": "Python developer",
    "city": "",
    "areaId": 113,
    "employment": [],
    "onlyRemote": False,
    "orderBy": "relevance",
    "maxItems": 100,
    "fetchDetails": False,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/hh-ru-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 '{
  "keywords": "Python developer",
  "city": "",
  "areaId": 113,
  "employment": [],
  "onlyRemote": false,
  "orderBy": "relevance",
  "maxItems": 100,
  "fetchDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/hh-ru-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "HH.ru Jobs Scraper: Вакансии HH.ru",
        "description": "Scrape job vacancies from HH.ru (HeadHunter), Russia's largest job board. Search by keyword, city, experience, salary range, and remote flag. Returns title, salary, employer, location, key skills, and full descriptions — no API key needed.",
        "version": "0.1",
        "x-build-id": "qZVqa1ADzVXlX67bz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~hh-ru-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-hh-ru-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/getascraper~hh-ru-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-hh-ru-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/getascraper~hh-ru-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-hh-ru-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",
                "properties": {
                    "keywords": {
                        "title": "Search keywords",
                        "type": "string",
                        "description": "Job title or keywords to search for, e.g. 'Python developer' or 'менеджер продукта'. Leave blank to return all vacancies in the selected area.",
                        "default": ""
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City or region name in Russian or English, e.g. 'Москва', 'moscow', 'Saint Petersburg'. Resolved to an HH.ru area ID automatically. Use 'areaId' if you need a specific area not recognised here.",
                        "default": ""
                    },
                    "areaId": {
                        "title": "Area ID (advanced)",
                        "type": "integer",
                        "description": "HH.ru internal area ID. 113 = all Russia, 1 = Moscow, 2 = Saint Petersburg. Overrides the city field when set. Full list: https://api.hh.ru/areas/113",
                        "default": 113
                    },
                    "salaryFrom": {
                        "title": "Minimum salary (RUB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Return only vacancies with salary at or above this value. HH.ru filters by this on their end."
                    },
                    "salaryTo": {
                        "title": "Maximum salary (RUB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Return only vacancies with salary at or below this value. Applied as a post-filter (HH.ru has no server-side max-salary param)."
                    },
                    "experience": {
                        "title": "Experience level",
                        "enum": [
                            "noExperience",
                            "between1And3",
                            "between3And6",
                            "moreThan6"
                        ],
                        "type": "string",
                        "description": "Required years of experience."
                    },
                    "employment": {
                        "title": "Employment types",
                        "type": "array",
                        "description": "Employment types to include. Leave empty for all.",
                        "default": []
                    },
                    "onlyRemote": {
                        "title": "Remote only",
                        "type": "boolean",
                        "description": "Return only vacancies with a remote work schedule.",
                        "default": false
                    },
                    "orderBy": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "publication_time",
                            "salary_desc",
                            "salary_asc"
                        ],
                        "type": "string",
                        "description": "How to sort search results.",
                        "default": "relevance"
                    },
                    "maxItems": {
                        "title": "Max vacancies",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of vacancies to return.",
                        "default": 100
                    },
                    "fetchDetails": {
                        "title": "Fetch full details (slower)",
                        "type": "boolean",
                        "description": "When enabled, fetches each vacancy's detail page to add the full description text and key skills array. Roughly doubles the number of HTTP requests and run time.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Datacenter proxies are confirmed sufficient for hh.ru and cost far less. Switch to Residential only if you encounter blocks at very high volume.",
                        "default": {
                            "useApifyProxy": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
