# Land.com Listing Scraper 🏞️

Scrape land and property listings from Land.com, including detailed property information, prices, acreage, broker details, and more. Perfect for real estate analysis and market research.

## Actor Statistics

- Total users: 17
- Monthly users: 6
- Runs succeeded: 100.00%
- Categories: Real estate, Integrations

## Pricing

$19.99/month + usage

## Input Schema

- **searchUrls** (type: array): List of Land.com search URLs to scrape
- **maxItems** (type: integer): Maximum number of items to scrape
- **proxyConfiguration** (type: object): Proxy settings for the scraper

## API example

## Land.com Listing Scraper 🏞️

- **OpenAPI Version:** `3.1.1`
- **API Version:** `0.0`

Scrape land and property listings from Land.com, including detailed property information, prices, acreage, broker details, and more. Perfect for real estate analysis and market research.

### Servers

- **URL:** `https://api.apify.com/v2`

### Operations

#### Executes an Actor, waits for its completion, and returns Actor's dataset items in response.

- **Method:** `POST`
- **Path:** `/acts/easyapi~land-com-listing-scraper/run-sync-get-dataset-items`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`searchUrls` (required)**

  `array`, default: `["https://www.land.com/Louisiana/all-land/over-100000/"]` — List of Land.com search URLs to scrape

  **Items:**

  `string`

- **`maxItems`**

  `integer`, default: `50` — Maximum number of items to scrape

- **`proxyConfiguration`**

  `object`, default: `{"useApifyProxy":false}` — Proxy settings for the scraper

**Example:**

