# Hogangnono Scraper — Korea Apartment Price Data & API (`sian.agency/hogangnono-apartment-analytics-scraper`) Actor

Scrape Hogangnono (호갱노노) Korean apartment-complex analytics — monthly avg/min/max prices, KB valuation, trade volume, real (실거래) trades, build specs, coordinates and reviews. One record per complex (단지), filterable by region. No account or API key needed. 아파트 실거래가·시세 데이터.

- **URL**: https://apify.com/sian.agency/hogangnono-apartment-analytics-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** Real estate, Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 complex analytics extracteds

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

## Hogangnono Apartment Analytics Scraper — Korea Apartment Price Data & API 🇰🇷🏢

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Dabang Scraper](https://img.shields.io/badge/Store-Dabang%20Scraper-FF6F0F)](https://apify.com/sian.agency/dabang-property-scraper?fpr=sian) [![Redfin Scraper](https://img.shields.io/badge/Store-Redfin%20Market%20KPIs-A02021)](https://apify.com/sian.agency/redfin-property-scraper?fpr=sian) [![Beike Scraper](https://img.shields.io/badge/Store-Beike%20%26%20Lianjia-2E7CF6)](https://apify.com/sian.agency/beike-property-scraper?fpr=sian)

#### 🎉 Turn Korea's most-loved apartment-price site into clean, structured analytics — monthly price stats, valuation, trade history and specs, one record per complex
##### Built for property analysts, valuation modelers, investors and proptech teams who need Korean apartment price intelligence at scale

---

### 📋 Overview

**Pull Korean apartment-complex (단지) price analytics without lifting a finger** — this actor reads Hogangnono (호갱노노) and returns one clean, structured record per apartment complex: latest monthly average / minimum / maximum price, KB-style valuation, real-deal (실거래) trade history, trade volume, household and build specs, exact coordinates and resident-review counts. No account, no API key, no manual copy-paste.

**Why teams choose us:**
- ✅ **Price intelligence, not just listings**: every record carries monthly avg/min/max price, max real-trade price, loanable valuation and lifetime trade count
- 📊 **Built for analytics**: one row per *complex*, ready to build district price indices, valuation models and trend dashboards
- 🧾 **Real-deal history**: recent actual (실거래) transactions with price, floor, date and method on every complex
- 🗺️ **Region market context**: each complex carries its district's price-per-pyeong, trade volume, household count and rank
- 💱 **Dual currency built in**: every KRW price comes with a USD companion, converted at the run's live exchange rate
- 💰 **Pay only for results**: transparent per-complex pricing, generous free tier, no subscription

---

### ✨ Features

- 📍 **Scan any Korean district** — pass one or more 시군구 region codes (e.g. `11680` = 강남구 / Gangnam-gu) and get the ranked complexes
- 🏢 **Target specific complexes** — pass exact complex IDs (`bg4ed`) or `/apt/<id>` URLs
- 📊 **Two depth modes** — cheap **Overview** (KB valuation + specs + geo + region context) or **Detail** (adds the monthly price time-series 시세)
- 💰 **Trade-type aware** — price series for sale (매매), jeonse (전세) or monthly rent (월세)
- 🏗️ **Full complex specs** — households, floors, buildings, parking, heating, builder, build year, floor-area & coverage ratios
- 📈 **Trade analytics** — lifetime trade count, latest monthly volume, recent real-deal rows
- 🌐 **Exact geolocation** — precise latitude/longitude + full lot-number and road-name address
- 💬 **Community signal** — resident-review count, average rating, neighborhood rank
- 💱 **Live FX conversion** — KRW + USD on every price field
- 📊 **Clean exports** — JSON, CSV and Excel straight from the dataset

---

### 🎬 Quick Start

Pick a mode and a region, hit Start, and collect a clean analytics dataset. Overview maps a district cheaply; Detail adds the monthly price time-series per complex.

```bash
curl -X POST "https://api.apify.com/v2/acts/sian.agency~hogangnono-apartment-analytics-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"scrapeMode": "overview", "regionCodes": ["11680"], "maxResults": 100}'
````

***

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Choose your area

Enter one or more Korean district codes (e.g. `11680` for 강남구), or leave blank to use the default district. To target exact complexes, paste their IDs into **Apartment Complex IDs**.

#### Step 2: Pick a mode

**Overview** for fast, cheap complex analytics — or **Detail** to add the monthly price time-series. Choose the trade type (sale / jeonse / rent) for the price series.

#### Step 3: Run and export

Click **Start**. Download your results as JSON, CSV or Excel.

**That's it! In about a minute, you'll have:**

- One analytics record per apartment complex with price stats and valuation
- Specs, exact coordinates, region market context and trade history
- KRW and USD pricing on every row

***

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| scrapeMode | string | No | `overview` (cheap analytics) or `detail` (adds monthly price time-series) |
| regionCodes | array | No | Korean district (시군구) codes or `/region/<code>` URLs to scrape (default `11680` = 강남구) |
| aptHashes | array | No | Specific complex IDs or `/apt/<id>` URLs — overrides regionCodes |
| tradeType | string | No | `sale` (매매), `jeonse` (전세) or `rent` (월세) — which transaction type the price series reflects |
| maxResults | integer | No | Max complexes (FREE: 25, PAID: unlimited) |

**Example:**

```json
{
  "scrapeMode": "detail",
  "regionCodes": ["11680"],
  "tradeType": "sale",
  "maxResults": 50
}
```

***

### 📤 Output

Each row is one apartment complex with 60+ fields. Sample (trimmed):

```json
{
  "id": "bg4ed",
  "url": "https://hogangnono.com/apt/bg4ed",
  "complexName": "리버뷰",
  "category": "아파트",
  "monthly_avg_price_krw": 180000000,
  "monthly_avg_price_usd": 130435,
  "max_real_trade_price_krw": 200000000,
  "loanable_trade_price_krw": 90000000,
  "trade_count": 70,
  "total_household": 128,
  "floor_max": 15,
  "heat_type": "중앙난방",
  "builder": "삼윤개발",
  "build_year": 1993,
  "sido": "서울특별시",
  "sigungu": "강남구",
  "dong": "청담동",
  "latitude": 37.522287,
  "longitude": 127.055336,
  "address": "서울특별시 강남구 청담동 68-19",
  "review_count": 8,
  "region": { "full_name": "서울특별시 강남구", "price_per_py_manwon": 9035.94, "latest_trade_count": 180, "price_per_py_rank": 1 }
}
```

In **Detail** mode each complex also carries the monthly price time-series (latest avg/min/max + monthly trade volume from the monthly-reports API).

***

### 💡 Use Cases

- Property analysts building Seoul apartment price indices by district
- Valuation teams calibrating models with KB-style loanable prices and real-deal history
- Investors comparing trade volume and price trends across complexes and neighborhoods
- Proptech teams powering dashboards with fresh Korean apartment price intelligence
- Researchers studying the Korean housing market with structured, geocoded complex data

***

### ❓ FAQ

**Q: What's the difference between Overview and Detail?**
A: Overview returns the complex profile — KB valuation, specs, geo, review count and region context — cheaply (1 request per complex). Detail adds the monthly price time-series 시세 (latest avg/min/max + monthly volume), at 2 requests per complex.

**Q: How do I find a region code?**
A: Open a district on hogangnono.com and copy the number from the URL — `hogangnono.com/region/11680` → `11680` (강남구).

**Q: Do I need an account or API key for the source site?**
A: No. The actor handles everything; you only need your Apify token.

**Q: Is this legal?**
A: Yes — we only extract publicly available data. See the legal note below.

***

### 🐛 Troubleshooting

**No results returned**

- Check the region code (it's the 시군구 number, e.g. `11680`), or try another district
- Try Overview mode first to confirm the district has ranked complexes

**Detail mode is slower**

- This is expected — Detail fetches the monthly-reports time-series per complex. Use Overview when you don't need the price series, or lower `maxResults`.

**Hitting the free limit**

- The FREE tier caps each run at 25 complexes. Upgrade to PAID for unlimited results.

***

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

> **Trademark notice:** Hogangnono (호갱노노) is a trademark of its respective owner. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Hogangnono or its operator. All product names and trademarks belong to their respective owners and are used here for identification purposes only.

***

### 🤝 Support

[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Group-0088cc?logo=telegram)](https://t.me/+vyh1sRE08sAxMGRi)

**Join our active support community**

- For issues or questions, open an issue in the actor's repository
- Check the [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- ✉️ <apify@sian-agency.online>

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

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

⚙️ **Choose how much detail per complex:**

- **Overview** (cheap, primary): one analytics record per apartment complex — KB valuation, household/floor/build specs, coordinates and resident reviews, plus the region's aggregate price-per-pyeong & trade-volume context. 1 request per complex.
- **Detail** (enrich): everything in Overview **plus** the monthly price time-series (시세) — latest average / minimum / maximum price and monthly trade volume from the monthly-reports API. 2 requests per complex.

💡 **TIP:** Start with Overview to map a region cheaply, then run Detail on the complexes you care about.

## `regionCodes` (type: `array`):

📍 **SEARCH BY REGION:** Korean district (시군구) codes to scrape. The actor fetches each region's ranked apartment complexes and extracts an analytics record per complex.

**How to get a region code:** open the district on hogangnono.com and copy the number from the URL, e.g. `hogangnono.com/region/11680` → `11680` (강남구 / Gangnam-gu). You can paste either the bare code or the full `/region/<code>` URL.

💡 **TIP:** Leave empty to use the default region (강남구 / Gangnam-gu).

🔢 **TIER-BASED LIMITS:** FREE users up to 25 complexes per run · PAID users unlimited.

## `aptHashes` (type: `array`):

🏢 **SCRAPE SPECIFIC COMPLEXES:** Hogangnono apartment-complex IDs (hashids). When set, the actor scrapes exactly these complexes and ignores Region Codes.

**How to get a complex ID:** open a complex on hogangnono.com and copy the hash from the URL, e.g. `hogangnono.com/apt/bg4ed` → `bg4ed`. Paste either the bare hash or the full `/apt/<hash>` URL.

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

💰 **Which transaction type the price time-series reflects** (Detail mode):

- **Sale (매매)** — purchase price
- **Jeonse (전세)** — lump-sum lease deposit
- **Monthly Rent (월세)** — monthly rent

## `maxResults` (type: `integer`):

🔢 **Maximum number of apartment-complex records to return.**

💎 **TIER-BASED LIMITS:**

- **FREE users:** up to 25 complexes per run
- **PAID users:** unlimited

💡 Lower this to cap your spend on a quick run.

## Actor input object example

```json
{
  "scrapeMode": "overview",
  "regionCodes": [
    "11680"
  ],
  "tradeType": "sale",
  "maxResults": 100
}
```

# Actor output Schema

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

Clean structured analytics records, one per apartment complex (단지).

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

HTML summary of the run with key metrics and sample records.

# 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 = {
    "regionCodes": [
        "11680"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/hogangnono-apartment-analytics-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 = { "regionCodes": ["11680"] }

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/hogangnono-apartment-analytics-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 '{
  "regionCodes": [
    "11680"
  ]
}' |
apify call sian.agency/hogangnono-apartment-analytics-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sian.agency/hogangnono-apartment-analytics-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Hogangnono Scraper — Korea Apartment Price Data & API",
        "description": "Scrape Hogangnono (호갱노노) Korean apartment-complex analytics — monthly avg/min/max prices, KB valuation, trade volume, real (실거래) trades, build specs, coordinates and reviews. One record per complex (단지), filterable by region. No account or API key needed. 아파트 실거래가·시세 데이터.",
        "version": "1.0",
        "x-build-id": "JNQiNebfEquE3WWc5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sian.agency~hogangnono-apartment-analytics-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sian.agency-hogangnono-apartment-analytics-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/sian.agency~hogangnono-apartment-analytics-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sian.agency-hogangnono-apartment-analytics-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/sian.agency~hogangnono-apartment-analytics-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sian.agency-hogangnono-apartment-analytics-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": {
                    "scrapeMode": {
                        "title": "⚙️ Scrape Mode",
                        "enum": [
                            "overview",
                            "detail"
                        ],
                        "type": "string",
                        "description": "⚙️ **Choose how much detail per complex:**\n\n- **Overview** (cheap, primary): one analytics record per apartment complex — KB valuation, household/floor/build specs, coordinates and resident reviews, plus the region's aggregate price-per-pyeong & trade-volume context. 1 request per complex.\n- **Detail** (enrich): everything in Overview **plus** the monthly price time-series (시세) — latest average / minimum / maximum price and monthly trade volume from the monthly-reports API. 2 requests per complex.\n\n💡 **TIP:** Start with Overview to map a region cheaply, then run Detail on the complexes you care about.",
                        "default": "overview"
                    },
                    "regionCodes": {
                        "title": "📍 Region Codes (시군구)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "📍 **SEARCH BY REGION:** Korean district (시군구) codes to scrape. The actor fetches each region's ranked apartment complexes and extracts an analytics record per complex.\n\n**How to get a region code:** open the district on hogangnono.com and copy the number from the URL, e.g. `hogangnono.com/region/11680` → `11680` (강남구 / Gangnam-gu). You can paste either the bare code or the full `/region/<code>` URL.\n\n💡 **TIP:** Leave empty to use the default region (강남구 / Gangnam-gu).\n\n🔢 **TIER-BASED LIMITS:** FREE users up to 25 complexes per run · PAID users unlimited.",
                        "default": [
                            "11680"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "aptHashes": {
                        "title": "🏢 Apartment Complex IDs (optional)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "🏢 **SCRAPE SPECIFIC COMPLEXES:** Hogangnono apartment-complex IDs (hashids). When set, the actor scrapes exactly these complexes and ignores Region Codes.\n\n**How to get a complex ID:** open a complex on hogangnono.com and copy the hash from the URL, e.g. `hogangnono.com/apt/bg4ed` → `bg4ed`. Paste either the bare hash or the full `/apt/<hash>` URL.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "tradeType": {
                        "title": "💰 Trade Type",
                        "enum": [
                            "sale",
                            "jeonse",
                            "rent"
                        ],
                        "type": "string",
                        "description": "💰 **Which transaction type the price time-series reflects** (Detail mode):\n\n- **Sale (매매)** — purchase price\n- **Jeonse (전세)** — lump-sum lease deposit\n- **Monthly Rent (월세)** — monthly rent",
                        "default": "sale"
                    },
                    "maxResults": {
                        "title": "🔢 Max Complexes",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🔢 **Maximum number of apartment-complex records to return.**\n\n💎 **TIER-BASED LIMITS:**\n- **FREE users:** up to 25 complexes per run\n- **PAID users:** unlimited\n\n💡 Lower this to cap your spend on a quick run.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
