# Landsearch Property Details Scraper (`alexist/landsearch-property-details-scraper`) Actor

Scrape detailed property information from Landsearch.com including ads, media, status, targeting criteria, and more. Perfect for real estate investors, market researchers, and property aggregators seeking structured land and property data at scale.

- **URL**: https://apify.com/alexist/landsearch-property-details-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

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

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Landsearch Property Details Scraper: Extract Real Estate Data Effortlessly

***

### What Is Landsearch.com?

Landsearch.com is a comprehensive online marketplace specializing in land sales, vacant properties, and development opportunities across the United States. The platform hosts thousands of detailed property listings with photos, pricing, descriptions, and seller information. Collecting this property data manually is labor-intensive — the **Landsearch Property Details Scraper** automates extraction, delivering structured records ready for analysis, investment evaluation, or market research.

***

### Overview

The **Landsearch Property Details Scraper** extracts comprehensive property information from individual Landsearch listing pages, converting unstructured content into clean, organized datasets. It is ideal for:

- **Real estate investors** tracking market opportunities and pricing trends
- **Property aggregators** building multi-source listing databases
- **Market researchers** analyzing land availability and development potential
- **Data analysts** studying real estate market dynamics by region
- **Sales teams** monitoring competitor listings and market conditions

The scraper handles multiple URLs efficiently, supports failure tolerance, and delivers 11 key data fields per property. Its configurable limits and robust error handling make it suitable for both small-scale projects and large-scale property market research.

***

### Input Format

The scraper accepts a configuration object to specify which properties to extract:

```json
{
  "urls": [
    "https://www.landsearch.com/properties/cheek-rd-gray-court-sc-29645/5417079",
    "https://www.landsearch.com/properties/pacolet-sc-29372/5315732"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Field | Description |
|---|---|
| `urls` | Array of direct Landsearch property detail page URLs. Each URL should point to a specific property listing. Copy from the browser address bar. |
| `max_items_per_url` | Maximum number of data records extracted per URL (e.g., `200`). For single property pages, this typically equals `1`. |
| `ignore_url_failures` | Boolean flag. If `true`, the scraper continues running if some URLs fail; if `false`, execution stops on the first error. Recommended: `true` for bulk runs. |

> **Best Practice:** Use full property detail URLs (e.g., `https://www.landsearch.com/properties/.../[ID]`), not search or listing pages. You can add multiple URLs at once via bulk edit.

***

### Output Format

**Sample output**

