# LandWatch $1💰 Land, Farm & Ranch Property Listings (`abotapi/landwatch-scraper`) Actor

From $1/1k. Scrape land, farm, ranch, and rural property listings from LandWatch.com. Search by location, price, acreage filters, or URLs. Returns price, acreage, coordinates, description, amenities, price history, photos, seller name, phone, company, and 90+ fields.

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

## Pricing

from $1.00 / 1,000 listing 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

## LandWatch Scraper

Extract land, farm, ranch, and rural property listings from **landwatch.com** at scale. Search by location with price and acreage filters, or paste listing and search URLs, and get a clean structured record for every property: price, acreage, price-per-acre, coordinates, full description, amenities, price history, photo URLs, plus seller name, phone, email, and company. 90+ fields per listing and low cost on every plan.

### Why This Scraper?

- **90+ fields per listing** including the full property description, every amenity, complete price history, and all photo URLs, not just a summary card.
- **Seller contact details** on each listing: name, phone, email, license number, and company, when published by the listing.
- **Two ways to collect** listings: search by location with filters, or paste exact listing/search URLs.
- **Powerful filters** for price range, acreage range, bedrooms, property type, and whether a home is included.
- **Geo coordinates** (latitude/longitude) on every listing for mapping and analysis.
- **Low cost** on the default connection settings, returning 25 listings per result page.
- **Resilient by design** with a configurable traffic budget and automatic recovery on connection errors.

### Data You Get

Each listing is one dataset record. The table below shows a representative subset (the full record carries 90+ fields).

| Field | Example |
|---|---|
| `id` | `26000000` |
| `title` | `40 Acre Hill Country Ranch` |
| `url` | `https://www.landwatch.com/sample-county-texas-land-for-sale/pid/400000000` |
| `price` | `750000` |
| `priceDisplay` | `$750,000` |
| `acres` | `40` |
| `acresDisplay` | `40 Acres` |
| `pricePerAcre` | `18750` |
| `city` | `Sample City` |
| `county` | `Sample County` |
| `state` | `Texas` |
| `stateAbbreviation` | `TX` |
| `zip` | `78000` |
| `latitude` | `30.2672` |
| `longitude` | `-97.7431` |
| `propertyTypesLabel` | `Farms and Ranches, House` |
| `beds` | `3` |
| `baths` | `2` |
| `hasHouse` | `true` |
| `descriptionText` | `Beautiful 40-acre ranch with rolling pasture, a stocked pond...` |
| `Amenities` | `["Pond", "Fenced", "Well Water"]` |
| `imageCount` | `42` |
| `images` | `["https://assets.landwatch.com/.../1-600000000", ...]` |
| `brokerName` | `Jane Doe` |
| `brokerCompany` | `Sample Land Co.` |
| `brokerPhone` | `(000) 000-0000` |
| `listingEvents` | `[{"date": "2026-01-01", "eventTitle": "Price", "newPrice": 750000}]` |

### How to Use

**1. Search a state for land, summary fields only (fastest):**

