# Naver Map Scraper $1💰 Places, Menus, Reviews (`abotapi/naver-map-scraper`) Actor

From $1/1K. Scrape Naver Map places by keyword or URL: names, categories, ratings, phones, addresses, GPS, menus, opening hours, facilities, subway and bus transit, photos, plus visitor and blog reviews. 70+ fields, full pagination, three sort orders, fast and low cost.

- **URL**: https://apify.com/abotapi/naver-map-scraper.md
- **Developed by:** [AbotAPI](https://apify.com/abotapi) (community)
- **Categories:** Travel, Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 place results

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

## Naver Map Scraper

Extract structured place data from Naver Map (map.naver.com), Korea's most-used maps and local search service. Search by keyword or paste place URLs, and get names, categories, ratings, phone numbers, addresses, GPS coordinates, menus, opening hours, facilities, nearby subway and bus stops, photos, and both visitor and blog reviews. The scraper is HTTP-only, runs on low-cost datacenter connections, and paginates each keyword to its full result count.

### Why this scraper

- 70+ fields per place, far more than list-only alternatives: GPS, place id, road and lot addresses, virtual phone, facilities, payment options, transit, photos, and reviews.
- Three input shapes: keyword search, a pasted place URL (including short naver.me links), and a pasted search URL.
- Full pagination: every keyword walks to its complete result set (often thousands of places), not just the first page.
- Three sort orders: relevance, distance (nearest first), and popularity.
- Menus, opening hours, and facilities extracted from the full place page.
- Visitor reviews (star rating, text, author, visit date, photos, keyword tags) and blog reviews (title, body, link, author, thumbnail).
- Fast and cheap: works on Apify datacenter, so a trial run costs almost nothing.

### Data you get

> Sample shape, values are illustrative placeholders, not from a live listing.

| Field | Example |
| --- | --- |
| name | "Sample Dumpling House" |
| category | "Korean restaurant" |
| businessCategory | "restaurant" |
| placeId | "00000001" |
| placeUrl | "https://map.naver.com/p/entry/place/00000001" |
| latitude | 37.5000 |
| longitude | 127.0000 |
| phone | "+820000000000" |
| virtualPhone | "+820000000000" |
| address | "Sample-dong 000-0" |
| roadAddress | "Sample-ro 000" |
| fullAddress | "Seoul Sample-gu Sample-dong 000-0" |
| visitorReviewScore | 4.4 |
| visitorReviewCount | 0 |
| totalReviewCount | 0 |
| blogCafeReviewCount | 0 |
| distance | "120m" |
| imageUrls | ["https://example.com/photo-000.jpg"] |
| conveniences | ["Parking", "Wi-Fi"] |
| paymentInfo | ["Card", "Mobile pay"] |
| openingHours | { ... structured hours ... } |
| menus | [ { "name": "Sample Menu", "price": "0", "images": [] } ] |
| subwayStations | [ { "displayName": "Sample Station", "nearestExit": "0", "walkTime": 2 } ] |
| busStations | [ { "name": "Sample Stop", "walkTime": 1 } ] |
| topPhotos | ["https://example.com/photo-000.jpg"] |
| blogReviews | [ { "title": "Sample blog title", "url": "https://example.com/blog/000" } ] |
| visitorReviews | [ { "rating": 5, "body": "Sample review text", "authorNickname": "user000" } ] |
| searchKeyword | "dumpling house" |

### How to use

Pick a mode, then fill in the matching section. Examples:

**Basic keyword search (fast, list only)**

```json
{
  "mode": "search",
  "keywords": ["만두집"],
  "includeDetails": false,
  "maxItems": 20
}
````

**Keyword search with full details and reviews**

```json
{
  "mode": "search",
  "keywords": ["강남 카페"],
  "sort": "popular",
  "includeDetails": true,
  "includeReviews": true,
  "maxReviews": 30,
  "maxItems": 50
}
```

**Nearest places to a point**

```json
{
  "mode": "search",
  "keywords": ["카페"],
  "sort": "distance",
  "searchCoordinates": "37.4979,127.0276",
  "maxItems": 30
}
```

**Specific place and search URLs**

```json
{
  "mode": "url",
  "startUrls": [
    "https://m.place.naver.com/restaurant/00000001/home",
    "https://map.naver.com/p/search/서울 호텔"
  ],
  "includeDetails": true,
  "maxItems": 40
}
```

### Input parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| mode | string | "search" | "search" runs the keywords; "url" scrapes pasted URLs. |
| keywords | array | \["만두집"] | Search terms (search mode). Each is paginated to its full result count. |
| sort | string | "relevance" | "relevance", "distance" (nearest first), or "popular" (search mode). |
| searchCoordinates | string | central Seoul | Map centre "lat,lng" that biases results and powers distance sort. |
| startUrls | array | (none) | Naver Map place or search URLs, including short naver.me links (url mode). |
| includeDetails | boolean | true | Fetch the full place page (menus, hours, facilities, transit, photos, blog reviews). |
| includeReviews | boolean | false | Collect paginated visitor (star) reviews. |
| maxReviews | integer | 20 | Upper bound on visitor reviews collected per place. |
| maxItems | integer | 20 | Stop after this many places. 0 means no limit. |
| proxy | object | Apify datacenter | Connection settings. Datacenter is the cheapest reliable option. |
| maxResidentialMB | integer | 0 | Residential traffic budget; after it, the run auto-downgrades to datacenter. 0 = no cap. |
| mcpConnectors | array | (none) | Optional: pipe results into Notion, Linear, Airtable, or Apify apps. |

### Send results into your apps (MCP connectors)

Optionally mirror results into the apps you already use through Model Context Protocol (MCP) connectors. Authorize a connector once under Apify, Settings, Integrations, then select it in the `mcpConnectors` input. For Notion, also set `notionParentPageUrl`. The connector receives a condensed, human-readable summary per item (a title plus key fields), while the complete record always stays in the Apify dataset. Leaving `mcpConnectors` empty skips the export entirely and never changes the dataset output.

### Output example

> Sample shape, values are illustrative placeholders, not from a live listing.

```json
{
  "recordType": "place",
  "id": "00000001",
  "placeId": "00000001",
  "name": "Sample Dumpling House",
  "category": "Korean restaurant",
  "businessCategory": "restaurant",
  "placeUrl": "https://map.naver.com/p/entry/place/00000001",
  "latitude": 37.5000,
  "longitude": 127.0000,
  "distance": "120m",
  "phone": "+820000000000",
  "virtualPhone": "+820000000000",
  "address": "Sample-dong 000-0",
  "roadAddress": "Sample-ro 000",
  "fullAddress": "Seoul Sample-gu Sample-dong 000-0",
  "visitorReviewScore": 4.4,
  "visitorReviewCount": 0,
  "totalReviewCount": 0,
  "blogCafeReviewCount": 0,
  "imageUrls": ["https://example.com/photo-000.jpg"],
  "conveniences": ["Parking", "Wi-Fi"],
  "paymentInfo": ["Card"],
  "openingHours": null,
  "menus": [{ "name": "Sample Menu", "price": "0", "recommend": false, "images": [] }],
  "subwayStations": [{ "displayName": "Sample Station", "nearestExit": "0", "walkTime": 2, "walkingDistance": 130 }],
  "busStations": [{ "name": "Sample Stop", "walkTime": 1, "walkingDistance": 20 }],
  "topPhotos": ["https://example.com/photo-000.jpg"],
  "blogReviews": [{ "title": "Sample blog title", "url": "https://example.com/blog/000", "authorName": "blogger000" }],
  "visitorReviews": [{ "rating": 5, "body": "Sample review text", "authorNickname": "user000", "visited": "0.0" }],
  "searchKeyword": "dumpling house"
}
```

### Plan requirement

This scraper runs on Apify datacenter connections by default, so it works on every Apify plan, including the free tier. Residential connections are optional and only useful if datacenter is ever blocked; pick a country of `KR` if you enable them. Korean text (keywords, names, addresses, reviews) is fully supported in both input and output.

# Actor input Schema

## `mode` (type: `string`):

How to choose what to scrape. 'search' runs the keywords you enter; 'url' scrapes specific Naver Map place or search URLs you paste.

## `keywords` (type: `array`):

One or more Naver Map search terms, for example 만두집, 강남 카페, or 서울 호텔. Each keyword is paginated to its full result count (capped by Max records). Only applies in 'search' mode.

## `sort` (type: `string`):

Order of search results. 'relevance' is Naver's default ranking; 'distance' returns the nearest places first (relative to the search centre); 'popular' favours well-reviewed places. Only applies in 'search' mode.

## `searchCoordinates` (type: `string`):

Optional map centre that biases results and powers the 'distance' sort, written as 'latitude,longitude' (for example 37.4979,127.0276 for Gangnam). Defaults to central Seoul. Only applies in 'search' mode.

## `startUrls` (type: `array`):

Naver Map URLs to scrape: a place page (map.naver.com/p/entry/place/1234567, m.place.naver.com/restaurant/1234567/home), a short naver.me link, or a search page (map.naver.com/p/search/만두집). Multiple URLs supported. Only applies in 'url' mode.

## `includeDetails` (type: `boolean`):

Fetch the full place page for each result: menus, opening hours, facilities, payment options, exact coordinates, nearby subway and bus stops, photos, and blog reviews. This makes one extra request per place, so it is slower and billed separately. Turn off for a fast, cheap list-only run.

## `includeReviews` (type: `boolean`):

Collect star-rated visitor reviews for each place (rating, text, author, visit date, photos, keyword tags), paginated up to Max reviews per place. Adds extra requests per place.

## `maxReviews` (type: `integer`):

Upper bound on visitor reviews collected per place when Include visitor reviews is on. 0 disables review collection.

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

Stop after this many places across the whole run. The default (20) keeps a trial run small and cheap; set 0 for no limit (full coverage of every keyword, which can be thousands of places per keyword).

## `proxy` (type: `object`):

Connection settings. The data source returns full results over Apify datacenter, so datacenter (the default) is the cheapest reliable option. Residential is optional and only needed if datacenter is ever blocked.

## `maxResidentialMB` (type: `integer`):

Only applies when the proxy group is RESIDENTIAL. After this many MB of residential traffic, the run auto-downgrades to the cheaper datacenter tier (which serves identical data). 0 means no budget cap.

## `mcpConnectors` (type: `array`):

Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON — the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).

## `notionParentPageUrl` (type: `string`):

URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.

## `maxNotifyListings` (type: `integer`):

Cap on items written to each connector per run. Does not affect the dataset.

## Actor input object example

```json
{
  "mode": "search",
  "keywords": [
    "만두집"
  ],
  "sort": "relevance",
  "startUrls": [
    "https://map.naver.com/p/search/강남 카페"
  ],
  "includeDetails": true,
  "includeReviews": false,
  "maxReviews": 20,
  "maxItems": 20,
  "proxy": {
    "useApifyProxy": true
  },
  "maxResidentialMB": 0,
  "maxNotifyListings": 50
}
```

# 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 = {
    "keywords": [
        "만두집"
    ],
    "startUrls": [
        "https://map.naver.com/p/search/강남 카페"
    ],
    "maxItems": 20,
    "proxy": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/naver-map-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": ["만두집"],
    "startUrls": ["https://map.naver.com/p/search/강남 카페"],
    "maxItems": 20,
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/naver-map-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": [
    "만두집"
  ],
  "startUrls": [
    "https://map.naver.com/p/search/강남 카페"
  ],
  "maxItems": 20,
  "proxy": {
    "useApifyProxy": true
  }
}' |
apify call abotapi/naver-map-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Naver Map Scraper $1💰 Places, Menus, Reviews",
        "description": "From $1/1K. Scrape Naver Map places by keyword or URL: names, categories, ratings, phones, addresses, GPS, menus, opening hours, facilities, subway and bus transit, photos, plus visitor and blog reviews. 70+ fields, full pagination, three sort orders, fast and low cost.",
        "version": "1.0",
        "x-build-id": "XSX9KakMVqJqpF7Jo"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/abotapi~naver-map-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-abotapi-naver-map-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/abotapi~naver-map-scraper/runs": {
            "post": {
                "operationId": "runs-sync-abotapi-naver-map-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/abotapi~naver-map-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-abotapi-naver-map-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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Search mode",
                        "enum": [
                            "search",
                            "url"
                        ],
                        "type": "string",
                        "description": "How to choose what to scrape. 'search' runs the keywords you enter; 'url' scrapes specific Naver Map place or search URLs you paste.",
                        "default": "search"
                    },
                    "keywords": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "One or more Naver Map search terms, for example 만두집, 강남 카페, or 서울 호텔. Each keyword is paginated to its full result count (capped by Max records). Only applies in 'search' mode.",
                        "default": [
                            "만두집"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "sort": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "distance",
                            "popular"
                        ],
                        "type": "string",
                        "description": "Order of search results. 'relevance' is Naver's default ranking; 'distance' returns the nearest places first (relative to the search centre); 'popular' favours well-reviewed places. Only applies in 'search' mode.",
                        "default": "relevance"
                    },
                    "searchCoordinates": {
                        "title": "Search centre (lat,lng)",
                        "type": "string",
                        "description": "Optional map centre that biases results and powers the 'distance' sort, written as 'latitude,longitude' (for example 37.4979,127.0276 for Gangnam). Defaults to central Seoul. Only applies in 'search' mode."
                    },
                    "startUrls": {
                        "title": "URLs",
                        "type": "array",
                        "description": "Naver Map URLs to scrape: a place page (map.naver.com/p/entry/place/1234567, m.place.naver.com/restaurant/1234567/home), a short naver.me link, or a search page (map.naver.com/p/search/만두집). Multiple URLs supported. Only applies in 'url' mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeDetails": {
                        "title": "Include place details",
                        "type": "boolean",
                        "description": "Fetch the full place page for each result: menus, opening hours, facilities, payment options, exact coordinates, nearby subway and bus stops, photos, and blog reviews. This makes one extra request per place, so it is slower and billed separately. Turn off for a fast, cheap list-only run.",
                        "default": true
                    },
                    "includeReviews": {
                        "title": "Include visitor reviews",
                        "type": "boolean",
                        "description": "Collect star-rated visitor reviews for each place (rating, text, author, visit date, photos, keyword tags), paginated up to Max reviews per place. Adds extra requests per place.",
                        "default": false
                    },
                    "maxReviews": {
                        "title": "Max reviews per place",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Upper bound on visitor reviews collected per place when Include visitor reviews is on. 0 disables review collection.",
                        "default": 20
                    },
                    "maxItems": {
                        "title": "Max records",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Stop after this many places across the whole run. The default (20) keeps a trial run small and cheap; set 0 for no limit (full coverage of every keyword, which can be thousands of places per keyword).",
                        "default": 20
                    },
                    "proxy": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Connection settings. The data source returns full results over Apify datacenter, so datacenter (the default) is the cheapest reliable option. Residential is optional and only needed if datacenter is ever blocked.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "maxResidentialMB": {
                        "title": "Residential traffic budget (MB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only applies when the proxy group is RESIDENTIAL. After this many MB of residential traffic, the run auto-downgrades to the cheaper datacenter tier (which serves identical data). 0 means no budget cap.",
                        "default": 0
                    },
                    "mcpConnectors": {
                        "title": "Pipe results into your apps (optional)",
                        "type": "array",
                        "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON — the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
                    },
                    "notionParentPageUrl": {
                        "title": "Notion parent page (Notion connector only)",
                        "type": "string",
                        "description": "URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
                    },
                    "maxNotifyListings": {
                        "title": "Max items to export per connector",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Cap on items written to each connector per run. Does not affect the dataset.",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