```json
{
  "ads": true,
  "context": {
    "hash": "4Vqs9",
    "center": [
      -82.099395,
      34.647045
    ],
    "precision": "high",
    "key": "3yd-NYSMLS-11878504",
    "source": "listhub",
    "street": "08-z47FrleBLvZLs856sNg|265.32"
  },
  "cordless": {
    "address": "Cheek Rd",
    "city": "Gray Court",
    "state": "SC",
    "zipcode": "29645",
    "list_price": 184999,
    "lot_sqft": 220849,
    "property_type": "Land"
  },
  "id": 5417079,
  "media": {
    "total_images": 21,
    "images": [
      {
        "id": 174839699,
        "key": "gray-court-sc-174839699",
        "width": 1600,
        "height": 1198,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839699.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839699.jpg",
        "position": 1,
        "lazy": true,
        "cover": true,
        "alt": "5 Acres of Land for Sale in Gray Court, South Carolina",
        "fetched": true
      },
      {
        "id": 174839700,
        "key": "gray-court-sc-174839700",
        "width": 1600,
        "height": 1198,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839700.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839700.jpg",
        "position": 2,
        "loaded": true
      },
      {
        "id": 174839701,
        "key": "gray-court-sc-174839701",
        "width": 1600,
        "height": 1198,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839701.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839701.jpg",
        "position": 3,
        "loaded": true
      },
      {
        "id": 174839702,
        "key": "gray-court-sc-174839702",
        "width": 1600,
        "height": 1198,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839702.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839702.jpg",
        "position": 4,
        "loaded": true
      },
      {
        "id": 174839703,
        "key": "gray-court-sc-174839703",
        "width": 1600,
        "height": 1198,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839703.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839703.jpg",
        "position": 5,
        "loaded": true
      },
      {
        "id": 174839704,
        "key": "gray-court-sc-174839704",
        "width": 1600,
        "height": 1198,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839704.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839704.jpg",
        "position": 6,
        "loaded": true
      },
      {
        "id": 174839705,
        "key": "gray-court-sc-174839705",
        "width": 1600,
        "height": 1198,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839705.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839705.jpg",
        "position": 7,
        "loaded": true
      },
      {
        "id": 174839706,
        "key": "gray-court-sc-174839706",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839706.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839706.jpg",
        "position": 8,
        "lazy": true
      },
      {
        "id": 174839707,
        "key": "gray-court-sc-174839707",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839707.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839707.jpg",
        "position": 9,
        "lazy": true
      },
      {
        "id": 174839708,
        "key": "gray-court-sc-174839708",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839708.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839708.jpg",
        "position": 10,
        "lazy": true
      },
      {
        "id": 174839709,
        "key": "gray-court-sc-174839709",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839709.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839709.jpg",
        "position": 11,
        "lazy": true
      },
      {
        "id": 174839710,
        "key": "gray-court-sc-174839710",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839710.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839710.jpg",
        "position": 12,
        "lazy": true
      },
      {
        "id": 174839711,
        "key": "gray-court-sc-174839711",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839711.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839711.jpg",
        "position": 13,
        "lazy": true
      },
      {
        "id": 174839712,
        "key": "gray-court-sc-174839712",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839712.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839712.jpg",
        "position": 14,
        "lazy": true
      },
      {
        "id": 174839713,
        "key": "gray-court-sc-174839713",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839713.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839713.jpg",
        "position": 15,
        "lazy": true
      },
      {
        "id": 174839714,
        "key": "gray-court-sc-174839714",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839714.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839714.jpg",
        "position": 16,
        "lazy": true
      },
      {
        "id": 174839715,
        "key": "gray-court-sc-174839715",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839715.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839715.jpg",
        "position": 17,
        "lazy": true
      },
      {
        "id": 174839716,
        "key": "gray-court-sc-174839716",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839716.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839716.jpg",
        "position": 18,
        "lazy": true
      },
      {
        "id": 174839717,
        "key": "gray-court-sc-174839717",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839717.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839717.jpg",
        "position": 19,
        "lazy": true
      },
      {
        "id": 174839718,
        "key": "gray-court-sc-174839718",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839718.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839718.jpg",
        "position": 20,
        "lazy": true
      },
      {
        "id": 174839719,
        "key": "gray-court-sc-174839719",
        "width": 1600,
        "height": 1201,
        "path": "https://cdn.landsearch.com/listings/4Vqs9/large/gray-court-sc-174839719.jpg",
        "small": "https://cdn.landsearch.com/listings/4Vqs9/small/gray-court-sc-174839719.jpg",
        "position": 21,
        "lazy": true
      }
    ],
    "total_videos": 0,
    "panels": [
      {
        "id": "images",
        "label": "Images",
        "icon": "images"
      },
      {
        "id": "map",
        "icon": "map",
        "label": "Map"
      },
      {
        "id": "street",
        "label": "Street",
        "icon": "street"
      }
    ],
    "active_image": 1,
    "active_panel": "images"
  },
  "promoted": false,
  "status": "active",
  "targeting": {
    "format": "sale",
    "structure": "n",
    "team": 103411,
    "country": "united-states",
    "territory": "south-carolina",
    "region": "upstate-south-carolina-sc",
    "subterritory": "laurens-county-sc",
    "locality": "gray-court-sc",
    "postal_code": "29645",
    "tag": [
      "hobby-farm",
      "rural",
      "septic",
      "vacant",
      "wooded"
    ],
    "price": 100000,
    "size": 5
  },
  "criteria": {
    "format": "sale",
    "location": "gray-court-sc",
    "price": 184999,
    "size": 5.07,
    "type": [
      "agricultural",
      "residential"
    ]
  },
  "source": "https://www.realtor.com/realestateandhomes-detail/10-Cheek-Rd_Gray-Court_SC_29645_M93432-97929?f=listhub&s=NYSMLS&m=11878504&c=landsearch",
  "payment": {
    "price": 184999,
    "down": 25,
    "term": 180,
    "tax_rate": 0.00438,
    "tax": 810,
    "total": 1315
  }
}
```

Each scraped property returns 11 fields containing essential listing and marketing data:

#### Listing Identification & Status

| Field | Meaning |
|---|---|
| `ID` | Unique internal Landsearch identifier for the property. Used to track and reference the listing across systems. |
| `Status` | Current listing status (e.g., active, pending, sold, expired). Indicates whether the property is available, under contract, or closed. |
| `Source` | Origin or source of the listing data within Landsearch (e.g., MLS feed, direct upload, syndicated source). Helps identify data reliability. |

#### Marketing & Promotion

| Field | Meaning |
|---|---|
| `Ads` | Advertising details or ad campaign information associated with the listing. May include ad spend, campaign ID, or ad network placement. |
| `Promoted` | Boolean flag indicating whether the property has paid promotional placement. Featured or boosted listings rank higher in search results. |
| `Media` | Associated media files — URLs or metadata for photos, videos, virtual tours, or documents attached to the listing. Critical for visual property assessment. |

#### Targeting & Audience