```json
{
  "mode": "search",
  "locations": ["Texas"],
  "fetchDetails": false,
  "maxItems": 100
}
````

**2. Search with filters and full detail (description, amenities, seller contact):**

```json
{
  "mode": "search",
  "locations": ["Texas", "Florida"],
  "minPrice": 250000,
  "maxPrice": 1000000,
  "minAcres": 10,
  "fetchDetails": true,
  "maxItems": 200
}
```

**3. Paste specific listing or search URLs (filters ignored):**

```json
{
  "mode": "url",
  "urls": [
    "https://www.landwatch.com/texas-land-for-sale",
    "https://www.landwatch.com/sample-county-texas-land-for-sale/pid/400000000"
  ],
  "fetchDetails": true
}
```

### Input Parameters

| Parameter | Type | Description |
|---|---|---|
| `mode` | string | `search` (location + filters) or `url` (paste URLs). |
| `locations` | array | Locations to search, e.g. `"Texas"`, `"Travis County, Texas"`, or `"United States"`. Search mode only. |
| `propertyTypes` | array | Keep only matching types (Recreational, Hunting, Undeveloped, Waterfront, Farms and Ranches, Timberland, Homesite, Commercial). |
| `minPrice` / `maxPrice` | integer | Price range in USD. |
| `minAcres` / `maxAcres` | integer | Acreage range. |
| `minBeds` | integer | Minimum bedrooms (listings with a home). |
| `hasHouse` | boolean | Keep only listings that include a house. |
| `urls` | array | Listing or search URLs. URL mode only. |
| `fetchDetails` | boolean | Open each listing page for full detail (default `true`). |
| `maxItems` | integer | The cap on listings returned in total (default `20`; `0` = unlimited). This is the only default limit. |
| `maxPages` | integer | Optional safety stop on result pages per search. Does not cap total results. Defaults to unlimited (empty/`0`) and defers to `maxItems`. |
| `proxy` | object | Connection settings. Default works on every plan. |
| `maxResidentialMB` | integer | Optional traffic budget when using a residential group (`0` = unlimited). |

### Output Example

> Sample shape - values are illustrative placeholders, not from a live listing.

```json
{
  "id": "26000000",
  "lwPropertyId": "400000000",
  "url": "https://www.landwatch.com/sample-county-texas-land-for-sale/pid/400000000",
  "title": "40 Acre Hill Country Ranch",
  "price": 750000,
  "priceDisplay": "$750,000",
  "pricePerAcre": 18750,
  "acres": 40,
  "acresDisplay": "40 Acres",
  "beds": 3,
  "baths": 2,
  "hasHouse": true,
  "city": "Sample City",
  "county": "Sample County",
  "state": "Texas",
  "stateAbbreviation": "TX",
  "zip": "78000",
  "latitude": 30.2672,
  "longitude": -97.7431,
  "propertyTypesLabel": "Farms and Ranches, House",
  "descriptionText": "Beautiful 40-acre ranch with rolling pasture, a stocked pond, and mature oaks...",
  "Amenities": ["Pond", "Fenced", "Well Water"],
  "imageCount": 42,
  "images": ["https://assets.landwatch.com/resizedimages/1600/1200/l/80/1-600000000"],
  "brokerName": "Jane Doe",
  "brokerCompany": "Sample Land Co.",
  "brokerPhone": "(000) 000-0000",
  "brokerDetails": {
    "contactName": "Jane Doe",
    "companyName": "Sample Land Co.",
    "email": "agent@example.com",
    "licenseNumber": "0000000",
    "phoneOffice": "(000) 000-0000"
  },
  "listingEvents": [
    { "date": "2026-01-01", "eventTitle": "Price", "newPrice": 750000, "priceDelta": -5.0 }
  ],
  "scrapedAt": "2026-01-01T00:00:00+00:00"
}
```

### Export to Your Apps (optional)

Set `mcpConnectors` to one or more Apify MCP connector IDs to push results straight into tools like Notion (provide `notionParentPageUrl`). Leave it empty to skip; the dataset is unaffected.

### Plan Requirement

This scraper runs on every Apify plan, including the free tier, using the default connection settings. For large jobs or if you see connection errors, enable Apify Proxy or switch to a residential group in the **Connection** section.

# Actor input Schema

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

How to find listings. "Search" finds listings by location with filters. "URL" fetches the exact listing or search URLs you paste (filters are ignored).

## `locations` (type: `array`):

Locations to search, e.g. "Texas", "Travis County, Texas", or "United States" for the national board. Each location is searched independently.

## `propertyTypes` (type: `array`):

Keep only listings matching these property types (e.g. Recreational, Hunting, Undeveloped, Waterfront, Farms and Ranches, Timberland, Homesite, Commercial). Leave empty for all types.

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

Only listings priced at or above this amount.

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

Only listings priced at or below this amount.

## `minAcres` (type: `integer`):

Only listings with at least this many acres.

## `maxAcres` (type: `integer`):

Only listings with at most this many acres.

## `minBeds` (type: `integer`):

Only listings with at least this many bedrooms (applies to listings with a home).

## `hasHouse` (type: `boolean`):

Keep only listings that include a house / dwelling.

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

Listing URLs (.../pid/123456789) or search URLs (.../texas-land-for-sale). Used only when Mode is "URL". Filter fields are ignored.

## `fetchDetails` (type: `boolean`):

Open each listing page for the rich detail data (full description, amenities, price history, seller phone/email/company, video and virtual-tour links). Disable for a faster, lower-cost run with the summary fields only.

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

The cap on how many listings to return in total. This is the only limit applied by default (20). Set 0 for unlimited.

## `maxPages` (type: `integer`):

Optional safety stop on the number of result pages per location/search URL (25 listings per page). This does NOT cap your total results. Leave empty (or 0) for unlimited paging and let "Max listings" decide when to stop. Only set a value if you specifically want to limit paging depth.

## `proxy` (type: `object`):

Connection settings. The default works on every plan. Switch to a residential group only if you see connection errors.

## `maxResidentialMB` (type: `integer`):

When using a residential proxy group, cap residential traffic at this many MB; after the cap the run auto-downgrades to the lower-cost tier (identical results). 0 = unlimited.

## `mcpConnectors` (type: `array`):

Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON — the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).

## `notionParentPageUrl` (type: `string`):

Optional. Parent page ID/URL for a selected Notion connector.

## `maxNotifyListings` (type: `integer`):

Optional. Cap how many listings are pushed to the connectors.

## Actor input object example

```json
{
  "mode": "search",
  "locations": [
    "Texas"
  ],
  "propertyTypes": [],
  "hasHouse": false,
  "urls": [
    "https://www.landwatch.com/texas-land-for-sale"
  ],
  "fetchDetails": true,
  "maxItems": 20,
  "maxPages": 0,
  "proxy": {
    "useApifyProxy": true
  },
  "maxResidentialMB": 0,
  "maxNotifyListings": 50
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "Texas"
    ],
    "urls": [
        "https://www.landwatch.com/texas-land-for-sale"
    ],
    "proxy": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/landwatch-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 = {
    "locations": ["Texas"],
    "urls": ["https://www.landwatch.com/texas-land-for-sale"],
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/landwatch-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 '{
  "locations": [
    "Texas"
  ],
  "urls": [
    "https://www.landwatch.com/texas-land-for-sale"
  ],
  "proxy": {
    "useApifyProxy": true
  }
}' |
apify call abotapi/landwatch-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LandWatch $1💰 Land, Farm & Ranch Property Listings",
        "description": "From $1/1k. Scrape land, farm, ranch, and rural property listings from LandWatch.com. Search by location, price, acreage filters, or URLs. Returns price, acreage, coordinates, description, amenities, price history, photos, seller name, phone, company, and 90+ fields.",
        "version": "1.0",
        "x-build-id": "9IoarrDsm0OjJ6lX0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/abotapi~landwatch-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-abotapi-landwatch-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/abotapi~landwatch-scraper/runs": {
            "post": {
                "operationId": "runs-sync-abotapi-landwatch-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/abotapi~landwatch-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-abotapi-landwatch-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "url"
                        ],
                        "type": "string",
                        "description": "How to find listings. \"Search\" finds listings by location with filters. \"URL\" fetches the exact listing or search URLs you paste (filters are ignored).",
                        "default": "search"
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Locations to search, e.g. \"Texas\", \"Travis County, Texas\", or \"United States\" for the national board. Each location is searched independently.",
                        "default": [
                            "Texas"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "propertyTypes": {
                        "title": "Property types",
                        "type": "array",
                        "description": "Keep only listings matching these property types (e.g. Recreational, Hunting, Undeveloped, Waterfront, Farms and Ranches, Timberland, Homesite, Commercial). Leave empty for all types.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "minPrice": {
                        "title": "Min price (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only listings priced at or above this amount."
                    },
                    "maxPrice": {
                        "title": "Max price (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only listings priced at or below this amount."
                    },
                    "minAcres": {
                        "title": "Min acres",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only listings with at least this many acres."
                    },
                    "maxAcres": {
                        "title": "Max acres",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only listings with at most this many acres."
                    },
                    "minBeds": {
                        "title": "Min bedrooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only listings with at least this many bedrooms (applies to listings with a home)."
                    },
                    "hasHouse": {
                        "title": "Has a house",
                        "type": "boolean",
                        "description": "Keep only listings that include a house / dwelling.",
                        "default": false
                    },
                    "urls": {
                        "title": "URLs",
                        "type": "array",
                        "description": "Listing URLs (.../pid/123456789) or search URLs (.../texas-land-for-sale). Used only when Mode is \"URL\". Filter fields are ignored.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "fetchDetails": {
                        "title": "Fetch full listing details",
                        "type": "boolean",
                        "description": "Open each listing page for the rich detail data (full description, amenities, price history, seller phone/email/company, video and virtual-tour links). Disable for a faster, lower-cost run with the summary fields only.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max listings",
                        "minimum": 0,
                        "type": "integer",
                        "description": "The cap on how many listings to return in total. This is the only limit applied by default (20). Set 0 for unlimited.",
                        "default": 20
                    },
                    "maxPages": {
                        "title": "Max pages per search",
                        "minimum": 0,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Optional safety stop on the number of result pages per location/search URL (25 listings per page). This does NOT cap your total results. Leave empty (or 0) for unlimited paging and let \"Max listings\" decide when to stop. Only set a value if you specifically want to limit paging depth.",
                        "default": 0
                    },
                    "proxy": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Connection settings. The default works on every plan. Switch to a residential group only if you see connection errors.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "maxResidentialMB": {
                        "title": "Residential traffic budget (MB)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "When using a residential proxy group, cap residential traffic at this many MB; after the cap the run auto-downgrades to the lower-cost tier (identical results). 0 = unlimited.",
                        "default": 0
                    },
                    "mcpConnectors": {
                        "title": "Pipe results into your apps (optional)",
                        "type": "array",
                        "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON — the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
                    },
                    "notionParentPageUrl": {
                        "title": "Notion parent page",
                        "type": "string",
                        "description": "Optional. Parent page ID/URL for a selected Notion connector."
                    },
                    "maxNotifyListings": {
                        "title": "Max items to export",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Optional. Cap how many listings are pushed to the connectors.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
