LandWatch.com Scraper avatar

LandWatch.com Scraper

Pricing

from $0.69 / 1,000 listings

Go to Apify Store
LandWatch.com Scraper

LandWatch.com Scraper

Scrape LandWatch.com land listings and Find an Agent results from any browse URL: price, acreage, property type, location, coordinates, broker, images. Auto-paginates. Export JSON, CSV, Excel.

Pricing

from $0.69 / 1,000 listings

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

5 days ago

Last modified

Categories

Share

LandWatch.com Scraper

LandWatch.com Scraper extracts structured land-for-sale and land-agent data from LandWatch.com — one of the largest rural property marketplaces in the United States. Paste a land browse URL (state, county, price, acreage, or property-type filtered) or a Find an Agent URL, and get clean listing or agent records ready for analysis, lead generation, or monitoring.

Turn any LandWatch search into an analysis-ready dataset — price, acreage, price per acre, property type, address, county, exact coordinates, all photos, listing broker with phone, and (optionally) full descriptions, price history, media, and complete broker/seller profiles.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Actor: parsebird/landwatch-scraper — scrapes LandWatch.com (US rural land marketplace). Two modes, auto-detected from the URL: LAND SEARCH (a browse URL like https://www.landwatch.com/texas-land-for-sale/price-under-6000) and FIND AN AGENT (https://www.landwatch.com/find-agent/austin-county-t/ or https://www.landwatch.com/find-agent/name/john/). Input: {"startUrl": "https://www.landwatch.com/texas-land-for-sale/price-under-6000", "maxItems": 500, "fetchSellerAgentDetails": false}. maxItems: up to 2500 for land search, up to 3000 for agents (broad land markets are capped by LandWatch at ~500 per URL — narrow by county/price/acreage/type or split URLs). fetchSellerAgentDetails=true adds an extra request per row for full property description, price history, full media, and the broker/seller profile (billed as a separate "enrichment" event). Run via ApifyClient("YOUR_TOKEN").actor("parsebird/landwatch-scraper").call(run_input=input). Land output per listing: id, siteListingId, title, description, price, priceDisplay, pricePerAcre, acres, acresDisplay, propertyTypesLabel, types, address, city, county, state, zip, latitude, longitude, beds, baths, homesqft, brokerName, brokerCompany, brokerPhone, brokerCanonicalUrl, listingLevelTitle, imageUrls, url, insertDate, lastUpdated, priceChangeDate, priceChangeAmount, encodedBoundaryPoints. Agent output per record: id, accountId, companyName, contactName, city, companyState, description, licenseNumber, phoneNumbers, email, url, logoUrl, portraitUrl, sellerListingStats, landStarWinCount. With enrichment, both add details_* fields. Get an API token at https://console.apify.com/account#/integrations. Full API spec: https://apify.com/parsebird/landwatch-scraper/api

What does LandWatch.com Scraper do?

LandWatch.com Scraper is a LandWatch scraper and rural land data extractor. LandWatch lists farms, ranches, hunting land, timberland, recreational property, homesites, and commercial land across all 50 states, and this actor reads that public search data into a structured dataset — no LandWatch account or API key required.

🗺️ Two modes, auto-detected — give it a land browse URL (/texas-land-for-sale/, /marion-county-illinois-land-for-sale/, with filter segments like /price-under-6000 or /over-100-acres) and it scrapes listings; give it a Find an Agent URL (/find-agent/<location>/ or /find-agent/name/<name>/) and it scrapes land brokers and sellers.

📄 Auto-pagination — the scraper walks every result page for you. Do not add /page-2 to the URL.

💰 Full pricing data — list price, formatted price, price per acre, short price, price-change amount, percentage, and change date.

📐 Property detail — acreage, property types, beds, baths, half baths, home square footage, house flag, video/virtual-tour/Matterport flags, county, region, and exact latitude/longitude.

🖼️ All photos — every listing image resolved to a full-resolution URL, plus image count and alt text.

👤 Listing broker — broker name, company, phone, and profile URL on every listing.

🔎 Optional deep enrichment — turn on Fetch seller / agent details to add the full multi-paragraph description, executive summary, property highlights, complete price/acreage history, full media (YouTube, Matterport, Vimeo, Kuula), amenities, MLS data, and the complete broker/seller profile with phone numbers, license, social media, listing stats, and recent/sold listings.

Why scrape LandWatch?

  • Build a rural land market dataset — price per acre, acreage, and property type by state or county
  • Track new land listings on a route or in a county and get notified when they appear
  • Generate land broker and seller leads — every listing and every agent record carries contact details
  • Feed a land portal, CRM, or valuation model with structured LandWatch listings
  • Run supply and price analysis for farmland, ranchland, hunting, or recreational property across regions

What data can you extract from LandWatch?

Land listings

FieldTypeDescription
id / siteListingIdnumberLandWatch internal id and public listing id (the pid in the URL)
titlestringListing headline
descriptionstringShort listing summary (full text added with enrichment as descriptionFull)
price / priceDisplay / shortPricenumber / stringList price in USD and its formatted forms
pricePerAcrenumberPrice divided by acreage
priceChangeAmount / priceChangePercentage / priceChangeDatenumber / stringMost recent price change
acres / acresDisplaynumber / stringLot size
propertyTypes / propertyTypesLabel / typesnumber / string / string[]Property-type bitmask, readable label, and list
address / city / county / state / stateAbbreviation / zipstringLocation parts
latitude / longitudenumberExact coordinates
encodedBoundaryPointsstringEncoded polyline of the parcel boundary, when available
beds / baths / halfBaths / homesqftnumberResidence detail (0 for raw land)
hasHouse / hasVideo / hasVirtualTour / hasExteriorMatterportbooleanMedia and improvement flags
brokerName / brokerCompany / brokerPhone / brokerCanonicalUrlstringListing broker
listingLevel / listingLevelTitlenumber / stringLandWatch listing tier (e.g. "Signature Partner", "Premium Partner")
isDiamond / isPlatinum / isGold / isShowcase / isALCbooleanListing badges
imageUrlsstring[]Full-resolution photo URLs
imageCount / imageAltTextDisplaynumber / stringPhoto count and alt text
insertDate / lastUpdated / onMarketDate / salesDatestringListing lifecycle dates
urlstringDirect LandWatch listing URL
scrapedAtstringISO 8601 timestamp of the run

Find an Agent records

FieldTypeDescription
id / accountIdnumberLandWatch account id
companyName / contactNamestringBrokerage and contact name
descriptionstring[]Profile description paragraphs
address1 / city / companyState / zipstringOffice address
phoneNumbersobjectOffice, cell, toll-free, fax, and preferred numbers
email / leadRoutingEmailstring | nullContact email when published
licenseNumberstringReal estate license number when published
landStarWinCountnumberLandWatch LandStar award wins
sellerListingStatsobjectActive / all-time / 3-, 5-, 10-year price and acreage ranges and listing counts
logoUrl / portraitUrlstringCompany logo and agent portrait
url / canonicalUrlstringDirect LandWatch profile URL

Enrichment fields (when fetchSellerAgentDetails is on)

Land listings gain descriptionFull, formattedDescription, executiveSummary, highlights, directions, priceHistory, amenities, media, mlsId, mlsName, parcelId, listingDate, a full imageUrls set, and a flattened details_* broker profile. Agent records gain a flattened details_* profile including details_sellerMedia_* social links, details_landStarAwards, details_otherListings, details_soldListings, and details_sellerCarouselListings.

How to scrape LandWatch.com

  1. Open LandWatch.com Scraper and click Try for free.
  2. On landwatch.com, build the search you want — pick a state or county, add price, acreage, and property-type filters — then copy the URL from your browser. Or open Find an Agent and copy that URL.
  3. Paste it into Start URL. Do not add /page-2 — pagination is automatic.
  4. Set Max items (start low to keep the first run cheap and fast).
  5. Optionally turn on Fetch seller / agent details for full descriptions, price history, media, and complete broker/seller profiles.
  6. Click Start, then export the dataset as JSON, CSV, Excel, or HTML, or pull it via the API.

Input parameters

ParameterTypeRequiredDefaultDescription
startUrlstringYesA LandWatch land browse URL or a Find an Agent URL (/find-agent/<location>/ or /find-agent/name/<name>/)
maxItemsintegerNo50Unique rows to collect. Up to 2,500 for land search, up to 3,000 for agents
fetchSellerAgentDetailsbooleanNofalseAdd full property/broker/seller detail per row (billed as a separate enrichment event)
proxyobjectNoApify ProxyProxy configuration. Apify Proxy (automatic) works in most regions; switch to Residential US if you see blocks

Output example

Land listing:

{
"id": 26379607,
"siteListingId": 425784102,
"title": "308-Acre Pope Co Trophy Farm",
"description": "A rare blend of fertile farmland and elite recreational ground offering multiple access points, scenic build sites, and secluded privacy in a premier outdoor setting.",
"price": 1346536,
"priceDisplay": "$1,346,536",
"shortPrice": "$1.3M",
"pricePerAcre": 4378.98,
"priceChangeAmount": 300125,
"priceChangeDate": "2026-07-30T08:41:19.95",
"acres": 307.5,
"acresDisplay": "308 acres",
"propertyTypes": 387,
"propertyTypesLabel": "Farms and Ranches, Hunting Property, Horse Property",
"types": ["Farms and Ranches", "Hunting Property", "Horse Property"],
"address": "413 Rock Road",
"city": "Eddyville",
"county": "Pope County",
"state": "Illinois",
"stateAbbreviation": "IL",
"zip": "62928",
"latitude": 37.40913,
"longitude": -88.602165,
"encodedBoundaryPoints": "ymicFh}w{O??C???K?FdCDdB@n@?p@?mB?qC?W?u@",
"beds": 0,
"baths": 0,
"homesqft": 0,
"hasHouse": false,
"hasVideo": true,
"brokerName": "Jarod Jackson",
"brokerCompany": "Hunt & Farm Realty, LLC",
"brokerPhone": "(618) 653-2869",
"brokerCanonicalUrl": "https://www.landwatch.com/profile/jarod-jackson/2922452",
"listingLevel": 30,
"listingLevelTitle": "Signature Partner",
"isDiamond": true,
"imageCount": 20,
"imageUrls": [
"https://assets.landwatch.com/resizedimages/0/1920/w/80/w/1-6008490210",
"https://assets.landwatch.com/resizedimages/0/1920/w/80/w/1-6008398099"
],
"insertDate": "2026-02-19T14:28:03.79",
"lastUpdated": "2026-09-03T14:29:42.5",
"url": "https://www.landwatch.com/pope-county-illinois-farms-and-ranches-for-sale/pid/425784102",
"recordType": "land",
"scrapedAt": "2026-09-10T10:29:14Z",
"isEnriched": false
}

Find an Agent record:

{
"id": 174024,
"accountId": 174024,
"companyName": "HomeLand Properties",
"contactName": "HomeLand Properties",
"city": "Huntsville",
"companyState": "TX",
"companyZip": "77340",
"description": ["For over 30 years, HomeLand Properties, Inc. has been a leading brokerage in East Texas Real Estate..."],
"licenseNumber": "",
"landStarWinCount": 5,
"phoneNumbers": {
"officePhone": "(936) 295-2500",
"cellPhone": "(936) 295-2500",
"preferredPhone": "(936) 209-7560"
},
"email": null,
"sellerListingStats": {
"activeListingCount": 109,
"activePriceMin": 53625,
"activePriceMax": 8995000,
"activeAcreageMin": 0.62,
"activeAcreageMax": 333
},
"logoUrl": "https://assets.landwatch.com/resizedimages/150/150/l/80/w/1-2703746095",
"portraitUrl": "https://assets.landwatch.com/resizedimages/150/150/l/80/w/1-3773023884",
"url": "https://www.landwatch.com/profile/homeland-properties/174024",
"recordType": "agent",
"scrapedAt": "2026-09-10T10:31:00Z",
"isEnriched": false
}

Download results in JSON, CSV, Excel, or HTML from the Apify Console or via the API.

Use cases

  • 📊 Land market research — price-per-acre and supply datasets by state, county, or property type
  • 🔔 New-listing monitoring — schedule the actor and alert on fresh land listings in a target county
  • 🧲 Broker and seller lead lists — pull contact details from listings and from the Find an Agent directory
  • 🏞️ Land portals and valuation tools — power a land-finder or comp model with structured LandWatch data
  • 🤖 Dashboards and bots — feed a BI dashboard or chatbot with live rural property listings
  • 💹 Investment analysis — compare asking prices, acreage, and price history for farmland and ranchland across regions

How it works

  1. URL parse — the Start URL is classified as a land search or a Find an Agent search, and any /page-N suffix is stripped.
  2. Paginate — the scraper reads LandWatch's public search results page by page until it reaches your maxItems, the last page, or LandWatch's own page cap.
  3. Map — each result is mapped to a clean record, with photo, logo, and portrait document ids resolved to full URLs and relative links made absolute.
  4. Enrich (optional) — when Fetch seller / agent details is on, each land listing and each agent gets one extra request that adds the full description, price history, media, amenities, and the complete broker/seller profile.
  5. Output — records are pushed to the dataset and can be exported or pulled via API.

The actor uses lightweight requests and stays under 512 MB — no browser required.

How much does it cost to scrape LandWatch?

LandWatch.com Scraper uses pay-per-event pricing. Platform compute is included.

EventWhat it isFreeBronzeSilverGold
ListingOne land listing or agent record pushed to the dataset$0.99 / 1,000$0.89 / 1,000$0.79 / 1,000$0.69 / 1,000
EnrichmentOne row's full property/broker/seller detail fetch (only when fetchSellerAgentDetails is on)$0.49 / 1,000$0.44 / 1,000$0.39 / 1,000$0.34 / 1,000

Example: 500 land listings without enrichment costs about $0.50 on the Free plan. The same 500 listings with Fetch seller / agent details on costs about $0.50 + $0.25 = $0.75. Rows dropped by the result cap are never charged.

You can run LandWatch.com Scraper with the free monthly usage credits on every Apify plan.

Integrations and API access

LandWatch.com Scraper works with the full Apify platform:

  • API access — run it and fetch results via the REST API or the Python and JavaScript clients
  • Scheduling — set up recurring runs with the Apify Scheduler to track new listings
  • Webhooks — trigger downstream work when a run finishes
  • Integrations — push data to Google Sheets, Slack, Zapier, Make, Airtable, and more

Python example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run_input = {
"startUrl": "https://www.landwatch.com/texas-land-for-sale/price-under-6000",
"maxItems": 500,
"fetchSellerAgentDetails": False,
}
run = client.actor("parsebird/landwatch-scraper").call(run_input=run_input)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["price"], row["acres"], row["county"], row["url"])

