# Edgeprop Property Search Scraper (`stealth_mode/edgeprop-property-search-scraper`) Actor

Scrape residential and commercial property listings from EdgeProp.my and EdgeProp.sg. Collect 40+ property attributes including pricing, agent details, location data, amenities, and market metrics — perfect for real estate investors, market analysts, and property researchers.

- **URL**: https://apify.com/stealth\_mode/edgeprop-property-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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.
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

## EdgeProp Property Search Scraper: Extract Real Estate Listings from Malaysia & Singapore

---

### About EdgeProp

EdgeProp is Southeast Asia's premier property portal, serving the Malaysian and Singapore real estate markets with comprehensive listings, agent networks, and market insights. With thousands of active properties across residential, commercial, and industrial categories, EdgeProp attracts serious buyers, investors, and agents. Manually collecting property data from search results is labor-intensive — the **EdgeProp Property Search Scraper** automates this process, delivering structured datasets perfect for analysis and integration.

---

### Overview

The **EdgeProp Property Search Scraper** extracts complete property listings from EdgeProp search result pages, transforming raw HTML into clean, analysis-ready data. It is ideal for:

- **Real estate investors** monitoring market trends and pricing patterns
- **Market researchers** analyzing property supply, demand, and regional variations
- **Data analysts** building datasets for pricing models and valuations
- **Business intelligence teams** integrating property data into dashboards and reports

The scraper handles paginated search results efficiently, supports configurable volume limits, and gracefully continues on URL failures, making it reliable for bulk data collection across Malaysian and Singaporean markets.

---

### Input Format

The scraper accepts a JSON configuration specifying which property pages to scrape:

```json
{
  "urls": [
    "https://www.edgeprop.my/buy/malaysia/all-residential?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Parameter | Type | Description | Example |
|---|---|---|---|
| `urls` | Array | URLs of EdgeProp search result pages to scrape | `["https://www.edgeprop.my/buy/malaysia/all-residential?page=1"]` |
| `ignore_url_failures` | Boolean | If `true`, continues scraping even if some URLs fail | `true` |
| `max_items_per_url` | Integer | Maximum properties extracted per URL (1–200) | `200` |

**Tips:**

- Use direct EdgeProp search pages (e.g., `/buy/`, `/rent/`, or `/commercial/`)
- Include `?page=X` parameters to target specific result pages
- Set `max_items_per_url: 200` for maximum efficiency; use lower values to cap volume

***

### Output Format

**Sample output**

```json
{
  "listing_type": "sale",
  "agent_plan": "premium",
  "location": "5.3892837657674,100.40094338354",
  "listing_id": 3702204,
  "agent_id": 65632,
  "agent_name": "EdgeProp",
  "agent_ren": "EdgeProp.my",
  "agent_agency": "EdgeProp.my",
  "agent_contact": "911911911",
  "agent_profile_image": "https://d5dkjitd3iude.cloudfront.net/eyJidWNrZXQiOiJ3d3cudGhlZWRnZXByb3BlcnR5LmNvbS5teSIsImtleSI6InMzZnMtcHVibGljXC84ODNfMTU5MDk4MjU5OF9wcm9maWxlX2VkZ2U5MTEuanBnIiwiZWRpdHMiOnsicmVzaXplIjp7IndpZHRoIjoxMjUsImhlaWdodCI6MTI1LCJmaXQiOiJjb3ZlciJ9fX0=",
  "agent_agency_logo": "https://d5dkjitd3iude.cloudfront.net/eyJidWNrZXQiOiJ3d3cudGhlZWRnZXByb3BlcnR5LmNvbS5teSIsImtleSI6InMzZnMtcHVibGljXC85MTBfMTcwNDIxMDY3M19sb2dvX3VzZXJpY29ubmV3LnBuZyIsImVkaXRzIjp7InJlc2l6ZSI6eyJoZWlnaHQiOjQwLCJmaXQiOiJvdXRzaWRlIn19fQ==",
  "is_rrt_verified": 0,
  "only_verified_leads": 0,
  "status": 1,
  "title": "SkyWorld Pearlmont",
  "headline": "SkyWorld Pearlmont",
  "created_timestamp": 1762499005,
  "updated_at": "2026-03-06T15:45:57Z",
  "changed_timestamp": 1772783157,
  "state": "Penang",
  "district": "Seberang Jaya",
  "property_class": 1,
  "completion_year": 2029,
  "additional_amenities": [
    "Jogging Track",
    "Outdoor Fitness",
    "Plaza/ Lounges",
    "BBQ Pit",
    "Terrace Garden",
    "Pavilion",
    "Open Rooftop",
    "Playground",
    "Viewing Deck",
    "Open Lawn & Amphitheater",
    "Community Hall"
  ],
  "area_unit": null,
  "asking_price": 323000,
  "asking_price_type": "Negotiable",
  "bathrooms": 2,
  "bedrooms": 3,
  "built_up": 900,
  "built_up_price_per_unit": 358.89,
  "built_up_unit": "sqft",
  "images": [
    "https://d5dkjitd3iude.cloudfront.net/eyJidWNrZXQiOiJ3d3cudGhlZWRnZXByb3BlcnR5LmNvbS5teSIsImtleSI6InMzZnMtcHVibGljXC82NTYzMl8xNzcyNzgzMDM1XzVFZGdQcm81X2ZhY2FkZWZhM18wLmpwZyIsImVkaXRzIjp7InJlc2l6ZSI6eyJ3aWR0aCI6ODYwLCJoZWlnaHQiOjQ2MCwiZml0IjoiY292ZXIifX19",
    "https://d5dkjitd3iude.cloudfront.net/eyJidWNrZXQiOiJ3d3cudGhlZWRnZXByb3BlcnR5LmNvbS5teSIsImtleSI6InMzZnMtcHVibGljXC82NTYzMl8xNzYyNTAwODg5XzVFZGdQcm81X3Bvb2xfMC5qcGciLCJlZGl0cyI6eyJyZXNpemUiOnsid2lkdGgiOjg2MCwiaGVpZ2h0Ijo0NjAsImZpdCI6ImNvdmVyIn19fQ==",
    "https://d5dkjitd3iude.cloudfront.net/eyJidWNrZXQiOiJ3d3cudGhlZWRnZXByb3BlcnR5LmNvbS5teSIsImtleSI6InMzZnMtcHVibGljXC82NTYzMl8xNzYyNTAwODkwXzVFZGdQcm81X2xhbmRzY2FwZV8wLmpwZyIsImVkaXRzIjp7InJlc2l6ZSI6eyJ3aWR0aCI6ODYwLCJoZWlnaHQiOjQ2MCwiZml0IjoiY292ZXIifX19",
    "https://d5dkjitd3iude.cloudfront.net/eyJidWNrZXQiOiJ3d3cudGhlZWRnZXByb3BlcnR5LmNvbS5teSIsImtleSI6InMzZnMtcHVibGljXC82NTYzMl8xNzYyNTAwODkwXzVFZGdQcm81X3N1bmJlZGRlY2tfMC5qcGciLCJlZGl0cyI6eyJyZXNpemUiOnsid2lkdGgiOjg2MCwiaGVpZ2h0Ijo0NjAsImZpdCI6ImNvdmVyIn19fQ==",
    "https://d5dkjitd3iude.cloudfront.net/eyJidWNrZXQiOiJ3d3cudGhlZWRnZXByb3BlcnR5LmNvbS5teSIsImtleSI6InMzZnMtcHVibGljXC82NTYzMl8xNzYyNTAwODg5XzVFZGdQcm81X3R5cGljYWx1bml0XzAuanBnIiwiZWRpdHMiOnsicmVzaXplIjp7IndpZHRoIjo4NjAsImhlaWdodCI6NDYwLCJmaXQiOiJjb3ZlciJ9fX0="
  ],
  "postcode": 13700,
  "property_type_id": 33,
  "property_subtype_id": 34,
  "developer_name": "SkyWorld Development Bhd",
  "developer_logo": "https://dbv47yu57n5vf.cloudfront.net/vpex/developer/images/logo/SkyWorld-Logo_R.png",
  "listing_url": "sale/3702204/penang/seberang_jaya/nonlanded/condominium-apartment-servicedresidence/skyworld-pearlmont",
  "score": 1.5844276,
  "description": "SkyWorld Pearlmont For sale @ RM 323,000 by EdgeProp",
  "shortlist_count": 0,
  "from_url": "https://www.edgeprop.my/buy"
}
```

Each property returns a detailed record with 40+ fields covering listing info, pricing, location, agent details, and property characteristics:

#### Listing & Agent Information

| Field | Meaning |
|---|---|
| `Listing Type` | Category type (Buy, Rent, etc.) |
| `Listing ID` | Unique EdgeProp identifier for the property |
| `Listing URL` | Direct link to the property listing |
| `Status` | Current listing status (active, pending, sold) |
| `Agent Name` | Name of the listing agent |
| `Agent ID` | Agent's unique EdgeProp ID |
| `Agent REN` | Malaysia Real Estate Negotiator license number |
| `Agent Agency` | Name of the brokerage firm |
| `Agent Contact` | Agent's phone or email |
| `Agent Profile Image` | URL to agent's photo |
| `Agent Agency Logo` | Brokerage logo URL |
| `RRT Verified` | Whether agent holds RRT (Real Estate Trust Account) verification |
| `Only Verified Leads` | Whether agent accepts only verified buyer/seller leads |
| `Agent Plan` | Subscription or listing plan type |

#### Property Basics

| Field | Meaning |
|---|---|
| `Title` | Property listing headline/title |
| `Headline` | Descriptive headline for the listing |
| `Description` | Full property description and features |
| `Property Type ID` | Numeric code for property type |
| `Property Subtype ID` | Specific property category code |
| `Property Class` | Classification (e.g., residential, commercial) |
| `Developer Name` | Name of the project developer (if applicable) |
| `Developer Logo` | Developer's logo URL |

#### Location & Geography

| Field | Meaning |
|---|---|
| `Location` | Full location name or project name |
| `State` | State/province (e.g., Selangor, Kuala Lumpur, Singapore) |
| `District` | District or sub-region |
| `Postcode` | Postal code |
| `Asking Price` | Listed asking price in local currency |
| `Asking Price Type` | Price format (total, per unit, per sqft) |

#### Property Specifications

| Field | Meaning |
|---|---|
| `Bedrooms` | Number of bedrooms |
| `Bathrooms` | Number of bathrooms |
| `Built Up` | Total built-up area |
| `Built Up Unit` | Unit of measurement (sqft, sqm) |
| `Built Up Price Per Unit` | Calculated price per unit area |
| `Area Unit` | Land area measurement unit |
| `Completion Year` | Year property was/will be completed |
| `Additional Amenities` | List of facilities (gym, pool, security, parking, etc.) |
| `Images` | Array of property image URLs |

#### Engagement & Performance Metrics

| Field | Meaning |
|---|---|
| `Score` | EdgeProp listing quality or popularity score |
| `Shortlist Count` | Number of times the property was favorited |
| `Created Timestamp` | Date listing was first created |
| `Updated At` | Last update timestamp |
| `Changed Timestamp` | When listing details were last modified |

***

### How to Use

1. **Identify property pages** — Go to EdgeProp.my run a search (e.g., "All Residential"), and copy the URL including the `?page=X` parameter.

2. **Prepare your input** — Add URLs to the `urls` array. You can target:
   - Single pages: `https://www.edgeprop.my/buy/malaysia/all-residential?page=1`
   - Multiple pages: Add multiple URLs to the array

