# Property Finder Scraper (`axlymxp/propertyfinder-scraper`) Actor

Scrape Property Finder listings across the UAE, Saudi Arabia, Qatar, Bahrain & Egypt — price, location, GPS, beds, size, photos, agent phone & WhatsApp, RERA permit and amenities as structured JSON. Built for investors, agencies and PropTech. Pay only for the results you get.

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

## Pricing

from $2.00 / 1,000 dataset items

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Property Finder Scraper

Extract real-estate listings from **[Property Finder](https://www.propertyfinder.ae)** — the largest property portal in the Gulf — across the **UAE, Saudi Arabia, Qatar, Bahrain, Egypt and Lebanon**. Search by location name or scrape specific listings, and get clean, structured JSON with **price, GPS coordinates, beds/baths, size, photos, agent phone & WhatsApp, RERA permit numbers and amenities**.

Built on Property Finder's own mobile API, so it stays reliable when HTML-scraping tools break on every site redesign — and it returns data the website hides behind "call" buttons.

### Who it's for

- **Property investors & analysts** — track prices, price-per-sqft, GPS and inventory across Dubai, Abu Dhabi, Riyadh, Doha and more for yield and market research.
- **Real-estate agencies & lead-gen teams** — pull agent and broker **phone numbers, WhatsApp and email** attached to every listing to build outreach lists.
- **PropTech & SaaS developers** — a stable JSON feed with consistent field names for portals, valuation models and CRMs.
- **Researchers & journalists** — regional housing datasets with permit/regulatory metadata.

### Output fields

Each listing is one dataset row:

| Field | Type | Description |
| --- | --- | --- |
| `id` | string | Property Finder listing ID |
| `reference` | string | Agency listing reference |
| `title` | string | Listing headline |
| `url` | string | Public listing URL (share link) |
| `country` | string | Market code (`ae`, `sa`, `qa`, `bh`, `eg`, `lb`) |
| `purpose` | string | `sale`, `rent`, `commercial-sale`, `commercial-rent` |
| `property_type` | string | Apartment, Villa, Townhouse, … |
| `completion_status` | string | `completed` / off-plan |
| `furnished` | string | Furnishing status |
| `price` | number | Price in the market currency |
| `currency` | string | AED, SAR, QAR, BHD, EGP, … |
| `price_period` | string | `sell`, `yearly`, `monthly`, … |
| `bedrooms` / `bathrooms` | number | Room counts (studio = 0) |
| `size` / `size_unit` | number / string | Built-up area (sqft) |
| `location` | string | Full location path (community, city) |
| `location_id` | string | Property Finder location ID |
| `latitude` / `longitude` | number | GPS coordinates |
| `zone_name` | string | DLD/registry zone (detail mode) |
| `listed_date` | string | When the listing was posted |
| `images` | array | Photo URLs |
| `contact_phone` | string | Agent phone number |
| `contact_whatsapp` | string | Agent WhatsApp number |
| `contact_email` | string | Agent email |
| `agent` | object | Agent id, name, super-agent flag, languages |
| `broker` | object | Brokerage name, address, email, logo |
| `rera` | object | RERA/Trakheesi permit number, authority, validation URL (detail mode) |
| `agent_license_no` / `licenses` | string / array | Regulatory licenses (detail mode) |
| `amenities` | array | Amenity names (detail mode) |
| `floor_plans` | array | Floor-plan images (detail mode) |
| `mortgage` | object | Mortgage/finance metadata (detail mode) |
| `transactions` | array | Comparable price transactions (optional) |
| `scraped_at` | string | ISO-8601 scrape timestamp |

### High-value use cases

- **Investment screening** — export every 2-bed apartment for sale in Dubai Marina under AED 2M with GPS and price-per-sqft, then rank by yield.
- **Lead generation** — collect agent phone + WhatsApp for all listings in a community and push them straight into a CRM.
- **Market monitoring** — schedule a daily run per city and diff prices to catch reductions and new inventory.
- **Compliance / verification** — capture RERA permit numbers and validation URLs to verify that listings are legally registered.
- **Portal & valuation models** — feed a consistent JSON schema into an AVM or a comparison site.

### Input parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| `country` | string | `ae` | Market: `ae`, `sa`, `qa`, `bh`, `eg`, `lb` |
| `category` | string | `sale` | `sale`, `rent`, `commercial_sale`, `commercial_rent`, `new_projects` |
| `location` | string | — | Location name to auto-resolve (e.g. `Dubai Marina`) |
| `locationIds` | array | — | Exact location IDs (advanced; overrides `location`) |
| `listingUrls` | array | — | Direct listing URLs or IDs (direct mode) |
| `propertyType` | string | — | Apartment, Villa, Townhouse, … |
| `minPrice` / `maxPrice` | integer | — | Price range |
| `bedrooms` / `bathrooms` | array | — | Room-count filters (0 = studio) |
| `minArea` / `maxArea` | integer | — | Area range (sqft) |
| `furnished` | string | — | `all`, `yes`, `no`, `partly` |
| `completionStatus` | string | — | `completed`, `off_plan` |
| `priceType` | string | — | Rent period: `daily`, `weekly`, `monthly`, `yearly` |
| `keywords` | string | — | Free-text keywords |
| `sort` | string | `featured` | Result ordering |
| `scrapeMode` | string | `full` | `full` (detail enrichment) or `fast` (search fields only) |
| `includeTransactions` | boolean | `false` | Attach comparable price transactions |
| `maxItems` | integer | `100` | Stop after this many listings |

### Example input

```json
{
    "country": "ae",
    "category": "sale",
    "location": "Dubai Marina",
    "propertyType": "apartment",
    "bedrooms": ["2"],
    "sort": "featured",
    "scrapeMode": "full",
    "maxItems": 50
}
````

### Example output (one row, trimmed)

```json
{
    "id": "14149907",
    "reference": "MPSP-21801",
    "title": "Upgraded | Marina View | Vacant",
    "url": "https://www.propertyfinder.ae/en/plp/...-14149907.html",
    "country": "ae",
    "purpose": "sale",
    "property_type": "Apartment",
    "price": 4000000,
    "currency": "AED",
    "bedrooms": 2,
    "bathrooms": 3,
    "size": 1536,
    "size_unit": "sqft",
    "location": "Stella Maris, Dubai Marina, Dubai",
    "latitude": 25.07001,
    "longitude": 55.13244,
    "contact_phone": "+9715xxxxxxxx",
    "contact_whatsapp": "+9714xxxxxxxx",
    "agent": { "id": "392924", "name": "Saif Rehman", "is_super_agent": true },
    "broker": { "id": "817", "name": "Metropolitan Premium Properties" },
    "rera": { "number": "7126082000", "authority_name": "METROPOLITAN…" },
    "amenities": ["Central A/C", "Balcony", "Shared Pool"],
    "scraped_at": "2026-07-26T10:00:00+00:00"
}
```

### Scheduling & integrations

- **Schedule** runs (hourly/daily) from the Apify Console to keep a fresh dataset.
- Export to **JSON, CSV, Excel or the API**, or push to **Google Sheets, Make, Zapier, Amazon S3** and webhooks.
- Trigger downstream flows with an Apify **webhook** on run completion.

### Use it from an AI agent (MCP)

This Actor works with the **Apify MCP server**, so AI assistants (Claude, ChatGPT, VS Code) can call it as a tool — ask an agent to "find 3-bed villas for sale in Arabian Ranches with agent contacts" and it will run this scraper and return structured results.

### FAQ

**Which countries are supported?** UAE, Saudi Arabia, Qatar, Bahrain, Egypt and Lebanon — pick with the `country` input.

**Does it return agent phone numbers?** Yes. Agent phone, WhatsApp and email are extracted from the listing contact options (and enriched in full mode).

**How fresh is the data?** Every run reads Property Finder live, so results reflect the site at run time. Schedule runs to track changes.

**Fast vs full mode?** `fast` returns search-result fields (price, location, GPS, agent phone) and is cheaper/quicker. `full` adds detail — description, amenities, RERA permit, floor plans.

**Will it break like HTML scrapers?** It's built on Property Finder's structured mobile API rather than fragile page HTML, so it's far more stable across site redesigns.

**Is scraping this legal?** The Actor collects publicly available listing data. You are responsible for using the output in line with Property Finder's terms and applicable laws (e.g. how you contact agents).

**Can I scrape specific listings?** Yes — pass `listingUrls` with share URLs or IDs for direct mode.

# Actor input Schema

## `country` (type: `string`):

Which Property Finder market to scrape.

## `category` (type: `string`):

Buy/sale, rent, commercial, or new projects.

## `location` (type: `string`):

A place name to auto-resolve (e.g. 'Dubai Marina', 'Riyadh', 'Business Bay'). Leave empty to scrape the whole country or use Location IDs / Listing URLs.

## `locationIds` (type: `array`):

Optional. Exact Property Finder location IDs (e.g. 50 = Dubai Marina). Overrides 'Location name' when set.

## `listingUrls` (type: `array`):

Optional. Direct property page links (share URLs like https://www.propertyfinder.ae/en/plp/...-<id>.html) or bare property IDs to scrape specific listings instead of searching.

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

Filter by property type. Leave empty for all types.

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

Optional minimum price in the market's local currency (AED, SAR, QAR, ...).

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

Optional maximum price.

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

Optional bedroom counts to include (0 = studio, up to 8 = 7+). Repeat for multiple, e.g. 2 and 3.

## `bathrooms` (type: `array`):

Optional bathroom counts to include.

## `minArea` (type: `integer`):

Optional minimum built-up area in square feet.

## `maxArea` (type: `integer`):

Optional maximum built-up area in square feet.

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

Optional furnishing filter.

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

Optional. Filter completed vs off-plan properties.

## `priceType` (type: `string`):

Optional — only for rentals. Filter by rent period.

## `keywords` (type: `string`):

Optional free-text keywords (e.g. 'sea view', 'maid room'). Comma-separated for multiple.

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

Result ordering.

## `scrapeMode` (type: `string`):

'full' enriches each listing with its detail page (description, amenities, RERA/permit, floor plans, agent contacts). 'fast' returns only search-result fields (still includes price, location, GPS, agent phone/WhatsApp) — cheaper and quicker.

## `includeTransactions` (type: `boolean`):

Attach comparable/nearby price transaction history to each listing (full mode only). Adds detail but larger rows.

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

Stop after collecting this many listings.

## `locale` (type: `string`):

Language for localized text (e.g. en, ar).

## Actor input object example

```json
{
  "country": "ae",
  "category": "sale",
  "location": "Dubai Marina",
  "locationIds": [],
  "listingUrls": [],
  "bedrooms": [],
  "bathrooms": [],
  "sort": "featured",
  "scrapeMode": "full",
  "includeTransactions": false,
  "maxItems": 100,
  "locale": "en"
}
```

# 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 = {
    "location": "Dubai Marina",
    "locationIds": [],
    "listingUrls": [],
    "bedrooms": [],
    "bathrooms": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("axlymxp/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 = {
    "location": "Dubai Marina",
    "locationIds": [],
    "listingUrls": [],
    "bedrooms": [],
    "bathrooms": [],
}

# Run the Actor and wait for it to finish
run = client.actor("axlymxp/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 '{
  "location": "Dubai Marina",
  "locationIds": [],
  "listingUrls": [],
  "bedrooms": [],
  "bathrooms": []
}' |
apify call axlymxp/propertyfinder-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Property Finder Scraper",
        "description": "Scrape Property Finder listings across the UAE, Saudi Arabia, Qatar, Bahrain & Egypt — price, location, GPS, beds, size, photos, agent phone & WhatsApp, RERA permit and amenities as structured JSON. Built for investors, agencies and PropTech. Pay only for the results you get.",
        "version": "1.0",
        "x-build-id": "YtILvW7bIxqMPXrbI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/axlymxp~propertyfinder-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-axlymxp-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/axlymxp~propertyfinder-scraper/runs": {
            "post": {
                "operationId": "runs-sync-axlymxp-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/axlymxp~propertyfinder-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-axlymxp-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": {
                    "country": {
                        "title": "Country",
                        "enum": [
                            "ae",
                            "sa",
                            "qa",
                            "bh",
                            "eg",
                            "lb"
                        ],
                        "type": "string",
                        "description": "Which Property Finder market to scrape.",
                        "default": "ae"
                    },
                    "category": {
                        "title": "Listing category",
                        "enum": [
                            "sale",
                            "rent",
                            "commercial_sale",
                            "commercial_rent",
                            "new_projects"
                        ],
                        "type": "string",
                        "description": "Buy/sale, rent, commercial, or new projects.",
                        "default": "sale"
                    },
                    "location": {
                        "title": "Location name",
                        "type": "string",
                        "description": "A place name to auto-resolve (e.g. 'Dubai Marina', 'Riyadh', 'Business Bay'). Leave empty to scrape the whole country or use Location IDs / Listing URLs."
                    },
                    "locationIds": {
                        "title": "Location IDs (advanced)",
                        "type": "array",
                        "description": "Optional. Exact Property Finder location IDs (e.g. 50 = Dubai Marina). Overrides 'Location name' when set.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listingUrls": {
                        "title": "Listing URLs (direct mode)",
                        "type": "array",
                        "description": "Optional. Direct property page links (share URLs like https://www.propertyfinder.ae/en/plp/...-<id>.html) or bare property IDs to scrape specific listings instead of searching.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "apartment",
                            "villa",
                            "townhouse",
                            "penthouse",
                            "compound",
                            "duplex",
                            "full_floor",
                            "half_floor",
                            "whole_building",
                            "land",
                            "bungalow",
                            "hotel_apartment"
                        ],
                        "type": "string",
                        "description": "Filter by property type. Leave empty for all types."
                    },
                    "minPrice": {
                        "title": "Minimum price",
                        "type": "integer",
                        "description": "Optional minimum price in the market's local currency (AED, SAR, QAR, ...)."
                    },
                    "maxPrice": {
                        "title": "Maximum price",
                        "type": "integer",
                        "description": "Optional maximum price."
                    },
                    "bedrooms": {
                        "title": "Bedrooms",
                        "type": "array",
                        "description": "Optional bedroom counts to include (0 = studio, up to 8 = 7+). Repeat for multiple, e.g. 2 and 3.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "bathrooms": {
                        "title": "Bathrooms",
                        "type": "array",
                        "description": "Optional bathroom counts to include.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "minArea": {
                        "title": "Minimum area (sqft)",
                        "type": "integer",
                        "description": "Optional minimum built-up area in square feet."
                    },
                    "maxArea": {
                        "title": "Maximum area (sqft)",
                        "type": "integer",
                        "description": "Optional maximum built-up area in square feet."
                    },
                    "furnished": {
                        "title": "Furnishing",
                        "enum": [
                            "all",
                            "yes",
                            "no",
                            "partly"
                        ],
                        "type": "string",
                        "description": "Optional furnishing filter."
                    },
                    "completionStatus": {
                        "title": "Completion status",
                        "enum": [
                            "completed",
                            "off_plan"
                        ],
                        "type": "string",
                        "description": "Optional. Filter completed vs off-plan properties."
                    },
                    "priceType": {
                        "title": "Rent period",
                        "enum": [
                            "daily",
                            "weekly",
                            "monthly",
                            "yearly"
                        ],
                        "type": "string",
                        "description": "Optional — only for rentals. Filter by rent period."
                    },
                    "keywords": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Optional free-text keywords (e.g. 'sea view', 'maid room'). Comma-separated for multiple."
                    },
                    "sort": {
                        "title": "Sort order",
                        "enum": [
                            "featured",
                            "newest",
                            "price_asc",
                            "price_desc",
                            "beds_asc",
                            "beds_desc",
                            "distance_asc",
                            "delivery_date_asc",
                            "delivery_date_desc"
                        ],
                        "type": "string",
                        "description": "Result ordering.",
                        "default": "featured"
                    },
                    "scrapeMode": {
                        "title": "Scrape mode",
                        "enum": [
                            "full",
                            "fast"
                        ],
                        "type": "string",
                        "description": "'full' enriches each listing with its detail page (description, amenities, RERA/permit, floor plans, agent contacts). 'fast' returns only search-result fields (still includes price, location, GPS, agent phone/WhatsApp) — cheaper and quicker.",
                        "default": "full"
                    },
                    "includeTransactions": {
                        "title": "Include price transactions",
                        "type": "boolean",
                        "description": "Attach comparable/nearby price transaction history to each listing (full mode only). Adds detail but larger rows.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max listings",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Stop after collecting this many listings.",
                        "default": 100
                    },
                    "locale": {
                        "title": "Language",
                        "type": "string",
                        "description": "Language for localized text (e.g. en, ar).",
                        "default": "en"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
