# Land.com Scraper — Land, Farm & Ranch Listings (`solidcode/land-com-scraper`) Actor

Extract rural land, farm and ranch listings from Land.com. Get prices, acreage, GPS coordinates, photos and direct broker phone numbers across all 50 states. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/solidcode/land-com-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (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 $1.00 / 1,000 properties

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 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

## Land.com Scraper

Pull rural land, farm, and ranch listings from Land.com at scale — prices, acreage, GPS coordinates, photos, and direct broker phone numbers in one clean dataset. Built for land brokers, rural real-estate investors, and agricultural analysts who need current listing data without building and maintaining their own scraper.

Land.com carries listings in all 50 states — 74,000 in Texas alone. Set your filters on the site, paste the URL, and get structured rows back.

### Why This Scraper?

- **GPS coordinates on 100% of listings** — measured across 100 listings spanning five states and five property types: latitude and longitude on every row, ready for mapping, radius search, and acreage overlays without a geocoding pass.
- **51 fields per property, 34 of them populated on 95%+ of rows** — from price per acre and parcel ID to bed/bath counts, county, and the exact date the listing last changed.
- **Direct broker phone numbers on 100% of properties with full details on** — office, cell, toll-free, and the broker's preferred line, plus the brokerage's website on 92% of rows, and its city and state. No second lookup.
- **Complete price history on every enriched row** — every asking-price change with its date, the dollar and percentage delta, and the acreage at the time. This is the comparables data that rural appraisal and CMA work runs on.
- **Honest handling of "contact for price" listings** — land sellers often withhold the asking price, and how often varies sharply by state and property type. Those rows report no price at all rather than the placeholder `$1` the site stores internally, so your averages, sorts, and price filters stay correct.
- **14 property-type filters** — farms, ranches, timberland, hunting land, horse property, lakefront, riverfront, beachfront, recreational, undeveloped, commercial, and residential.
- **An average of 41 photos per listing, plus video on 71%** — full-resolution photo URLs at your chosen width, and a direct video or 3D-walkthrough link where the broker published one.
- **Seller-uploaded documents surfaced** — plats, surveys, and disclosure PDFs are attached to half of all enriched rows, linked and named.
- **Automatic de-duplication across every search in a run** — a property matching two of your searches is collected and billed once.

### Use Cases

**Land Brokerage & Comparables**
- Build price-per-acre comparables by county, region, and property type
- Track days-on-market and price-reduction patterns from the full price history
- Benchmark a new listing against active inventory before setting an asking price

**Investment & Acquisition**
- Screen for under-priced acreage by comparing price per acre against county medians
- Filter for specific land uses — timber, hunting, cattle, row crop — from the amenities data
- Monitor a target county for new listings and re-priced inventory

**Lead Generation**
- Build land-broker contact lists with direct phone numbers, company, and license number
- Segment brokers by inventory volume, average listing size, or region
- Target brokers holding a specific property type for marketing, finance, or title services

**Mapping & GIS**
- Plot inventory directly from the coordinates on every row
- Join to parcel data using the parcel ID and county
- Build acreage and price heat maps by region

**Data Enrichment & Integration**
- Feed live comparables into valuation models and CRM systems
- Enrich internal listing records with photos, descriptions, and broker contacts
- Schedule runs and diff on `lastUpdated` to surface only what changed

### Getting Started

#### Simplest run — a state and a property type

```json
{
  "location": "Texas",
  "propertyType": "farms",
  "maxItems": 100
}
````

#### Paste a filtered search URL from the site

```json
{
  "searchUrls": ["https://www.land.com/Texas/farms/"],
  "maxItems": 500
}
```

#### Full details for comparables and broker contacts

```json
{
  "searchUrls": ["https://www.land.com/Montana/ranches/"],
  "maxItems": 500,
  "enrichDetails": true,
  "imageSize": "large"
}
```

#### Several counties in one run

`maxItems` applies per search URL, so this collects up to 500 from each county.

```json
{
  "searchUrls": [
    "https://www.land.com/Texas/hill-county/all-land/",
    "https://www.land.com/Texas/bosque-county/all-land/",
    "https://www.land.com/Texas/johnson-county/all-land/"
  ],
  "maxItems": 500,
  "enrichDetails": true
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchUrls` | array | — | Land.com search URLs copied from the site. Every filter in the URL is carried through. Overrides `location` and `propertyType`. |
| `location` | string | `Texas` | State, county, city, or ZIP. Used only when `searchUrls` is empty. |
| `propertyType` | string | `all-land` | One of 14 categories: `farms`, `ranches`, `timberland`, `hunting-land`, `horse-property`, `lakefront-property`, `riverfront-property`, `beachfront-property`, `waterfront-property`, `recreational-property`, `undeveloped-land`, `commercial-property`, `residential-property`, `all-land`. |
| `maxItems` | integer | `100` | Maximum results **per search URL**. `0` collects everything each search returns, up to the 500-per-search ceiling. |

#### Options

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `enrichDetails` | boolean | `false` | Adds 14 fields per property: full description, amenities, price history, parcel and MLS IDs, broker license, website, city, state, phone numbers, photo captions, and attached documents. |
| `imageSize` | string | `medium` | `small` (358px), `medium` (1024px), or `large` (original) photo URLs. |
| `concurrency` | integer | `5` | Parallel requests. Lower it if requests start failing. |
| `proxyConfiguration` | object | Apify Proxy | Proxy settings for the run. |

### Output

Every property is one dataset row. Enabling `enrichDetails` adds 14 further fields to the same row — there is no second record type to join.

This example shows a real listing; the broker's name and contact details have been replaced with placeholders. Your dataset contains the actual published values.

```json
{
  "id": "26925958",
  "url": "https://www.land.com/property/887-north-county-road-3110-abbott-texas-76621/26925958/",
  "title": "Luxury Estate With Amenities",
  "price": 4693600,
  "priceDisplay": "$4,693,600",
  "shortPrice": "$4.7M",
  "pricePerAcre": 22744.72,
  "priceChangeAmount": 588975,
  "priceChangePercentage": 0.1435,
  "acres": 206.36,
  "acresDisplay": "206 acres",
  "beds": 6,
  "baths": 4,
  "halfBaths": 2,
  "homeSqft": 6514,
  "propertyTypes": "Farms, Ranches, Residential Property",
  "status": "Active",
  "hasHouse": true,
  "address": "887 North County Road 3110",
  "city": "Abbott",
  "county": "Hill County",
  "state": "Texas",
  "stateAbbreviation": "TX",
  "zip": "76621",
  "latitude": 31.936664581298828,
  "longitude": -97.06804656982422,
  "brokerName": "J. Whitfield",
  "brokerCompany": "Whitfield Land & Ranch, LLC",
  "brokerPhone": "(254) 555-0152",
  "brokerUrl": "https://www.land.com/member/j-whitfield/38415/",
  "imageCount": 114,
  "images": ["https://assets.land.com/resizedimages/1024/0/h/80/1-6110516533"],
  "insertDate": "2026-04-14T08:32:34.397",
  "listingDate": "2026-04-14T08:32:34.397",
  "lastUpdated": "2026-07-15T09:51:17.247",
  "regionName": "Blacklands North Texas",
  "parcelId": "0|2635|351510|1",
  "mlsId": "21234792",
  "brokerWebsite": "https://www.whitfieldlandandranch.com",
  "brokerLicense": "0400000",
  "brokerCity": "Hillsboro",
  "brokerState": "TX",
  "phones": { "preferredPhone": "(254) 555-0152", "cellPhone": "(254) 555-0117", "officePhone": "(254) 555-0005" },
  "description": "This fully remodeled 6,514 square foot estate offers an unmatched combination of luxury living...",
  "priceHistory": [{ "date": "2026-07-13T00:00:00", "price": 4693600.0, "priceDelta": 14.35, "acres": 206.36 }]
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Land.com property ID |
| `url` | string | Public listing page |
| `title` | string | Listing headline |
| `propertyTypes` | string | Comma-separated categories the property is listed under |
| `status` | string | `Active` or `Under Contract` |
| `hasHouse` | boolean | Whether the property includes a residence |
| `listingLevel` | number | Land.com's listing tier for the property |

#### Price & Size

| Field | Type | Description |
|-------|------|-------------|
| `price` | number | Asking price. Absent — never `$1` — when the seller withholds it. |
| `priceDisplay` | string | Price as shown on the site |
| `shortPrice` | string | Abbreviated price, e.g. `$4.7M` |
| `pricePerAcre` | number | Asking price divided by acreage |
| `priceChangeAmount` | number | Most recent price change in dollars |
| `priceChangePercentage` | number | Most recent price change as a fraction |
| `acres` | number | Total acreage |
| `acresDisplay` | string | Acreage as shown on the site |
| `beds` / `baths` / `halfBaths` | number | Room counts where a residence exists |
| `homeSqft` | number | Residence floor area |

#### Location

| Field | Type | Description |
|-------|------|-------------|
| `address` | string | Street address where published |
| `city` / `county` / `state` | string | Location names |
| `stateAbbreviation` | string | Two-letter state code |
| `zip` | string | ZIP code |
| `latitude` / `longitude` | number | Coordinates, present on 100% of rows |
| `lake` | string | Named lake for waterfront property |

#### Broker & Contact

| Field | Type | Description |
|-------|------|-------------|
| `brokerName` | string | Listing broker |
| `brokerCompany` | string | Brokerage name |
| `brokerPhone` | string | Broker's published phone number |
| `brokerUrl` | string | Broker's Land.com profile |

#### Media & Timestamps

| Field | Type | Description |
|-------|------|-------------|
| `images` | array | Photo URLs at the chosen width |
| `imageCount` | number | Photo count — 41 per listing on average |
| `insertDate` | string | When the listing first appeared |
| `listingDate` | string | On-market date |
| `lastUpdated` | string | Last modification time |

#### With `enrichDetails` enabled

| Field | Type | Description |
|-------|------|-------------|
| `description` | string | Full listing description as plain text |
| `priceHistory` | array | Every price change with date, delta, and acreage |
| `amenities` | array | Categorised land uses — agricultural, recreational, water, improvements |
| `attachments` | array | Seller-uploaded documents: plats, surveys, disclosures |
| `media` | object | `videoUrl`, `virtualTourUrl`, a full `videos` list, an interactive map link, and per-photo captions and dimensions |
| `phones` | object | Broker's office, cell, toll-free, fax, and preferred numbers |
| `brokerWebsite` | string | Brokerage website |
| `brokerLicense` | string | Broker's license number |
| `brokerCity` / `brokerState` | string | Brokerage location |
| `externalListingUrl` | string | The property's page on the brokerage's own site |
| `parcelId` | string | County parcel identifier |
| `mlsId` | string | MLS number where published |
| `regionName` | string | Land.com's named region, e.g. `Blacklands North Texas` |

### Tips for Best Results

- **Plan around the 500-per-search ceiling** — Land.com pages through at most 500 properties for any single search, no matter how many match. A statewide search that reports 74,000 results will still return 500. To collect a whole state, split it by county, price band, or property type and paste every URL into `searchUrls`; the run de-duplicates across them automatically.
- **Filter on the site first, then copy the URL** — acreage range, price band, property type, and county are all encoded in the address bar and carried through, so a multi-filter search needs no extra configuration here.
- **Turn on `enrichDetails` for anything contact-related** — the broker's phone number is on only about half of search-level rows, but on 100% of enriched ones — office, cell, toll-free, and their preferred line.
- **Use `priceHistory` rather than repeated runs for comparables** — one enriched row already contains every price change with its date and delta, so you do not need to scrape the same property weekly to build a trend.
- **Treat a missing `price` as meaningful, not broken** — around one listing in seven is "contact for price". Those rows carry full acreage, location, and broker data, and are often the higher-value properties; filter on `price != null` only when you specifically need a figure.
- **Sort by `lastUpdated` to monitor a market** — schedule a run and diff on this field to surface new and re-priced inventory instead of reprocessing everything.
- **Query by county for the cleanest comparables** — county is the unit rural appraisal actually works in, and a county-level search almost always sits under the 500 ceiling, so you get complete coverage in a single run.

### Pricing

**From $1.00 per 1,000 results** (search only) or **from $2.50 per 1,000 results** (with full
details).

| Results | Search Only | With Full Details |
|---------|-------------|-------------------|
| 100 | $0.10 | $0.25 |
| 1,000 | $1.00 | $2.50 |
| 10,000 | $10.00 | $25.00 |
| 100,000 | $100.00 | $250.00 |

Those are the rates on Gold and above. Higher-volume plans pay less per result:

| Your Apify plan | Search Only | With Full Details |
|-----------------|-------------|-------------------|
| No discount | $1.20 | $3.00 |
| Bronze | $1.15 | $2.85 |
| Silver | $1.05 | $2.65 |
| **Gold and above** | **$1.00** | **$2.50** |

Per 1,000 results.

A "result" is any property row in the output dataset. When you run several searches at once, a property matching more than one of them is de-duplicated before it reaches the dataset, so you are never charged twice for the same listing. The full-details rate applies only to rows that actually came back with the description, price history, and broker contacts attached — if a property's detail record is unavailable, the row is still delivered and charged at the search-only rate. Platform fees (compute, storage) are additional and depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications when new listings match
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

**This is an unofficial scraper. It is not affiliated with, endorsed by, or connected to Land.com, its operators, or the Land.com Network in any way.** All trademarks belong to their respective owners.

This actor is intended for legitimate market research, real-estate analytics, and brokerage intelligence. You are responsible for complying with applicable laws and with Land.com's Terms of Service.

Listings include broker contact details. Treat them as personal data: do not use phone numbers, addresses, or license details for spam, harassment, or any unlawful purpose, and follow applicable privacy rules when storing or processing them. Property listings may also be subject to fair-housing rules — do not use this data to discriminate in the sale, rental, or financing of housing.

# Actor input Schema

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

Land.com search result URLs. Set your filters on Land.com, then paste the address bar URL here. Overrides Location and Property type when provided.

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

State, county, city or ZIP to search. Used only when Search URLs is empty.

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

Property category to search. Used only when Search URLs is empty.

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

Maximum results per search URL (0 = collect everything each search returns). Land.com pages through at most 500 properties per search, so use several narrower searches to collect more.

## `enrichDetails` (type: `boolean`):

Add 14 extra fields per property: full description, amenities, price history, MLS and parcel IDs, broker license, website, city, state and phone numbers, video and virtual-tour links, photo captions, and attached documents. Adds one request per property and is billed at the higher rate.

## `imageSize` (type: `string`):

Width of the photo URLs in the output.

## `concurrency` (type: `integer`):

How many requests to run in parallel. Lower this if you see failures.

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

Proxy settings for the run.

## Actor input object example

```json
{
  "searchUrls": [
    "https://www.land.com/Texas/farms/"
  ],
  "location": "Texas",
  "propertyType": "all-land",
  "maxItems": 100,
  "enrichDetails": false,
  "imageSize": "medium",
  "concurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

Table of properties with price, acreage, price per acre and location.

## `broker` (type: `string`):

Listing broker name, company, phone number, website and license for each property.

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

Address, county, ZIP, GPS coordinates and acreage for each property.

# 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.land.com/Texas/farms/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/land-com-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.land.com/Texas/farms/"] }

# Run the Actor and wait for it to finish
run = client.actor("solidcode/land-com-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.land.com/Texas/farms/"
  ]
}' |
apify call solidcode/land-com-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Land.com Scraper — Land, Farm & Ranch Listings",
        "description": "Extract rural land, farm and ranch listings from Land.com. Get prices, acreage, GPS coordinates, photos and direct broker phone numbers across all 50 states. Export to JSON, CSV or Excel.",
        "version": "1.0",
        "x-build-id": "8ibPGy1bCtYgERtda"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~land-com-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-land-com-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/solidcode~land-com-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-land-com-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/solidcode~land-com-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-land-com-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": "Land.com search result URLs. Set your filters on Land.com, then paste the address bar URL here. Overrides Location and Property type when provided.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "State, county, city or ZIP to search. Used only when Search URLs is empty.",
                        "default": "Texas"
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "all-land",
                            "farms",
                            "ranches",
                            "undeveloped-land",
                            "residential-property",
                            "recreational-property",
                            "timberland",
                            "commercial-property",
                            "hunting-land",
                            "horse-property",
                            "lakefront-property",
                            "beachfront-property",
                            "riverfront-property",
                            "waterfront-property"
                        ],
                        "type": "string",
                        "description": "Property category to search. Used only when Search URLs is empty.",
                        "default": "all-land"
                    },
                    "maxItems": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum results per search URL (0 = collect everything each search returns). Land.com pages through at most 500 properties per search, so use several narrower searches to collect more.",
                        "default": 100
                    },
                    "enrichDetails": {
                        "title": "Include full details",
                        "type": "boolean",
                        "description": "Add 14 extra fields per property: full description, amenities, price history, MLS and parcel IDs, broker license, website, city, state and phone numbers, video and virtual-tour links, photo captions, and attached documents. Adds one request per property and is billed at the higher rate.",
                        "default": false
                    },
                    "imageSize": {
                        "title": "Photo size",
                        "enum": [
                            "small",
                            "medium",
                            "large"
                        ],
                        "type": "string",
                        "description": "Width of the photo URLs in the output.",
                        "default": "medium"
                    },
                    "concurrency": {
                        "title": "Concurrency",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many requests to run in parallel. Lower this if you see failures.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings for the run.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
