# DDProperty Scraper (`bkktor/ddproperty-scraper`) Actor

Extract Thai property listings from DDProperty.com — prices, sizes, agent info, and photos. Filter by location, bedrooms, price, and MRT distance. No coding required.

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

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## DDProperty Scraper

Extract property listings from [DDProperty.com](https://www.ddproperty.com) — Thailand's largest real estate portal — at scale. Get prices, sizes, locations, agent info, photos, and facilities for any search, without writing a single line of code.

### What it does

This Actor scrapes DDProperty search results and saves them as structured data (JSON, CSV, Excel). Set your filters — or paste a search URL — and it will collect every matching listing, following pagination automatically.

**Typical use cases:**
- Rental and sale price research across Bangkok neighbourhoods
- Tracking market trends over time (run on a schedule)
- Finding underpriced properties for investors and flippers
- Building a property database for real estate agents
- Academic or journalistic research on the Thai property market

---

### What you get

Each scraped listing includes:

| Field | Description |
|---|---|
| `title` | Listing title |
| `priceThb` | Numeric price in Thai Baht |
| `priceDisplay` | Raw price string (e.g. "฿45,000/mo") |
| `address` | District, area, and province |
| `propertyType` | Condo, House, Townhouse, Villa, Land, etc. |
| `bedrooms` | Number of bedrooms |
| `bathrooms` | Number of bathrooms |
| `sizeSqm` | Floor size in square metres |
| `floor` | Floor level (where available) |
| `agentName` | Listing agent's name |
| `description` | Full property description |
| `images` | Array of listing photo URLs (up to 10) |
| `facilities` | Amenities: pool, gym, parking, etc. |
| `url` | Direct link to the DDProperty listing |
| `listingId` | Unique DDProperty listing ID |
| `scrapedAt` | ISO timestamp of when it was scraped |

---

### How to use it

#### Option 1 — Use the filter fields (easiest)

Fill in the form fields — listing type, region, bedrooms, price range, size, property type, MRT distance — and the Actor builds the search URL for you. Good for quick searches.

#### Option 2 — Paste a search URL (more control)

1. Go to [ddproperty.com](https://www.ddproperty.com)
2. Search with any filters you want
3. Copy the URL from your browser address bar
4. Paste it into the **Start URLs** field

Pasting a URL overrides all filter fields. You can paste multiple URLs to scrape several searches in one run.

**Example URL:**
````

https://www.ddproperty.com/en/property-for-rent?listingType=rent\&isCommercial=false\&maxPrice=60000\&minSize=80\&regionCode=TH10\&bedrooms=2\&bedrooms=3\&distanceToMRT=0.75

````

---

### Input configuration

| Field | Default | Description |
|---|---|---|
| **Start URLs** | — | One or more DDProperty search URLs. Overrides all filter fields if provided. |
| **Listing Type** | For Rent | Rent or Sale |
| **Region / Province** | Bangkok | Thai province to search in |
| **Bedrooms** | 2, 3, 4 | One or more bedroom counts |
| **Min / Max Price (฿)** | 0 / 60,000 | Price range in THB |
| **Min / Max Size (sqm)** | 80 / — | Floor size range |
| **Property Type** | Any | Condo, House, Townhouse, Villa, etc. |
| **Max Distance to MRT/BTS** | Any | Walking distance filter (500m–2km) |
| **Area / Keyword** | — | Free-text search, e.g. "Ekkamai" or "Thonglor" |
| **Max Listings** | 100 | Total listings to collect. Set to 0 for unlimited. |
| **Max Concurrency** | 3 | Parallel browser tabs. Keep at 2–4 to avoid blocks. |
| **Proxy Configuration** | — | Optional proxy settings |

---

### Cost estimation

| Listings | Estimated cost |
|---|---|
| 100 (default) | ~$0.10–0.20 |
| 500 | ~$0.50–1.00 |
| 2,000 | ~$2.00–4.00 |

*Costs vary based on page load times and how heavily DDProperty rate-limits your session.*

---

### Output example

```json
{
  "url": "https://www.ddproperty.com/en/property-for-rent/condo-for-rent-ekkamai-12345678",
  "listingId": "12345678",
  "title": "2 Bed Condo for Rent in Ekkamai, near BTS",
  "priceThb": 45000,
  "priceDisplay": "฿45,000/mo",
  "address": "Ekkamai, Watthana, Bangkok",
  "propertyType": "Condo",
  "bedrooms": 2,
  "bathrooms": 2,
  "sizeSqm": 85,
  "sizeDisplay": "85 sqm",
  "floor": "12",
  "agentName": "Somchai Properties",
  "description": "Fully furnished, high floor, city views...",
  "images": ["https://img.ddproperty.com/..."],
  "facilities": ["Swimming Pool", "Gym", "Parking", "Security"],
  "scrapedAt": "2026-06-27T12:00:00.000Z"
}
````

Results are available in the **Dataset** tab after the run. Download as **JSON, CSV, Excel, or XML**.

***

### Tips for best results

- **Start small:** Run with 20–50 listings first to verify the filters are set correctly before scaling up
- **Use residential proxies:** DDProperty occasionally blocks datacenter IPs. Enable Apify Residential proxies for more reliable results
- **Schedule for monitoring:** Use Apify's scheduling feature to re-run the Actor daily or weekly and track price changes over time
- **Combine with filters:** Paste a URL from DDProperty with all your filters pre-applied for the most precise search

***

### Limitations

- **Terms of service:** Scraping DDProperty is against their ToS. Use this tool responsibly and only for legitimate research or personal use.
- **Dynamic content:** Listings load with JavaScript — the Actor uses a full Chromium browser to handle this, which is slower than HTML-only scraping.
- **Selector fragility:** DDProperty may update their page structure, which can break field extraction. If you notice empty fields, open an issue.
- **Rate limiting:** Running too many concurrent sessions may trigger blocks. Keep Max Concurrency at 2–4.

***

### Troubleshooting

**❌ Actor runs but returns no listings**
→ DDProperty may have changed their page structure. Open an issue with the search URL you were using.

**❌ All fields are null except `url`**
→ The Actor was likely blocked. Enable residential proxies and reduce concurrency to 2.

**❌ Fewer results than expected**
→ DDProperty paginates results. Make sure Max Listings is set high enough, or set it to 0 for unlimited.

***

### Need help?

Open an issue in the Issues tab. Please include:

- The search URL or filters you were using
- The error message or unexpected behavior
- Your proxy configuration

***

### Legal

This tool is provided for research and personal use. You are responsible for complying with DDProperty's Terms of Service and applicable laws in your jurisdiction. The author does not condone scraping for spam, commercial misuse, or any illegal purpose.

# Actor input Schema

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

Paste one or more DDProperty search URLs here. If provided, all filter fields below are ignored.

## `listingType` (type: `string`):

Search for rental or sale properties.

## `regionCode` (type: `string`):

Thai province to search in.

## `bedrooms` (type: `array`):

Select one or more bedroom counts. Leave empty for any.

## `minPrice` (type: `integer`):

Minimum price in THB. Leave at 0 for no minimum.

## `maxPrice` (type: `integer`):

Maximum price in THB. Leave at 0 for no maximum.

## `minSize` (type: `integer`):

Minimum floor size in square metres. Leave at 0 for no minimum.

## `maxSize` (type: `integer`):

Maximum floor size in square metres. Leave at 0 for no maximum.

## `propertyType` (type: `string`):

Filter by property type. Leave as Any to include all types.

## `distanceToMRT` (type: `string`):

Filter by maximum walking distance to nearest MRT/BTS station. Leave as Any for no filter.

## `freetext` (type: `string`):

Free-text area or keyword search, e.g. Ekkamai, Thonglor, Sukhumvit.

## `isCommercial` (type: `boolean`):

Toggle on to search commercial listings only.

## `maxListings` (type: `integer`):

Maximum total listings to scrape. 0 = unlimited.

## `maxConcurrency` (type: `integer`):

Concurrent browser tabs. Keep at 2-4 to avoid blocks.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. Enable Apify Residential or Datacenter proxies if you have access. Leave disabled to run without a proxy.

## Actor input object example

```json
{
  "listingType": "rent",
  "regionCode": "TH10",
  "bedrooms": [
    "2",
    "3",
    "4"
  ],
  "minPrice": 0,
  "maxPrice": 60000,
  "minSize": 80,
  "maxSize": 0,
  "propertyType": "",
  "distanceToMRT": "",
  "freetext": "",
  "isCommercial": false,
  "maxListings": 100,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

All extracted property listings. Download as JSON, CSV, or Excel from the Dataset tab.

# 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 = {
    "bedrooms": [
        "2",
        "3",
        "4"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("bkktor/ddproperty-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 = {
    "bedrooms": [
        "2",
        "3",
        "4",
    ],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("bkktor/ddproperty-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 '{
  "bedrooms": [
    "2",
    "3",
    "4"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call bkktor/ddproperty-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "DDProperty Scraper",
        "description": "Extract Thai property listings from DDProperty.com — prices, sizes, agent info, and photos. Filter by location, bedrooms, price, and MRT distance. No coding required.",
        "version": "0.1",
        "x-build-id": "bVEMgchD2y8xubfDo"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/bkktor~ddproperty-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-bkktor-ddproperty-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/bkktor~ddproperty-scraper/runs": {
            "post": {
                "operationId": "runs-sync-bkktor-ddproperty-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/bkktor~ddproperty-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-bkktor-ddproperty-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": {
                    "startUrls": {
                        "title": "Start URLs (optional — overrides filters below)",
                        "type": "array",
                        "description": "Paste one or more DDProperty search URLs here. If provided, all filter fields below are ignored.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "listingType": {
                        "title": "Listing Type",
                        "enum": [
                            "rent",
                            "sale"
                        ],
                        "type": "string",
                        "description": "Search for rental or sale properties.",
                        "default": "rent"
                    },
                    "regionCode": {
                        "title": "Region / Province",
                        "enum": [
                            "TH10",
                            "TH11",
                            "TH12",
                            "TH13",
                            "TH14",
                            "TH73",
                            "TH74",
                            "TH83",
                            "TH84",
                            "TH85"
                        ],
                        "type": "string",
                        "description": "Thai province to search in.",
                        "default": "TH10"
                    },
                    "bedrooms": {
                        "title": "Bedrooms",
                        "type": "array",
                        "description": "Select one or more bedroom counts. Leave empty for any.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "0",
                                "1",
                                "2",
                                "3",
                                "4",
                                "5"
                            ],
                            "enumTitles": [
                                "Studio",
                                "1 Bed",
                                "2 Beds",
                                "3 Beds",
                                "4 Beds",
                                "5+ Beds"
                            ]
                        }
                    },
                    "minPrice": {
                        "title": "Min Price (฿)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in THB. Leave at 0 for no minimum.",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "Max Price (฿)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in THB. Leave at 0 for no maximum.",
                        "default": 60000
                    },
                    "minSize": {
                        "title": "Min Size (sqm)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum floor size in square metres. Leave at 0 for no minimum.",
                        "default": 80
                    },
                    "maxSize": {
                        "title": "Max Size (sqm)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum floor size in square metres. Leave at 0 for no maximum.",
                        "default": 0
                    },
                    "propertyType": {
                        "title": "Property Type",
                        "enum": [
                            "",
                            "condo",
                            "house",
                            "townhouse",
                            "villa",
                            "land",
                            "commercial"
                        ],
                        "type": "string",
                        "description": "Filter by property type. Leave as Any to include all types.",
                        "default": ""
                    },
                    "distanceToMRT": {
                        "title": "Max Distance to MRT/BTS (km)",
                        "enum": [
                            "",
                            "0.5",
                            "0.75",
                            "1",
                            "1.5",
                            "2"
                        ],
                        "type": "string",
                        "description": "Filter by maximum walking distance to nearest MRT/BTS station. Leave as Any for no filter.",
                        "default": ""
                    },
                    "freetext": {
                        "title": "Area / Keyword",
                        "type": "string",
                        "description": "Free-text area or keyword search, e.g. Ekkamai, Thonglor, Sukhumvit.",
                        "default": ""
                    },
                    "isCommercial": {
                        "title": "Commercial Properties Only",
                        "type": "boolean",
                        "description": "Toggle on to search commercial listings only.",
                        "default": false
                    },
                    "maxListings": {
                        "title": "Max Listings",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum total listings to scrape. 0 = unlimited.",
                        "default": 100
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Concurrent browser tabs. Keep at 2-4 to avoid blocks.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional proxy settings. Enable Apify Residential or Datacenter proxies if you have access. Leave disabled to run without a proxy."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
