# Hipflat Scraper \[$0.80/1k💰] Thailand Property & Projects (`abotapi/hipflat-scraper`) Actor

Scrape hipflat.co.th property listings and new-project data across Thailand: price, price per m², beds, baths, area, floor, type, address, GPS, amenities, photos, full description and project facts. Buy and rent; search and URL modes; project records with available units; sorts and filters.

- **URL**: https://apify.com/abotapi/hipflat-scraper.md
- **Developed by:** [Abot API](https://apify.com/abotapi) (community)
- **Categories:** Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 property or project 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/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

## Hipflat Scraper — Thailand Property & Projects

Scrape property listings and new-project market data from **hipflat.co.th** across Thailand — buy and rent, condos, houses, villas, townhouses, apartments, land, offices, commercial and hotels — with rich, structured fields per record.

Two ways to run it, one clean dataset out.

### What you get

Per **listing** record:

- Identity: `listingId`, `url`, `title`, `dealType` (buy/rent), `propertyType`
- Price: `price`, `priceText`, `pricePerArea`, `currency`
- Size & layout: `bedrooms`, `bathrooms`, `area` (m²), `floor`
- Location: `address`, `latitude`, `longitude`
- Content: `description`, `images` (every photo), `mainImage`, `imageCount`
- With **Fetch details** on: full amenity list, floor, price per m², GPS, the full untruncated description, the parent-project facts (`projectName`, `projectDetails`) and the advertiser (`agencyName`, `agencyLogo`)

Per **project** record (project directories and project pages):

- `projectName`, `projectSlug`, `address`, `latitude`, `longitude`
- `saleFromPrice`, `rentFromPrice`, `availableUnitsCount`
- `units` (available units with price, price per m², layout), `amenities`, `facilities`, `nearby`, full `description`

Common rival field names are mirrored as aliases (e.g. `record_type`, `record_id`, `price_min`, `image_urls`, `coordinates`, `property_types`) so existing pipelines keep working.

### Modes

- **Search** — pick a deal type (buy/rent), property type and location, add optional price / bedroom / bathroom / area filters and a sort order. Location accepts English names for major provinces (Bangkok, Pattaya, Phuket, Chiang Mai, Chonburi, …) or a Thai province name; leave it empty to search all of Thailand.
- **URL** — paste any hipflat URL: a listing search (`/ขายคอนโด/กรุงเทพฯ`), a single listing (`/ads/...`), a project directory (`/thailand-projects/...`) or a project page (`/projects/...`). The actor detects the shape and scrapes it. Filter fields are ignored in this mode.

### Filters & sorting (search mode)

- Deal type: buy, rent
- Property type: condo, house, villa, townhouse, apartment, land, office, commercial, hotel
- Price range (`minPrice` / `maxPrice`, THB)
- Bedrooms, minimum bathrooms, area range (`minArea` / `maxArea`, m²)
- Sort: relevance, price ↑/↓, bedrooms ↑/↓, area ↑/↓, newest first

### Limits

- **Max items** — the single run cap (default 20; set 0 for unlimited).
- **Max pages** — optional per-search page ceiling; unlimited by default, defers to Max items.

### Output caps only

The actor manages its own reliability internally. The only limits you set are the output caps above — there are no concurrency or retry knobs to tune.

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

Optionally pipe each record into the apps you already use via Model Context Protocol connectors — Notion, Linear, Airtable or Apify. Authorize a connector once under **Apify → Settings → Integrations**, then select it in the input. The connector receives a condensed, human-readable summary per item; the full record always stays in the dataset.

### Plan requirement

Runs on any Apify plan, including the free tier. hipflat serves results only to a Thailand connection, so keep the default Thailand proxy for reliable results. On a limited or free connection the site may return no results; the input warns you when that is the case.

### Pricing

Pay per event: one charge when the run starts, one per record pushed, and — only when **Fetch details** is on — one per listing whose detail page is fetched. Runs with detail fetching off are billed only for the records they return.

# Actor input Schema

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

search = build searches from a location + filters. url = paste hipflat listing searches, single listing pages, project directories or project pages.
## `locations` (type: `array`):

Locations to search, e.g. Bangkok, Pattaya, Phuket, Chiang Mai, Chonburi. English names for major provinces are mapped automatically; a Thai province name also works. Leave empty to search all of Thailand. Only applies when mode = search.
## `dealType` (type: `string`):

Buy or rent. Only applies when mode = search.
## `propertyType` (type: `string`):

Property category to search. Only applies when mode = search.
## `minPrice` (type: `integer`):

Minimum price in Thai baht (for-sale total, or monthly rent). Only applies when mode = search.
## `maxPrice` (type: `integer`):

Maximum price in Thai baht (for-sale total, or monthly rent). Only applies when mode = search.
## `bedrooms` (type: `integer`):

Number of bedrooms (0 = studio, 4 = 4 or more). Only applies when mode = search.
## `minBathrooms` (type: `integer`):

Minimum number of bathrooms. Only applies when mode = search.
## `minArea` (type: `integer`):

Minimum usable area in square metres. Only applies when mode = search.
## `maxArea` (type: `integer`):

Maximum usable area in square metres. Only applies when mode = search.
## `sortBy` (type: `string`):

Result ordering. Only applies when mode = search.
## `urls` (type: `array`):

Paste one or more hipflat URLs. Supported: listing searches (e.g. /ขายคอนโด/กรุงเทพฯ), single listing pages (/ads/...), project directories (/thailand-projects/...) and project pages (/projects/...). Filter fields above are ignored in this mode.
## `includeProjectDetails` (type: `boolean`):

When scraping a project directory URL, also fetch each project page to add its available units, facilities, developer, GPS and full description. Adds one request per project and is billed one detail-enrichment event per enriched project.
## `fetchDetails` (type: `boolean`):

Fetch each listing page to add floor, price per m², GPS, the full amenity list, the full untruncated description and the parent-project facts. The search results already include title, price, bedrooms, bathrooms, area, property type, description and photos, so leave this off for the leanest, cheapest run. Adds one request per listing.
## `maxPages` (type: `integer`):

Optional safety stop on how many result pages to read per location/URL (about 30 records per page). This does NOT cap the run: leave it empty (or 0) for unlimited pages and the run is bounded solely by Max items. Set a value only if you also want a per-search page ceiling.
## `maxItems` (type: `integer`):

The run's single hard cap: maximum total records across all searches. Defaults to 20. Set 0 for unlimited. This is the only default limit; Max pages is unlimited by default and defers to this.
## `proxy` (type: `object`):

A Thailand residential proxy is required: hipflat serves results only to Thailand residential connections. The actor defaults the country to Thailand.
## `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",
  "locations": [
    "Bangkok"
  ],
  "dealType": "buy",
  "propertyType": "condo",
  "sortBy": "relevance",
  "urls": [
    "https://www.hipflat.co.th/ขายคอนโด/กรุงเทพฯ"
  ],
  "includeProjectDetails": false,
  "fetchDetails": false,
  "maxItems": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "TH"
  },
  "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 = {
    "mode": "search",
    "locations": [
        "Bangkok"
    ],
    "urls": [
        "https://www.hipflat.co.th/ขายคอนโด/กรุงเทพฯ"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "TH"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/hipflat-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 = {
    "mode": "search",
    "locations": ["Bangkok"],
    "urls": ["https://www.hipflat.co.th/ขายคอนโด/กรุงเทพฯ"],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "TH",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/hipflat-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 '{
  "mode": "search",
  "locations": [
    "Bangkok"
  ],
  "urls": [
    "https://www.hipflat.co.th/ขายคอนโด/กรุงเทพฯ"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "TH"
  }
}' |
apify call abotapi/hipflat-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Hipflat Scraper [$0.80/1k💰] Thailand Property & Projects",
        "description": "Scrape hipflat.co.th property listings and new-project data across Thailand: price, price per m², beds, baths, area, floor, type, address, GPS, amenities, photos, full description and project facts. Buy and rent; search and URL modes; project records with available units; sorts and filters.",
        "version": "1.0",
        "x-build-id": "VbC7vsB2xq5aSYIwe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/abotapi~hipflat-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-abotapi-hipflat-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~hipflat-scraper/runs": {
            "post": {
                "operationId": "runs-sync-abotapi-hipflat-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~hipflat-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-abotapi-hipflat-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": "Mode",
                        "enum": [
                            "search",
                            "url"
                        ],
                        "type": "string",
                        "description": "search = build searches from a location + filters. url = paste hipflat listing searches, single listing pages, project directories or project pages.",
                        "default": "search"
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Locations to search, e.g. Bangkok, Pattaya, Phuket, Chiang Mai, Chonburi. English names for major provinces are mapped automatically; a Thai province name also works. Leave empty to search all of Thailand. Only applies when mode = search.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "dealType": {
                        "title": "Deal type",
                        "enum": [
                            "buy",
                            "rent"
                        ],
                        "type": "string",
                        "description": "Buy or rent. Only applies when mode = search.",
                        "default": "buy"
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "condo",
                            "house",
                            "villa",
                            "townhouse",
                            "apartment",
                            "land",
                            "office",
                            "commercial",
                            "hotel"
                        ],
                        "type": "string",
                        "description": "Property category to search. Only applies when mode = search.",
                        "default": "condo"
                    },
                    "minPrice": {
                        "title": "Min price (THB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in Thai baht (for-sale total, or monthly rent). Only applies when mode = search."
                    },
                    "maxPrice": {
                        "title": "Max price (THB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in Thai baht (for-sale total, or monthly rent). Only applies when mode = search."
                    },
                    "bedrooms": {
                        "title": "Bedrooms",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of bedrooms (0 = studio, 4 = 4 or more). Only applies when mode = search."
                    },
                    "minBathrooms": {
                        "title": "Min bathrooms",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of bathrooms. Only applies when mode = search."
                    },
                    "minArea": {
                        "title": "Min area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum usable area in square metres. Only applies when mode = search."
                    },
                    "maxArea": {
                        "title": "Max area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum usable area in square metres. Only applies when mode = search."
                    },
                    "sortBy": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "price_asc",
                            "price_desc",
                            "bedrooms_asc",
                            "bedrooms_desc",
                            "area_asc",
                            "area_desc",
                            "newest"
                        ],
                        "type": "string",
                        "description": "Result ordering. Only applies when mode = search.",
                        "default": "relevance"
                    },
                    "urls": {
                        "title": "Hipflat URLs",
                        "type": "array",
                        "description": "Paste one or more hipflat URLs. Supported: listing searches (e.g. /ขายคอนโด/กรุงเทพฯ), single listing pages (/ads/...), project directories (/thailand-projects/...) and project pages (/projects/...). Filter fields above are ignored in this mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeProjectDetails": {
                        "title": "Fetch full project record for each project (project directory URLs)",
                        "type": "boolean",
                        "description": "When scraping a project directory URL, also fetch each project page to add its available units, facilities, developer, GPS and full description. Adds one request per project and is billed one detail-enrichment event per enriched project.",
                        "default": false
                    },
                    "fetchDetails": {
                        "title": "Fetch full detail for each listing",
                        "type": "boolean",
                        "description": "Fetch each listing page to add floor, price per m², GPS, the full amenity list, the full untruncated description and the parent-project facts. The search results already include title, price, bedrooms, bathrooms, area, property type, description and photos, so leave this off for the leanest, cheapest run. Adds one request per listing.",
                        "default": false
                    },
                    "maxPages": {
                        "title": "Max pages per search",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Optional safety stop on how many result pages to read per location/URL (about 30 records per page). This does NOT cap the run: leave it empty (or 0) for unlimited pages and the run is bounded solely by Max items. Set a value only if you also want a per-search page ceiling."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "The run's single hard cap: maximum total records across all searches. Defaults to 20. Set 0 for unlimited. This is the only default limit; Max pages is unlimited by default and defers to this.",
                        "default": 20
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "A Thailand residential proxy is required: hipflat serves results only to Thailand residential connections. The actor defaults the country to Thailand."
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