| Field | Meaning |
|---|---|
| `Targeting` | Demographic or geographic targeting parameters applied to this listing's marketing campaign (e.g., investor-focused, first-time buyers, specific regions). |
| `Criteria` | Property criteria or filtering tags (e.g., "development land", "commercial zoning", "off-market opportunity"). Helps buyers quickly identify property type. |
| `Context` | Additional contextual information about the listing environment (e.g., neighborhood context, market conditions, growth indicators, or special circumstances). |

#### Transaction Details

| Field | Meaning |
|---|---|
| `Payment` | Payment or pricing information (e.g., asking price, payment terms, financing options offered). Reflects seller flexibility on transaction structure. |
| `Cordless` | Typically refers to property features or utilities (e.g., no power lines, rural setting, off-grid capability). Describes physical property characteristics. |

***

### How to Use

1. **Gather property URLs** — Navigate Landsearch.com and open individual property detail pages. Note the full URL from your browser.
2. **Prepare the input** — Copy URLs into the `urls` array. Set `ignore_url_failures: true` to handle bulk runs gracefully.
3. **Configure limits** — Set `max_items_per_url` to control data volume. For single properties, leave at default; for bulk operations, adjust as needed.
4. **Run the scraper** — Execute the actor and monitor the run log for progress and errors.
5. **Export data** — Download results as JSON, CSV, or Excel for use in spreadsheets, databases, or analytics tools.

**Troubleshooting tips:**

- If a URL returns empty data, verify it is a valid property detail page (not a search results page).
- Use `ignore_url_failures: true` to skip broken or removed listings without halting the run.
- Landsearch occasionally restructures pages; if output format changes, contact support for updates.

***

### Use Cases & Business Value

- **Investment analysis:** Build datasets of available properties by price, location, and characteristics for investment screening
- **Market benchmarking:** Track pricing trends, days-on-market, and inventory levels across regions
- **Competitor monitoring:** Identify new listings and market movements from rival agents or platforms
- **Aggregator platforms:** Power custom property search engines and multi-source listing platforms
- **Appraisal research:** Gather comparable property data for valuation and market analysis

By automating property data collection, you eliminate manual research hours and gain structured, machine-readable records that integrate seamlessly into CRM, GIS, and analytics systems.

***

### Conclusion

The **Landsearch Property Details Scraper** transforms time-consuming property research into an automated workflow. With 11 rich output fields covering identity, marketing, audience targeting, and transaction details, it delivers the insights needed for informed real estate decisions. Whether you're an investor, aggregator, or analyst, this scraper accelerates data collection and unlocks competitive advantage in the property market.

# Actor input Schema

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

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

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

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

## Actor input object example

```json
{
  "urls": [
    "https://www.landsearch.com/properties/cheek-rd-gray-court-sc-29645/5417079",
    "https://www.landsearch.com/properties/pacolet-sc-29372/5315732",
    "https://www.landsearch.com/properties/clinton-sc-29325/5289352",
    "https://www.landsearch.com/properties/wilkinsville-hwy-gaffney-sc-29340/5250010",
    "https://www.landsearch.com/properties/fountain-inn-sc-29644/5335619"
  ],
  "ignore_url_failures": true
}
```

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "urls": [
        "https://www.landsearch.com/properties/cheek-rd-gray-court-sc-29645/5417079",
        "https://www.landsearch.com/properties/pacolet-sc-29372/5315732",
        "https://www.landsearch.com/properties/clinton-sc-29325/5289352",
        "https://www.landsearch.com/properties/wilkinsville-hwy-gaffney-sc-29340/5250010",
        "https://www.landsearch.com/properties/fountain-inn-sc-29644/5335619"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/landsearch-property-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": [
        "https://www.landsearch.com/properties/cheek-rd-gray-court-sc-29645/5417079",
        "https://www.landsearch.com/properties/pacolet-sc-29372/5315732",
        "https://www.landsearch.com/properties/clinton-sc-29325/5289352",
        "https://www.landsearch.com/properties/wilkinsville-hwy-gaffney-sc-29340/5250010",
        "https://www.landsearch.com/properties/fountain-inn-sc-29644/5335619",
    ],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/landsearch-property-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.landsearch.com/properties/cheek-rd-gray-court-sc-29645/5417079",
    "https://www.landsearch.com/properties/pacolet-sc-29372/5315732",
    "https://www.landsearch.com/properties/clinton-sc-29325/5289352",
    "https://www.landsearch.com/properties/wilkinsville-hwy-gaffney-sc-29340/5250010",
    "https://www.landsearch.com/properties/fountain-inn-sc-29644/5335619"
  ],
  "ignore_url_failures": true
}' |
apify call alexist/landsearch-property-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/XiMpQoHsLVSYSf8vq/builds/qVBqirXmdBWdLcx2l/openapi.json