3. **Configure limits** — Set `max_items_per_url` based on your needs (default: 200 items per page).

4. **Enable fault tolerance** — Keep `ignore_url_failures: true` to skip unavailable pages and continue scraping.

5. **Launch and monitor** — Start the scraper and track progress. Results are downloadable in JSON, CSV, or Excel format.

**Best practices:**

- Start with a single page to test your configuration
- Use specific property type filters to focus on relevant listings
- Export as CSV for spreadsheet analysis or JSON for programmatic use
- Run during off-peak hours to minimize server load

***

### Use Cases & Business Value

- **Investment analysis:** Track price trends, ROI potential, and market saturation across regions
- **Competitive benchmarking:** Monitor competitor properties, pricing strategies, and agent performance
- **Market reports:** Build dashboards showing supply, demand, and price evolution
- **Lead generation:** Identify emerging neighborhoods and development projects
- **Academic research:** Analyze real estate market patterns in Malaysia and Singapore

By automating property data collection, you unlock insights that would take days to gather manually — enabling faster decision-making and data-driven investment strategies.

***

### Conclusion

The **EdgeProp Property Search Scraper** is the efficient way to harvest structured real estate data from Malaysia's and Singapore's most active property platforms. With 40+ detailed fields per listing and flexible configuration, it empowers investors, analysts, and businesses to make informed decisions based on current market data. Start scraping today and transform property search results into competitive advantage.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.edgeprop.my/buy/malaysia/all-residential?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.edgeprop.my/buy/malaysia/all-residential?page=2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/edgeprop-property-search-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 = {
    "urls": ["https://www.edgeprop.my/buy/malaysia/all-residential?page=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/edgeprop-property-search-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 '{
  "urls": [
    "https://www.edgeprop.my/buy/malaysia/all-residential?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/edgeprop-property-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Edgeprop Property Search Scraper",
        "description": "Scrape residential and commercial property listings from EdgeProp.my and EdgeProp.sg. Collect 40+ property attributes including pricing, agent details, location data, amenities, and market metrics — perfect for real estate investors, market analysts, and property researchers.",
        "version": "0.0",
        "x-build-id": "o3R8CqEJFPT8bxytt"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~edgeprop-property-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-edgeprop-property-search-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/stealth_mode~edgeprop-property-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-edgeprop-property-search-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/stealth_mode~edgeprop-property-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-edgeprop-property-search-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": {
                    "urls": {
                        "title": "URLs of the property list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