JavaScript example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const input = {
startUrl: 'https://www.landwatch.com/find-agent/austin-county-t/',
maxItems: 300,
fetchSellerAgentDetails: true,
};
const run = await client.actor('parsebird/landwatch-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((a) => console.log(`${a.companyName}\t${a.phoneNumbers?.preferredPhone}\t${a.url}`));

Pricing

EventPrice per event (Free)Price per 1,000
listing$0.00099$0.99
enrichment$0.00049$0.49

Bronze, Silver, and Gold plans pay less — see the cost section above.

⚠️ Limitations

  • Land search: up to 2,500 unique listings per run. Broad markets are capped by LandWatch at roughly 500 results per URL — narrow big markets (county, price, acreage, type) or split across URLs / runs. For large-scale scraping, message us on the Issues tab.
  • Agents search: up to 3,000 per run. Very large markets may not yield every profile you expect in one go — use narrower search filters or split across URLs / runs. For large-scale scraping, message us on the Issues tab.
  • LandWatch may change their site; if something breaks, message us on the Issues tab.
  • This tool only uses public data visible on the site.

FAQ

Where does the data come from? LandWatch's public land search, listing pages, and Find an Agent directory — the same data anyone browsing landwatch.com sees. No login and no LandWatch account is required.

How do I scrape a specific state, county, or price range? Build the search on landwatch.com with the filters you want, then copy the resulting URL (e.g. https://www.landwatch.com/marion-county-illinois-land-for-sale/price-under-500000) into Start URL. The scraper follows whatever the URL contains.

Why did my land search return about 500 results when there are thousands of listings? LandWatch caps browse pagination at 20 pages (about 500 listings) per URL. Split the market by county, price band, acreage band, or property type and run each URL — the actor de-duplicates within a run.

What is the difference between the Listing and Enrichment events? Listing is charged once per row saved. Enrichment is only charged when Fetch seller / agent details is on, once per row that gets the extra detail fetch (full description, price history, media, and the broker/seller profile).

Can I get agent contact details? Yes. Every land listing includes the broker name, company, and phone. The Find an Agent mode returns the full brokerage directory with office address, phone numbers, license number, and listing stats; enrichment adds social links, email (when published), and recent and sold listings.

Can I scrape both land listings and agents in one run? Each run takes one Start URL and one mode. Run the actor twice, or on a schedule with different URLs.

Can I schedule recurring runs? Yes — use Apify scheduling and webhooks to keep a listings or agents feed fresh.

Found a bug or need a field added? Open the Issues tab on the Actor page.

LandWatch.com Scraper collects publicly available information: land listings and broker/agent contact details that LandWatch publishes for anyone to browse. It does not log in, submit inquiries, or access private data.

Scraping public data is generally legal, as reaffirmed by the US Ninth Circuit in hiQ Labs v. LinkedIn. Make sure your use complies with applicable law and with LandWatch's Terms of Use. This actor is independent and not affiliated with or endorsed by LandWatch or the Land.com network. See Apify's guide to the legality of web scraping.