```
{
  "searchUrls": [
    "https://www.land.com/Louisiana/all-land/over-100000/"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

##### Responses

###### Status: 200 OK

#### Executes an Actor and returns information about the initiated run in response.

- **Method:** `POST`
- **Path:** `/acts/easyapi~land-com-listing-scraper/runs`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`searchUrls` (required)**

  `array`, default: `["https://www.land.com/Louisiana/all-land/over-100000/"]` — List of Land.com search URLs to scrape

  **Items:**

  `string`

- **`maxItems`**

  `integer`, default: `50` — Maximum number of items to scrape

- **`proxyConfiguration`**

  `object`, default: `{"useApifyProxy":false}` — Proxy settings for the scraper

**Example:**

```
{
  "searchUrls": [
    "https://www.land.com/Louisiana/all-land/over-100000/"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

##### Responses

###### Status: 200 OK

\####### Content-Type: application/json

- **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

#### Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.

- **Method:** `POST`
- **Path:** `/acts/easyapi~land-com-listing-scraper/run-sync`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`searchUrls` (required)**

  `array`, default: `["https://www.land.com/Louisiana/all-land/over-100000/"]` — List of Land.com search URLs to scrape

  **Items:**

  `string`

- **`maxItems`**

  `integer`, default: `50` — Maximum number of items to scrape

- **`proxyConfiguration`**

  `object`, default: `{"useApifyProxy":false}` — Proxy settings for the scraper

**Example:**

```
{
  "searchUrls": [
    "https://www.land.com/Louisiana/all-land/over-100000/"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

##### Responses

###### Status: 200 OK

### Schemas

#### inputSchema

- **Type:**`object`

* **`searchUrls` (required)**

  `array`, default: `["https://www.land.com/Louisiana/all-land/over-100000/"]` — List of Land.com search URLs to scrape

  **Items:**

  `string`

* **`maxItems`**

  `integer`, default: `50` — Maximum number of items to scrape

* **`proxyConfiguration`**

  `object`, default: `{"useApifyProxy":false}` — Proxy settings for the scraper

**Example:**

```
{
  "searchUrls": [
    "https://www.land.com/Louisiana/all-land/over-100000/"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

#### runsResponseSchema

- **Type:**`object`

* **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

## Land.com Scraper 🏞️

Powerful scraper for extracting detailed property listings from Land.com, America's leading land marketplace platform.

### 🎯 Use Cases

- Real estate market analysis and research
- Property investment opportunities tracking
- Land price monitoring and comparison
- Broker and agency research
- Agricultural and recreational land market study

### ✨ Features

- **Comprehensive Data Extraction** 📊
  - Property details (price, acreage, location)
  - Property types and characteristics
  - Broker information
  - Images and media counts
  - Listing status and dates
  - Geographic coordinates

- **Flexible Search Options** 🔍
  - Search by state/region
  - Filter by price range
  - Multiple property types
  - Custom search URLs support

- **Advanced Capabilities** 💪
  - Automatic pagination handling
  - Proxy rotation support
  - Rate limiting and retry mechanism
  - Browser fingerprint randomization

### 📋 Output Data Structure

The actor provides detailed property information including:

- Property ID and listing details
- Price and acreage information
- Location data (city, county, state)
- Property characteristics (beds, baths, etc.)
- Broker and company information
- Listing dates and status
- Media information (images, videos)
- Geographic coordinates

### 💡 Tips for Using This Actor

1. **Search URLs**: Use Land.com search URLs with your desired filters
2. **Max Items**: Adjust the maximum number of listings to scrape
3. **Proxy**: Consider using proxies for large-scale scraping

### ⚙️ Input Parameters

- `searchUrls`: Array of Land.com search URLs to scrape
- `maxItems`: Maximum number of items to scrape (default: 50)
- `proxyConfiguration`: Optional proxy settings

### 📝 Notes

- Respect Land.com's terms of service and rate limits
- Consider using proxy for large-scale scraping
- Data updates frequency depends on Land.com's listing updates

#### Input Example

A full explanation of an input example in JSON.

```json
{
    "searchUrls": [
        "https://www.land.com/Louisiana/all-land/over-100000/"
    ],
    "maxItems": 50
}
```

#### Output sample

The results will be wrapped into a dataset which you can always find in the **Storage** tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
[
    {
        "accountId": 1360034,
        "acres": 459,
        "acresDisplay": "459 acres",
        "adTargetingCountyId": 5996,
        "address": "Blankston Road Lot## Wp002",
        "auctionDate": "0001-01-01T00:00:00",
        "baths": 5,
        "bathsDisplay": "5 baths",
        "bedsDisplay": "9 beds",
        "beds": 9,
        "brokerCanonicalUrl": "https://www.land.com/member/clint-wood/1360034/",
        "brokerCompany": "Whitetail Properties Real Estate",
        "brokerName": "Clint Wood",
        "brokerPhone": null,
        "canonicalUrl": "https://www.land.com/property/459-acres-in-Caldwell-Parish-Louisiana/22217466/",
        "city": "Columbia",
        "cityID": 5548,
        "companyLogoDocumentId": 3769653156,
        "county": "Caldwell Parish",
        "countyId": 5996,
        "countyLabel": "Parish",
        "description": "Whether you are looking for a place to take clients on a hunt they will never forget, or you want to be able to manage your own deer herd, then you need to take a look at this one. The current owner has put a ton of time and money into the genetics o",
        "encodedBoundaryPoints": "32.2558,-92.1278",
        "executiveSummary": null,
        "externalSourceId": null,
        "halfBaths": 2,
        "halfBathsDisplay": null,
        "hasCustomMap": true,
        "hasHouse": true,
        "hasVideo": false,
        "hasVirtualTour": false,
        "homesqft": 0,
        "homesqftDisplay": "",
        "imageAltTextDisplay": "Property for sale in Caldwell Parish, Louisiana",
        "imageCount": 141,
        "imageIds": [
            5391072451,
            5391072453,
            5361435990,
            5361435991,
            5361435994,
            5361435995,
            5361435997,
            5361435998,
            5361435999,
            5361436002,
            5361436003,
            5361436005,
            5361436006,
            5361436009,
            5361436010,
            5361436011,
            5361436014,
            5361436015,
            5361436016,
            5361436018,
            5361436021,
            5361436022,
            5361436024,
            5361436026,
            5361436028,
            5361436031,
            5361436033,
            5361436035,
            5361436038,
            5361436040,
            5361436041,
            5361436043,
            5361436045,
            5361436048,
            5361436050,
            5361436052,
            5361436059,
            5361436061,
            5361436063,
            5361436065,
            5361436067,
            5361436069,
            5361436072,
            5361436074,
            5361436076,
            5361436078,
            5361436081,
            5361436083,
            5361436085,
            5361436087,
            5361436090,
            5361436092,
            5361436094,
            5361436096,
            5361436099,
            5361436101,
            5361436103,
            5361436106,
            5361436108,
            5361436110,
            5361436112,
            5361436115,
            5361436117,
            5361436119,
            5361436121,
            5361436124,
            5361436126,
            5361436128,
            5361436130,
            5361436133,
            5361436135,
            5361436137,
            5361436139,
            5361436141,
            5361436143,
            5361436146,
            5361436148,
            5361436151,
            5361436153,
            5361436155,
            5361436157,
            5361436160,
            5361436162,
            5361436163,
            5361436166,
            5361436168,
            5361436170,
            5361436172,
            5361436175,
            5361436177,
            5361436178,
            5361436179,
            5361436180,
            5361436182,
            5361436183,
            5361436184,
            5361436185,
            5361436187,
            5361436188,
            5361436189,
            5361436190,
            5361436192,
            5361436193,
            5361436194,
            5361436195,
            5361436197,
            5361436198,
            5361436199,
            5361436200,
            5361436202,
            5361436203,
            5361436204,
            5361436205,
            5361436207,
            5361436208,
            5361436209,
            5361436210,
            5361436211,
            5361436213,
            5361436214,
            5361436217,
            5361436218,
            5361436220,
            5361436222,
            5361436224,
            5361436228,
            5361436229,
            5361436230,
            5361436233,
            5361436235,
            5361436236,
            5361436238,
            5361436241,
            5361436243,
            5361436245,
            5361436246,
            5361436249,
            5361436250,
            5361436251,
            5361436253,
            5361436256
        ],
        "insertDate": "2024-12-18T00:14:11.113",
        "id": 22217466,
        "isALC": false,
        "isDiamond": false,
        "isFirstFreeListing": false,
        "isGold": false,
        "isHeadlineAd": false,
        "isLiked": false,
        "isPlatinum": true,
        "isShowcase": false,
        "lafPropertyId": 36251844,
        "lake": null,
        "lastUpdated": "2025-01-20T23:54:07.303",
        "latitude": 32.2558,
        "listHubListingKey": null,
        "listingLevel": 30,
        "listingLevelTitle": "Signature Partner",
        "longitude": -92.1278,
        "lwPropertyId": 421621964,
        "onMarketDate": "0001-01-01T00:00:00",
        "parentAccountId": 25449,
        "partnerId": 0,
        "portraitDocumentId": 5318887172,
        "price": 2750000,
        "priceChangeAmount": 0,
        "priceChangeDate": "0001-01-01T00:00:00",
        "priceChangePercentage": 0,
        "priceDisplay": "$2,750,000",
        "pricePerAcre": 5991.29,
        "propertyTypes": 148,
        "propertyTypesLabel": "Recreational Property, Timberland, Hunting Land",
        "regionId": 97,
        "salesDate": "0001-01-01T00:00:00",
        "salesPrice": 0,
        "schemaData": "{\"@context\":\"http://schema.org\",\"@type\":\"SingleFamilyResidence\",\"name\":\"Blankston Road Lot## Wp002, Columbia, LA, 71418\",\"description\":\"Whether you are looking for a place to take clients on a hunt they will never forget, or you want to\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Blankston Road Lot## Wp002\",\"addressLocality\":\"Columbia\",\"addressRegion\":\"LA\",\"postalCode\":\"71418\"}}",
        "shortPrice": "$2.8M",
        "siteListingId": 22217466,
        "state": "Louisiana",
        "stateAbbreviation": "LA",
        "stateCode": "LA",
        "stateId": 22,
        "status": 1,
        "thumbnailDocumentId": 5391072451,
        "title": "Premier Hunting and Recreational Property with Exceptional Amenities",
        "types": [
            "Recreational Property",
            "Timberland",
            "Hunting Land"
        ],
        "zip": "71418",
        "searchUrl": "https://www.land.com/Louisiana/all-land/over-100000/",
        "scrapedAt": "2025-01-25T02:21:02.170Z"
    },
    ...
]
```
