LandWatch Scraper: Land for Sale, Price per Acre, Brokers avatar

LandWatch Scraper: Land for Sale, Price per Acre, Brokers

Pricing

from $0.79 / 1,000 land listings

Go to Apify Store
LandWatch Scraper: Land for Sale, Price per Acre, Brokers

LandWatch Scraper: Land for Sale, Price per Acre, Brokers

Scrape LandWatch land for sale by search link or US state: price, acres, price per acre, county, GPS, property types, house details, listing broker and photos. 25 listings a page, every LandWatch filter, new listing monitor. No login, no browser. Pay per listing.

Pricing

from $0.79 / 1,000 land listings

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 hours ago

Last modified

Share

20 LandWatch land listings in 5 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with nearly 139,000 runs across our actors.

Why choose this actor?

  • Any LandWatch search, filters included. Paste the link you see in your browser after picking a county, price band, acreage or property type, and the actor reads that exact search, 25 listings a page. Our proof run read a Harris County, Texas search (3,259 listings) and returned 20 listings in 5 seconds. No LandWatch account, no cookies, no proxy to set up.
  • Price per acre, location and broker on every row. Up to 47 fields per listing: price, acres, price per acre, county, ZIP, GPS, property types, house size, listing tier, brokerage company and photos. In the proof runs, all 40 of 40 rows carried acres, county, coordinates and the brokerage company.
  • Scheduled runs that bill only what changed. Turn on onlyNewListings and each run returns only listings it has not delivered before for the same searches, plus listings whose price changed (marked price_changed). Listings you already have are skipped and never charged.

Run it on Apify

Part of The Mine Works Real estate family: Zillow Rentals Scraper, Zillow Sold Comps Scraper, India Real Estate MCP, Housing.com Scraper, MagicBricks Scraper, Zillow Property Scraper.

Try it in one minute

Paste this input and press Start. It returns about 10 listings from one county search:

{
"searchUrls": ["https://www.landwatch.com/texas-land-for-sale/harris-county"],
"maxResultsPerSearch": 10
}

There are two ways to say what you want:

  • Search links (searchUrls): any LandWatch search page, as copied from the address bar. For example https://www.landwatch.com/texas-land-for-sale, https://www.landwatch.com/texas-land-for-sale/harris-county or https://www.landwatch.com/nebraska-land-for-sale/farms-ranches/price-250000-499999. The scheme is optional (landwatch.com/montana-land-for-sale works).
  • States (states plus an optional propertyType): pick whole US states from a list, for example Montana with Farms and ranches. Each state becomes the same search page LandWatch links to, such as /montana-land-for-sale/farms-ranches.

Single listing pages (/pid/...) and agent pages (/find-agent/...) are not searches; they are skipped with a note in the log.

Apify's free plan includes $5 of credit every month, which covers about 2,700 listings at this actor's Free plan price.

Copy to your AI assistant

