# PropertyFinder Scraper — Listings, Prices & Agent Leads (`logiover/propertyfinder-scraper`) Actor

Scrape PropertyFinder Dubai & Gulf listings without login. Export prices, geo & agent email/phone to CSV/JSON. A PropertyFinder API alternative.

- **URL**: https://apify.com/logiover/propertyfinder-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 5 total users, 3 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 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

<div align="center">

<img src="https://cdn-icons-png.flaticon.com/128/619/619153.png" width="92" alt="PropertyFinder Scraper"/>

## 🏙️ PropertyFinder Scraper

#### Scrape Dubai, UAE &amp; Gulf real estate — price, beds, size, geo **and the agent's email + phone**

<p>
<img src="https://img.shields.io/badge/✓_NO_LOGIN-no_API_key-2ea44f?style=for-the-badge&labelColor=0b3d2e"/>
<img src="https://img.shields.io/badge/🎯_AGENT_LEADS-email_+_phone-7c3aed?style=for-the-badge&labelColor=2e1065"/>
<img src="https://img.shields.io/badge/🏠_120k+-listings/search-1f6feb?style=for-the-badge&labelColor=0b2e6b"/>
</p>
<p>
<img src="https://img.shields.io/badge/🇦🇪_UAE-propertyfinder.ae-008060?style=flat-square"/>
<img src="https://img.shields.io/badge/Gulf-QA·BH·EG·SA·LB-e91e63?style=flat-square"/>
<img src="https://img.shields.io/badge/Buy_&_Rent-supported-9c27b0?style=flat-square"/>
<img src="https://img.shields.io/badge/Geo-lat_+_lon-00bcd4?style=flat-square"/>
<img src="https://img.shields.io/badge/Export-JSON·CSV·Excel·API-f59e0b?style=flat-square"/>
</p>

<br/>

**The fastest way to turn any <a href="https://www.propertyfinder.ae">PropertyFinder</a> search into a clean dataset.** 🏠 Price &amp; payment period · 🛏️ beds / baths / size · 📍 location + coordinates · 🧑‍💼 agent &amp; brokerage — **with their public contact email &amp; phone**.

</div>

---

### 🚀 Why scrape PropertyFinder?

PropertyFinder is the #1 real-estate portal in the UAE and the Gulf — **120,000+ live listings** in Dubai alone. This actor reads the site's own structured page data, so you get every field **with no login and no API key**, and it paginates through thousands of pages per search.

It's **two tools in one**:

> 🏠 a **property dataset** — for market analytics, price tracking, comps, dashboards &amp; ML — and
> 🎯 a **real-estate lead engine** — every listing carries the **agent's name, brokerage, email and phone**, so one run becomes a targeted agent outreach list.

---

### ✨ What you get

<table>
<tr>
  <td width="33%" valign="top">

#### 🏠 Property
Title, reference, **price** + currency + period (yearly/sale), property type, offering type (buy/rent), beds, baths, size, furnished, completion status, amenities.

  </td>
  <td width="33%" valign="top">

#### 📍 Location &amp; geo
Full location name, **latitude &amp; longitude**, area slug, RERA permit number, listing URL &amp; image count.

  </td>
  <td width="33%" valign="top">

#### 🎯 Agent &amp; leads
Agent name, super-agent flag, **brokerage name + logo**, and the **public contact email, phone &amp; WhatsApp**.

  </td>
</tr>
</table>

---

### ⚡ Quick start

Set your filters on PropertyFinder, copy the URL from the address bar, paste it in:

```json
{
  "searchUrls": ["https://www.propertyfinder.ae/en/search?c=2&t=1&fu=0&rp=y&ob=mr"],
  "maxResults": 500
}
````

Scrape **multiple cities / buy + rent** in one run:

```json
{
  "searchUrls": [
    "https://www.propertyfinder.ae/en/search?c=1&t=1",
    "https://www.propertyfinder.qa/en/search?c=2&t=1"
  ],
  "maxResults": 2000
}
```

***

### ⚙️ Input

<table>
<thead><tr><th align="left">Field</th><th align="left">What it does</th></tr></thead>
<tbody>
<tr><td><code>searchUrls</code></td><td>PropertyFinder search URLs copied from the site (any country: <code>.ae</code>, <code>.qa</code>, <code>.bh</code>, <code>.eg</code>, <code>.sa</code>, <code>.lb</code>). All your filters — area, beds, price, buy/rent — are read from the URL.</td></tr>
<tr><td><code>maxResults</code></td><td>Global cap across all searches. <code>0</code> = no limit.</td></tr>
<tr><td><code>maxResultsPerSearch</code></td><td>Per-search cap. <code>0</code> = no cap.</td></tr>
<tr><td><code>useProxy</code> / <code>proxyConfiguration</code></td><td>Apify Proxy — <b>residential</b> recommended (default).</td></tr>
<tr><td><code>maxConcurrency</code></td><td>How many search URLs to run in parallel.</td></tr>
</tbody>
</table>

***

### 📤 Output

One clean row per listing:

```json
{
  "id": "98241423",
  "reference": "DPF-R-43750",
  "title": "Exemplary Bulgari Loft | Full Marina Views",
  "url": "https://www.propertyfinder.ae/en/plp/rent/apartment-for-rent-...",
  "offeringType": "Residential for Rent",
  "propertyType": "Apartment",
  "priceValue": 3000000, "priceCurrency": "AED", "pricePeriod": "yearly",
  "bedrooms": 3, "bathrooms": 5, "sizeValue": 6991, "sizeUnit": "sqft",
  "furnished": "YES", "completionStatus": "",
  "locationName": "Bulgari Resort & Residences, Jumeirah Bay Island, Dubai",
  "latitude": 25.20964, "longitude": 55.142,
  "rera": "71297269840", "isExclusive": false,
  "agentName": "Kianoush Darban", "agentIsSuper": true,
  "brokerName": "Driven Properties",
  "contactEmail": "kia@drivenproperties.com",
  "contactPhone": "+971524960123",
  "contactWhatsapp": "+971524960123",
  "scrapedAt": "2026-06-05T15:31:24.950Z"
}
```

The **Output** tab also ships a ready-made <kbd>Listings Overview</kbd> table — property, price, size, location, agent email + phone.

***

### 🎯 Use cases

| | Use case | How |
|---|---|---|
| 🎯 | **Real-estate agent lead gen** | Build outreach lists of agents & brokerages (email + phone) by area, price band or project. |
| 📊 | **Market & price analytics** | Track price-per-sqft, inventory, new-vs-old, rent-vs-buy across areas. |
| 🏗️ | **Developer & investor research** | Map supply, completion status and payment plans by community. |
| 🧮 | **Comps & valuation / AVM** | Feed beds, baths, size, geo & price into pricing models. |
| 🗂️ | **Portals & aggregators** | Power a property feed or dashboard from a scheduled run. |

***

### 🤖 Automate it

Put it on an **Apify Schedule** → a fresh listings + agent-leads feed every morning, straight to the **Apify API, a webhook, Google Sheet, S3** or your warehouse. Chain it with an email-verifier to clean the agent emails before outreach.

***

### ❓ FAQ

#### Is this a PropertyFinder API alternative?

Yes. PropertyFinder has no public listings API, so this actor is the practical API alternative — it reads the site's own structured page data and returns every field as a clean dataset, no token required.

#### How do I export PropertyFinder data to CSV or JSON?

Run a search, then download the dataset from the **Output** tab or the Apify API as JSON, CSV or Excel. Every listing — price, geo and agent email/phone — comes through in one PropertyFinder data export.

#### Can I scrape PropertyFinder without login?

Yes. This is a no-login, no-API-key PropertyFinder scraper. It collects public listing and agent contact data straight from the search URL you paste in.

<details>
<summary><b>Do I need a PropertyFinder account or API key?</b></summary>
<br/>
No. The actor reads public listing data — no login, no token.
</details>

<details>
<summary><b>Which countries / sites are supported?</b></summary>
<br/>
Every PropertyFinder country site — UAE (<code>.ae</code>), Qatar (<code>.qa</code>), Bahrain (<code>.bh</code>), Egypt (<code>.eg</code>), Saudi (<code>.sa</code>), Lebanon (<code>.lb</code>). Just paste that site's search URL.
</details>

<details>
<summary><b>How do I filter by area, price or beds?</b></summary>
<br/>
Apply the filters on PropertyFinder itself, then copy the resulting URL into <code>searchUrls</code>. Every filter encoded in the URL is respected, and the actor paginates the whole result set.
</details>

<details>
<summary><b>Will every listing have the agent's email &amp; phone?</b></summary>
<br/>
Whenever PropertyFinder exposes them publicly on the listing, yes — email, phone and WhatsApp come through. Where an agent only exposes a phone, the email is <code>null</code> (and vice-versa).
</details>

<details>
<summary><b>Is scraping this allowed?</b></summary>
<br/>
The actor collects publicly available listing data. You are responsible for complying with PropertyFinder's terms and your local regulations (including how you use agent contact details).
</details>

<br/>

***

### 📝 Changelog

#### 2026-06-07

- Docs: added coverage for PropertyFinder API alternative, exporting data to CSV/JSON, and scraping without login.

***

<div align="center">

#### ▶️ Ready to run

<img src="https://img.shields.io/badge/Click_Start-and_get_listings_+_agent_leads-2ea44f?style=for-the-badge&labelColor=0b3d2e"/>

<sub>No login · No API key · JSON · CSV · Excel · API</sub>

</div>

# Actor input Schema

## `searchUrls` (type: `array`):

PropertyFinder search URLs copied straight from the site — e.g. https://www.propertyfinder.ae/en/search?c=2\&t=1 (rent) or a buy/area/filtered search. Works on every PropertyFinder country site (.ae, .qa, .bh, .eg, .sa, .lb). Set all your filters on the site, then paste the URL here.

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

Stop after this many listings across all search URLs. 0 = no limit (a single search can span thousands of pages).

## `maxResultsPerSearch` (type: `integer`):

Cap listings per individual search URL. 0 = no per-search cap.

## `useProxy` (type: `boolean`):

Route requests through Apify Proxy. Residential is recommended and is the default.

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

Apify Proxy settings. Residential gives the highest success rate.

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

How many search URLs to process in parallel.

## Actor input object example

```json
{
  "searchUrls": [
    "https://www.propertyfinder.ae/en/search?c=2&t=1&fu=0&rp=y&ob=mr"
  ],
  "maxResults": 200,
  "maxResultsPerSearch": 0,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxConcurrency": 3
}
```

# Actor output Schema

## `id` (type: `string`):

Listing ID

## `reference` (type: `string`):

Reference

## `title` (type: `string`):

Title

## `url` (type: `string`):

Listing URL

## `offeringType` (type: `string`):

Offering type

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

Property type

## `priceValue` (type: `string`):

Price

## `priceCurrency` (type: `string`):

Currency

## `pricePeriod` (type: `string`):

Price period

## `bedrooms` (type: `string`):

Bedrooms

## `bathrooms` (type: `string`):

Bathrooms

## `sizeValue` (type: `string`):

Size

## `sizeUnit` (type: `string`):

Size unit

## `furnished` (type: `string`):

Furnished

## `completionStatus` (type: `string`):

Completion status

## `locationName` (type: `string`):

Location

## `latitude` (type: `string`):

Latitude

## `longitude` (type: `string`):

Longitude

## `locationSlug` (type: `string`):

Location slug

## `listedDate` (type: `string`):

Listed date

## `imagesCount` (type: `string`):

Images count

## `amenities` (type: `string`):

Amenities

## `isExclusive` (type: `string`):

Exclusive

## `isVerified` (type: `string`):

Verified

## `rera` (type: `string`):

RERA permit

## `agentName` (type: `string`):

Agent name

## `agentIsSuper` (type: `string`):

Super agent

## `brokerName` (type: `string`):

Broker

## `brokerLogo` (type: `string`):

Broker logo

## `contactEmail` (type: `string`):

Agent email

## `contactPhone` (type: `string`):

Agent phone

## `contactWhatsapp` (type: `string`):

WhatsApp

## `description` (type: `string`):

Description

## `scrapedAt` (type: `string`):

Scraped at

# 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 = {
    "searchUrls": [
        "https://www.propertyfinder.ae/en/search?c=2&t=1&fu=0&rp=y&ob=mr"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/propertyfinder-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 = { "searchUrls": ["https://www.propertyfinder.ae/en/search?c=2&t=1&fu=0&rp=y&ob=mr"] }

# Run the Actor and wait for it to finish
run = client.actor("logiover/propertyfinder-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 '{
  "searchUrls": [
    "https://www.propertyfinder.ae/en/search?c=2&t=1&fu=0&rp=y&ob=mr"
  ]
}' |
apify call logiover/propertyfinder-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "PropertyFinder Scraper — Listings, Prices & Agent Leads",
        "description": "Scrape PropertyFinder Dubai & Gulf listings without login. Export prices, geo & agent email/phone to CSV/JSON. A PropertyFinder API alternative.",
        "version": "1.0",
        "x-build-id": "hZWZquTd6hiNEVcNa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~propertyfinder-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-propertyfinder-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/logiover~propertyfinder-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-propertyfinder-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/logiover~propertyfinder-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-propertyfinder-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": {
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "PropertyFinder search URLs copied straight from the site — e.g. https://www.propertyfinder.ae/en/search?c=2&t=1 (rent) or a buy/area/filtered search. Works on every PropertyFinder country site (.ae, .qa, .bh, .eg, .sa, .lb). Set all your filters on the site, then paste the URL here.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results (total)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Stop after this many listings across all search URLs. 0 = no limit (a single search can span thousands of pages).",
                        "default": 200
                    },
                    "maxResultsPerSearch": {
                        "title": "Max results per search",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Cap listings per individual search URL. 0 = no per-search cap.",
                        "default": 0
                    },
                    "useProxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Route requests through Apify Proxy. Residential is recommended and is the default.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy settings. Residential gives the highest success rate.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    },
                    "maxConcurrency": {
                        "title": "Max concurrent searches",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many search URLs to process in parallel.",
                        "default": 3
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