themineworks/landwatch-land-for-sale-scraper on Apify. Returns public LandWatch.com land for sale listings (price, acres, price per acre, county, GPS, property types, broker, photos) from LandWatch search links or US states. Call ApifyClient("TOKEN").actor("themineworks/landwatch-land-for-sale-scraper").call(run_input={"searchUrls": ["https://www.landwatch.com/texas-land-for-sale/harris-county"], "maxResultsPerSearch": 25}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: searchUrls (LandWatch search page links) or states (US state names). Optional: propertyType (all, undeveloped, homesites, homes, farms_ranches, recreational, waterfront, lakefront, commercial, hunting, horse, timberland, riverfront, oceanfront; default all; used with states only), maxResultsPerSearch (default 100, 0 = up to 2,500), onlyNewListings (default false). Full spec: GET https://api.apify.com/v2/acts/themineworks~landwatch-land-for-sale-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations

Key features

  • 47 fields per listing, grouped as price (price, price per acre, last price change), land (acres, property types, lake), house (beds, baths, square feet), location (address, city, county, state, ZIP, latitude, longitude), broker (name, company, profile link, and the phone on top tier listings), photos and search context.
  • Every filter LandWatch puts in a link: region, county, city, 13 property types, 13 activities, price bands, acreage bands, residence, square feet, bedrooms, sale type, land use, HOA, housing type, geography, owner financing and mineral rights. You set them on landwatch.com and paste the link.
  • 51 states in one click (the 50 states plus the District of Columbia), each with an optional property type.
  • Up to 100 searches per run and up to 2,500 listings per search (100 pages of 25). A listing that two of your searches share is returned and charged once.
  • Monitor mode (onlyNewListings): only new listings and price changes on each scheduled run, tagged new or price_changed.
  • Plain HTTP, no browser, 256 MB of memory. A run summary (status per search, pages read, requests, robots.txt state) is saved as the OUTPUT record.

How to use it

Open LandWatch, set the filters you want, copy the address bar and paste it:

{
"searchUrls": ["https://www.landwatch.com/montana-land-for-sale/acres-over-1000"],
"maxResultsPerSearch": 100
}

Several searches at once

Mix links and states. Each search gets its own maxResultsPerSearch allowance, and a listing found by two searches is returned once:

{
"searchUrls": [
"https://www.landwatch.com/texas-land-for-sale/harris-county",
"https://www.landwatch.com/texas-land-for-sale/montgomery-county"
],
"states": ["Wyoming", "Idaho"],
"propertyType": "hunting",
"maxResultsPerSearch": 200
}

The two links keep their own filters; propertyType applies to the states only, so this run also reads hunting land in Wyoming and in Idaho.

Daily new land listings in a county

Land investors and wholesalers watch a few counties for anything new. Turn on monitor mode and schedule the run daily (Apify Console, Schedules, Add schedule):

{
"searchUrls": ["https://www.landwatch.com/texas-land-for-sale/parker-county"],
"maxResultsPerSearch": 0,
"onlyNewListings": true
}

The first run returns the whole search and sets the starting point. Every later run returns only listings it has not delivered before, plus any listing whose asking price changed since, with monitor_change set to new or price_changed. Keep the same search list: the memory is kept per set of searches, so a different list starts fresh.

Price per acre comps for a farm or ranch

Appraisers and buyers compare asking prices per acre in one county and size band. Use LandWatch's own acreage and property type filters, then sort the dataset by price_per_acre_usd:

{
"searchUrls": ["https://www.landwatch.com/nebraska-land-for-sale/farms-ranches/price-250000-499999"],
"maxResultsPerSearch": 500
}

Rows for auction listings have no price_usd (LandWatch shows "Auction" instead of a price), so they never skew the comps.

Land broker list for a state

Brokers and marketers build lists of active land brokerages. Every row names the brokerage and links its LandWatch profile; top tier listings also carry the brokerage phone LandWatch prints:

{
"states": ["Montana"],
"propertyType": "farms_ranches",
"maxResultsPerSearch": 0
}

Group the rows by broker_company to see who lists the most land and at what prices. Run it monthly to see who is new.

Auction watch

LandWatch has an auction filter in its Sale Type links. Paste the auction search for a state, and read auction_start and auction_end on each row:

{
"searchUrls": ["https://www.landwatch.com/texas-land-for-sale/auctions"],
"onlyNewListings": true
}

Schedule it weekly to catch new auctions before their dates.

Input parameters

ParameterTypeDefaultWhat it does
searchUrlsarray of stringsnone (prefilled with the Texas search)LandWatch search page links, one per line. Every filter in the link is kept. Listing and agent pages are skipped with a note. Up to 100 searches per run, counting states.
statesarray of strings[]US states to search whole, from a list of 51 (50 states plus the District of Columbia). Names or two letter codes both work through the API.
propertyTypestringallUsed with states only: all, undeveloped, homesites, homes, farms_ranches, recreational, waterfront, lakefront, commercial, hunting, horse, timberland, riverfront, oceanfront.
maxResultsPerSearchinteger100Most listings returned per search. 0 means every page, up to 100 pages (2,500 listings). You pay per listing returned.
onlyNewListingsbooleanfalseMonitor mode: only listings not returned before for the same searches, plus price changes. Skipped listings are not charged.

Give at least one search link or one state. A run with neither stops at once with a note and charges nothing for listings.

What data do you get?

One row per listing. Fields with no value are left out of the row rather than sent as empty.

The listing

  • listing_id, site_listing_id (the number after /pid/ in the link), title, url, market_status (available or under_contract), listing_tier (diamond, platinum, gold, showcase or standard, LandWatch's ad level), last_updated

Price

  • price_usd, price_display (as LandWatch prints it, for example $7,750,000 or Auction), price_per_acre_usd, price_change_usd and price_change_percent (the last change, negative for a cut), auction_start, auction_end

Land and house

  • acres, property_types (for example Farms and Ranches, Hunting Property, House), lake, has_house, beds, baths, half_baths, home_sqft

Location

  • address (when the seller gives one), city, county, state, state_code, zip, latitude, longitude

Broker

  • broker_name, broker_company, broker_profile_url, and broker_phone. LandWatch prints the phone on search pages for its top tier listings only, and this actor keeps it only when a brokerage company is named, so a private seller's number never reaches a row.

Photos and media

  • image_count, thumbnail_url, image_urls (every photo for diamond, platinum and gold listings; the main photo for standard listings, because that is all LandWatch's search page carries for them), has_video, has_virtual_tour, has_custom_map

Search context

  • search_input, search_url, search_total_results (how many listings LandWatch reported for the search), page, position, scraped_at, and monitor_change (new or price_changed, monitor mode only)

Stable fields for automations

These fields were present in every one of the 40 rows of our proof runs, and their names will not change:

FieldWhat it holds
listing_idLandWatch's listing number, the same in every run
urlLink to the listing on LandWatch
price_displayPrice as LandWatch shows it (a dollar amount or a word such as Auction)
acresParcel size in acres
property_typesList of LandWatch property types
has_houseWhether a residence is included
countyCounty name, for example Harris County
state_codeTwo letter state code
zipZIP code
latitudeLatitude of the listing pin
longitudeLongitude of the listing pin
market_statusavailable or under_contract
broker_companyBrokerage that lists the property
image_countNumber of photos on the listing
scraped_atWhen the row was read (ISO 8601)

price_usd and price_per_acre_usd were in 38 of the 40 rows: the two without them were auctions, which LandWatch lists without a price.

Output examples

Real rows from our proof runs on 1 Oct 2026, trimmed: image_urls is cut to two entries, and broker names, phones and profile links are shortened here.

A top tier ranch with a house and the broker phone (Montana farms and ranches search):

{
"listing_id": "25891980",
"site_listing_id": "425296476",
"title": "2,341 Ac Montana Creek Ranch",
"url": "https://www.landwatch.com/sweet-grass-county-montana-farms-and-ranches-for-sale/pid/425296476",
"price_usd": 7750000,
"price_display": "$7,750,000",
"price_per_acre_usd": 2323.14,
"acres": 3336,
"property_types": ["Farms and Ranches", "Recreational Property", "House"],
"has_house": true,
"beds": 5,
"baths": 4,
"home_sqft": 3300,
"city": "Big Timber",
"county": "Sweet Grass County",
"state": "Montana",
"state_code": "MT",
"zip": "59011",
"latitude": 45.8596,
"longitude": -109.74425,
"market_status": "available",
"listing_tier": "diamond",
"broker_name": "Caje G.",
"broker_company": "Whitetail Properties Real Estate",
"broker_phone": "(406) 239-XXXX",
"image_count": 93,
"image_urls": [
"https://assets.landwatch.com/resizedimages/10000/0/h/80/w/1-5920356210",
"https://assets.landwatch.com/resizedimages/10000/0/h/80/w/1-5920356212"
],
"has_video": true,
"has_custom_map": true,
"last_updated": "2026-09-03T14:29:23.533",
"search_input": "Montana (farms-ranches)",
"search_total_results": 249,
"page": 1,
"position": 2
}

A standard listing with a house and a recent price cut (Harris County, Texas search):

{
"listing_id": "27595089",
"title": "PT TR 1J (HOMESITE) ABST 1366 H&TCRR SEC 78 BLK 2",
"url": "https://www.landwatch.com/harris-county-texas-farms-and-ranches-for-sale/pid/426999584",
"price_usd": 2510100,
"price_display": "$2,510,100",
"price_per_acre_usd": 299892.47,
"price_change_usd": -239900,
"price_change_percent": -8.72,
"acres": 8.37,
"property_types": ["Farms and Ranches", "House"],
"has_house": true,
"beds": 6,
"baths": 4,
"home_sqft": 2260,
"address": "5614 Pitts Road",
"city": "Katy",
"county": "Harris County",
"state_code": "TX",
"zip": "77493",
"latitude": 29.853822,
"longitude": -95.839198,
"market_status": "available",
"listing_tier": "standard",
"broker_company": "Keller Williams Memorial",
"image_count": 14,
"image_urls": ["https://assets.landwatch.com/resizedimages/10000/0/h/80/w/1-6538074371"],
"search_total_results": 3259,
"position": 12
}

An auction, with dates and no price (Harris County, Texas search):

{
"listing_id": "28872835",
"title": "Kroger-Anchored Retail Development Site",
"url": "https://www.landwatch.com/harris-county-texas-commercial-property-for-sale/pid/428275350",
"price_display": "Auction",
"acres": 4.89,
"property_types": ["Commercial Property", "Homesite"],
"address": "6507 Spencer Highway",
"city": "Pasadena",
"county": "Harris County",
"state_code": "TX",
"zip": "77505",
"market_status": "available",
"auction_start": "2026-10-12T00:00:00",
"auction_end": "2026-10-14T00:00:00",
"listing_tier": "standard",
"broker_company": "Streetwise Retail Advisors",
"image_count": 7
}

A gold tier listing with a full photo set (Harris County, Texas search):

{
"listing_id": "28107353",
"title": "8.5 Acres of Unrestricted Texas Living",
"price_usd": 1650000,
"price_per_acre_usd": 194117.66,
"acres": 8.5,
"property_types": ["Farms and Ranches"],
"address": "26435 Clay Road",
"city": "Katy",
"county": "Harris County",
"zip": "77493",
"listing_tier": "gold",
"broker_company": "Compass Ranch and Land",
"image_count": 67,
"has_video": true,
"has_virtual_tour": true,
"has_custom_map": true
}

Pricing

You pay per listing delivered to your dataset, plus a flat $0.005 per run whatever memory you choose.

EventFree planStarter (Bronze)Scale (Silver)Business (Gold) and above
Listing delivered (listing-scraped), per 1,000 listings$0.00179$0.00129$0.00099$0.00079
Run start (run-start), once per run$0.005$0.005$0.005$0.005

Never charged:

  • listings skipped in monitor mode because an earlier run already delivered them at the same price;
  • a listing that two of your searches share (it is returned and charged once);
  • searches that LandWatch refuses, that have no listings, or that robots.txt disallows;
  • the note row the actor writes when a run returns nothing, and the OUTPUT run summary.

To cap what a run can cost, set a maximum total charge in the run options. The actor stops before a listing the budget cannot pay for.

FAQ

What is LandWatch?

LandWatch.com is one of the largest US marketplaces for land: farms and ranches, hunting land, timberland, recreational property, homesites and land with houses, listed mostly by land brokers. It is part of the Land.com network with Lands of America and Land And Farm.

How many listings can I get?

LandWatch shows 25 listings a page. This actor reads up to 100 pages (2,500 listings) per search and up to 100 searches per run. A state like Texas has far more than 2,500 listings (81,061 on 1 Oct 2026), so split a big area into counties, price bands or acreage bands, each its own search link.

How fresh is the data?

Every run reads LandWatch live. Nothing comes from a cache. Each row carries last_updated, the time LandWatch says the listing last changed, and scraped_at, the time the actor read it.

Do I need a LandWatch account, an API key or cookies?

No. The actor reads the same public search pages any visitor sees, without signing in.

Do I need to set up a proxy?

No. LandWatch refuses most automated requests from data center networks, so the actor tries Apify's standard proxy first and, when LandWatch refuses it, fetches the page through Apify's unblocking proxy. That is built in and included in the price; there is nothing to configure. A page usually takes 4 to 14 seconds.

Why does a row have no price_usd?

LandWatch lists auctions without an asking price; price_display then says Auction and the row carries auction_start and auction_end. A listing with a hidden price has no price_usd either. Empty values are left out of the row instead of being sent as zero.

LandWatch's search pages carry every photo only for its paid tiers (diamond, platinum and gold); for standard listings they carry the main photo, so image_urls holds that one and image_count tells you how many the listing has. The broker phone is printed on search pages for top tier listings only. broker_company and broker_profile_url are on every row.

Do I get the full listing description?

Not in this version. The actor reads search pages, which hold the fields listed above but not the long description or the seller's full profile. Open url for those.

How does monitor mode work with schedules?

With onlyNewListings on, the actor remembers which listings, at which price, it delivered for your list of searches. Each later run returns only listings it has not delivered before, plus listings whose price changed, with monitor_change set to new or price_changed. The first run returns everything. Schedule it in Apify Console under Schedules. Changing the list of searches starts a new memory.

Does the actor follow robots.txt?

Yes. It reads LandWatch's robots.txt at the start of every run and checks every page and every redirect against it. On 1 Oct 2026 the file allows everything for general crawlers except /api/, which this actor never calls.

What happens when LandWatch refuses a page?

The actor retries it with a fresh connection (3 tries for a search's first page, 2 for later pages). If a search's first page is refused on every try, that search stops; a later page refused on every try is skipped, and after 3 refused pages in a row the search stops. Nothing is charged for listings that were not delivered. The OUTPUT record shows the status of each search and how many requests it took.

Which formats can I export?

JSON, CSV, Excel, XML, HTML table and RSS from the dataset page in Apify Console, or through the Apify API.

Can I use it from Claude, ChatGPT or another AI agent?

Yes. Add Apify's MCP server (https://mcp.apify.com) to your MCP client and the actor is available as a tool. The "Copy to your AI assistant" block above gives an agent everything it needs to call it directly.

The actor collects only publicly visible listing data, the way a visitor's browser shows it, and does not sign in or get past any login. Broker contact details are those LandWatch publishes for business enquiries, and a phone number is kept only when a brokerage company is named. You are responsible for how you use the data, including LandWatch's terms and data protection laws such as GDPR and CCPA.

Integrations

  • Google Sheets: send every run's dataset to a sheet with Apify's Google Sheets integration.
  • Make, Zapier and n8n: start runs and receive results in your workflows.
  • Webhooks: get a call when a run finishes, for example to post new listings to Slack.
  • API: start runs and read datasets from any language with the Apify API or the Python and JavaScript clients.
  • MCP clients: Claude, ChatGPT and other agents through Apify's MCP server.

More from The Mine Works

Real estate

Social media and video

Leads and business directories

Marketing, SEO and reviews

LinkedIn

Science, health and government data

Jobs and hiring

Company and business data

E-commerce and marketplaces

Food and local services

Developer and AI tools

More tools

Support

Found a problem or need a field? Open an issue on the actor's Issues tab and we will answer there. For a new source or a custom build, email dmineworks@gmail.com.

LandWatch Scraper turns any LandWatch search into rows of price, acres, price per acre, location, broker and photos, and can watch your searches for new listings and price cuts.