LandWatch Scraper - Land, Farm & Ranch Listings
Pricing
from $0.97 / 1,000 property searches
LandWatch Scraper - Land, Farm & Ranch Listings
Scrape LandWatch land listings: acreage, price per acre, mineral, water and wind rights, road frontage, GPS, price history and broker contacts. Clean JSON and CSV.
Pricing
from $0.97 / 1,000 property searches
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 hours ago
Last modified
Categories
Share
LandWatch Scraper — Land, Farm & Ranch Listings to JSON 🚀
🎉 Acreage, price per acre and mineral rights — as columns, not buried in a description
Built for land investors, appraisers, brokers and anyone who values rural property by the acre
🔎 What is the LandWatch Scraper — and when should you use it?
The LandWatch Scraper turns public LandWatch listings for land, farms, ranches and hunting property across all 50 US states into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: acreage, price per acre and asking price as sortable numbers, plus GPS coordinates, county and FIPS code, land type and market status. The land columns come with them — mineral, water and wind rights percentages, road frontage, topography, game species, utilities, present and proposed use. Every row also carries the listing agent's name, brokerage and phone, and switching on full details adds the seller's write-up and the complete price history.
Use something else when: you are pricing houses in a city rather than land by the acre. Use Zillow Property Scraper for residential homes, where bedrooms and square footage matter more than parcel size. Use LoopNet Property Scraper for commercial and industrial property, where the buyer underwrites a building rather than acreage. Use Auction.com Property Scraper for foreclosure and bank-owned property sold at auction rather than listed by a broker. This actor reads LandWatch and covers the United States only. The rights, topography and game-species columns are the seller's own declarations, not a title search.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/landwatch-property-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want to find rural land, farms and ranches worth buying, priced by the acre using the Apify Actor `sian.agency/landwatch-property-scraper`.Use it when I need: acreage, price per acre and asking price as sortable numbers, plus GPS coordinates, county and FIPS code, land type and market status. The land columns come with them — mineral, water and wind rights percentages, road frontage, topography, game species, utilities, present and proposed use. Every row also carries the listing agent's name, brokerage and phone, and switching on full details adds the seller's write-up and the complete price history.Don't use it when: you are pricing houses in a city rather than land by the acre — use zillow-property-scraper or loopnet-property-scraper or auction-com-property-scraper instead.How to call it: set `operation` to `search` and give `locations` a list of states, counties or cities — "Montana", "Harris County, TX", "Fredericksburg, TX". Narrow with `propertyType`, `availability` (use `sold` for comparables), `minAcres` and `maxAcres`, `minPrice` and `maxPrice`, `activity`, `mineralRights` or `ownerFinancing`. `includeDetails` adds rights, topography, game species and price history to every row for an extra charge per property. To expand properties you already have, set `operation` to `detail` and pass `propertyUrls`; to reuse a search you built on the site, paste it into `searchUrls`.Start with this input:{"operation": "search","locations": ["Montana"],"propertyType": "farms-ranches","minAcres": 51,"maxResults": 100,"includeDetails": true}Ask me which states or counties to cover, how many properties they want, and whether they need the rights and price-history columns, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Pull every ranch over 500 acres in Montana and Wyoming, then rank them by price per acre.
- Find Texas land where the seller conveys mineral rights and tell me what percentage of oil and gas is included.
- Get the sold comparables for Parker County, Texas and work out the median price per acre.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/landwatch-property-scraper.md.
📋 Overview
Rural property is priced by the acre, and almost no property feed treats it that way. This actor reads LandWatch — the largest US marketplace for land, farms, ranches and hunting property — and returns every listing as a typed row, for buyers and analysts who care about parcel size, water and what the seller actually conveys.
Why land professionals choose us:
- ✅ Price per acre on every row: acreage, asking price and the resulting per-acre figure arrive as numbers you can sort, not text you have to parse
- ⛏️ Rights as real columns: percentage of oil and gas, water and wind ownership, plus surface rights, pulled out of the seller's declarations into typed fields
- 🗺️ The land attributes buyers filter on: road frontage, topography, game species, utilities, ponds and wells, present and proposed use
- ⚡ A whole state, not its first 500 rows: LandWatch caps any single search at 500 results — this actor detects that ceiling and keeps going by splitting on the site's own county, city, price and acreage filters
- 💰 From $0.86 per 1,000 properties: among the lowest prices on the Store for this source, and you are never charged for a failed row
- 📈 Price history included: every cut, rise and relisting with its date and percentage, so a stale listing is obvious
- 💎 Sold comparables: six figures of closed listings per state, in the same row shape as live ones
- 🧑💼 Broker contacts on every row: agent name, brokerage, phone and profile link, at no extra cost
- ✨ NEW: county FIPS codes on enriched rows, so results join straight onto USDA, census and soil datasets
✨ Features
- 🔍 Search by state, county or city: give it "Montana" or "Harris County, TX" and it resolves the location against LandWatch's own list
- 🏞️ Thirteen land types: undeveloped, homesites, homes, farms and ranches, recreational, hunting, timberland, waterfront, lakefront, riverfront, beachfront, horse and commercial
- 📌 Four market statuses: available, under contract, sold and off market — the sold archive is your comparables set
- 📐 Acreage and price filters: bound a search by parcel size and asking price to isolate the slice you are actually buying in
- ⛏️ Mineral-rights and owner-financing filters: two switches that narrow a state to the listings with unusual terms
- 🎯 Activity filters: hunting, fishing, horseback riding, camping, boating, off-roading, RVing, golfing and beach
- 📄 Optional full detail: one switch adds the seller's write-up, highlights, rights, topography, price history and attached plats to every row
- ♻️ Duplicates never billed: a property that appears in two overlapping searches is delivered once and charged once
- 🔗 Paste-a-URL mode: hand it any LandWatch search URL and every filter already in it carries through
- 📊 80 typed fields: exported as JSON, CSV or Excel straight from the dataset
🎬 Quick Start
Pick a location, choose how many properties you want, and press Start. The default run pulls 100 available Texas listings, so you can see the shape of the data before changing anything. Swap in your own state or county once you know what you are looking at.
curl -X POST https://api.apify.com/v2/acts/sian.agency~landwatch-property-scraper/runs?token=YOUR_TOKEN \-d '{"operation": "search", "locations": ["Montana"], "maxResults": 100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Name your ground
Type one or more locations into Locations — a state like "Montana", a county like "Harris County, TX", or a city like "Fredericksburg, TX".
Step 2: Narrow it
Set the property type, acreage band, price range or any of the other filters. Leave them alone to take everything the location has.
Step 3: Press Start
Results land in the dataset as they arrive. Export to CSV or Excel, or pull them over the API.
That's it! In under a minute, you'll have:
- Every matching parcel with its acreage and price per acre
- GPS coordinates ready to drop onto a map
- The listing agent's name, brokerage and phone for each one
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| operation | string | No | search for listings, detail to expand known properties |
| locations | array | No | States, counties or cities — "Montana", "Harris County, TX" |
| propertyType | string | No | One of thirteen land types, or any |
| availability | string | No | available, under-contract, sold, off-market or any |
| minPrice / maxPrice | integer | No | Asking-price bounds in USD; 0 means unbounded |
| minAcres / maxAcres | integer | No | Parcel-size bounds in acres; 0 means unbounded |
| minBeds | integer | No | Minimum bedrooms when the parcel has a residence |
| hasResidence | string | No | yes for land with a house, no for bare land, any for both |
| mineralRights | boolean | No | Only listings that convey mineral rights |
| ownerFinancing | boolean | No | Only listings the seller will finance |
| activity | string | No | Hunting, fishing, camping and six more |
| maxResults | integer | No | Stop after this many properties (default 100) |
| includeDetails | boolean | No | Add rights, topography, price history and the full write-up |
| propertyUrls | array | No | LandWatch property URLs for the detail operation |
| searchUrls | array | No | Paste LandWatch search URLs instead of using the fields above |
Example:
{"operation": "search","locations": ["Montana"],"propertyType": "farms-ranches","minAcres": 51,"maxResults": 100}
Sold comparables for a county:
{"operation": "search","locations": ["Parker County, TX"],"availability": "sold","maxResults": 500}
Expand specific properties:
{"operation": "detail","propertyUrls": ["https://www.landwatch.com/pid/427705576","https://www.landwatch.com/cooke-county-texas-farms-and-ranches-for-sale/pid/422917076"]}
📤 Output
Results are saved to the Apify dataset with 80 fields including:
| Field | Type | Description |
|---|---|---|
| propertyTitle | string | The listing's name, such as "Rolling R Ranch" |
| price | number | Asking price in USD |
| acres | number | Parcel size |
| pricePerAcre | number | Asking price divided by acreage |
| propertyTypes | array | Farms and Ranches, Hunting Land, Timberland and so on |
| listingStatus | string | available, under contract, sold or off market |
| county / countyFips | string / number | County name and its FIPS code for joining external data |
| latitude / longitude | number | GPS coordinates |
| mineralsAvailable | array | What the seller conveys, such as Oil & Gas or Wind |
| oilGasOwnedPercent | number | Percentage of oil and gas rights included |
| waterRightsPercent | number | Percentage of water rights included |
| roadFrontage | array | Asphalt, County, Gravel and similar |
| topography | array | Rolling, Hilly, Flood Plain, Bottom |
| gameSpecies | array | Whitetail Deer, Turkey, Hog and others |
| priceHistory | array | Every price change with its date and percentage |
| brokerName / brokerPhone | string | The listing agent and how to reach them |
Example:
{"propertyId": 427705576,"propertyTitle": "Rolling R Ranch","url": "https://www.landwatch.com/cooke-county-texas-farms-and-ranches-for-sale/pid/427705576","price": 21500000,"acres": 1303.31,"pricePerAcre": 16496.46,"propertyTypes": ["Farms and Ranches", "Recreational Property", "House"],"listingStatus": "available","city": "Era","county": "Cooke County","countyFips": 48097,"state": "Texas","zip": "76238","latitude": 33.470332,"longitude": -97.413352,"beds": 4,"baths": 4,"homeSqft": 3716,"mineralsAvailable": ["Oil & Gas", "Wind"],"oilGasOwnedPercent": 50,"waterRightsPercent": 100,"roadFrontage": ["Asphalt", "County"],"topography": ["Rolling", "Hilly", "Varied"],"gameSpecies": ["Whitetail Deer", "Turkey", "Dove"],"priceHistory": [{ "date": "2026-08-01", "price": 21500000, "event": "Listed for Sale" }],"brokerName": "Blake Hortenstine","brokerCompany": "Hortenstine Ranch Company, LLC","brokerPhone": "(940) 289-5176"}
💼 Use Cases & Examples
1. Price-per-Acre Comparables
Appraisers and land brokers build a rural comp set that actually exists.
Input: a county, availability: sold, an acreage band around the subject parcel
Output: closed price, acreage, price per acre, GPS, property type and sale date on every row
Use: rural comps are the hardest number in appraisal to source. LandWatch keeps six figures of closed listings per state, and this pulls them in the same shape as the live ones.
2. Land Investment Screening
Investors filter a whole state down to the parcels worth a site visit.
Input: a state, minAcres, a price ceiling, includeDetails: true
Output: every parcel in the band with rights percentages, road frontage, topography and price history
Use: rank a state by price per acre, then read the detail columns to see which listings convey minerals or water before you spend a day driving.
3. Broker and Agent Lead Lists
Land brokerages and marketing teams find the agents who actually transact.
Input: any search — a county, a property type, an acreage band Output: agent name, brokerage, phone, city, state and LandWatch profile link on every row Use: the contact block ships with the search row at no extra charge, so a filtered search doubles as a targeted list of the brokers working that ground.
4. Hunting and Recreational Land
Outfitters and recreational buyers search on the attributes that decide the purchase.
Input: activity: hunting, a state, propertyType: recreational-property, includeDetails: true
Output: game species, water features, fencing, topography, utilities and the seller's write-up
Use: whitetail versus elk versus hog is a real filter for this buyer, and a generic property feed does not carry it.
5. Mineral, Water and Wind Rights Sourcing
Energy land teams and agricultural buyers find the listings with unusual terms.
Input: mineralRights: true across several states, includeDetails: true
Output: what the seller conveys, plus the percentage of oil and gas, water and wind owned, and surface rights
Use: roughly 400 of Texas's 81,000 listings convey minerals. Finding them by hand means opening every page — here they come back as typed columns you can sort.
6. Owner-Financed Land
Buyers and note investors surface seller-financed inventory in one pass.
Input: ownerFinancing: true, a state or a set of counties, a price band
Output: asking price, acreage, financing options, broker contact and the full listing URL
Use: owner financing is a first-class LandWatch filter and passes straight through, so a slice most buyers never see becomes a list you can work.
7. Market Monitoring
Analysts and land funds watch a county without keeping their own history.
Input: the same saved search on a daily or weekly schedule, includeDetails: true
Output: new listings, status changes and the full price history with every cut, rise and relisting
Use: price history ships with the detail record, so a cut is visible on the first run rather than after you have collected months of snapshots.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/landwatch-property-scraper').call({operation: 'search',locations: ['Montana'],propertyType: 'farms-ranches',minAcres: 51,maxResults: 500});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].propertyTitle, items[0].acres, items[0].pricePerAcre);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/landwatch-property-scraper').call(run_input={'operation': 'search','locations': ['Parker County, TX'],'availability': 'sold','maxResults': 500})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['propertyTitle'], item['acres'], item['pricePerAcre'], item['url'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~landwatch-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "search", "locations": ["Texas"], "mineralRights": true, "includeDetails": true}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule the same search daily or weekly
- HTTP Request: Call the Actor API
- Process: Handle the JSON rows
- Action: Push new parcels to your CRM, a Google Sheet, a map or a Slack alert
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 properties per run — every field, every filter, the same data
- No credit card required
- Enough to check the columns before you commit to a state
PAID Tier (Production Ready)
- Unlimited properties per run, across as many locations as you list
- 25 properties per request, so a 1,000-row sweep takes about a minute
- Pay per result: charged for rows delivered, never for a failure
| Metric | Value |
|---|---|
| Speed | 25 properties per request, ~1 s per page |
| Coverage | All 50 states, every county and city LandWatch indexes |
| Live inventory | 523,000+ for-sale listings, plus the sold and off-market archives |
| Search ceiling | 500 results per search — passed by splitting on county, city, price and acreage |
| Free tier | 25 properties per run |
| Paid tier | Unlimited |
💰 From $0.86 per 1,000 properties at the top tier — among the lowest prices on the Store for this data. Broker contacts and GPS are included in the search row rather than sold as an add-on.
❓ Frequently Asked Questions
Q: How do I name a county or a city? A: Write it the way LandWatch does — "Harris County, TX" or "Fredericksburg, TX". The name is checked against LandWatch's own list for that state, so a misspelling fails with a message instead of quietly returning the whole country.
Q: How many properties can one search return? A: LandWatch caps any single search at 500. Ask for more and the search is split across its own county, city, price and acreage filters until your limit is met, so a whole state comes back rather than its first 500 rows.
Q: What is the difference between the search and detail operations? A: Search takes filters and returns listing rows. Detail takes LandWatch property URLs you already have and returns the full record. To get both in one pass, run a search with Add full property details switched on.
Q: What does Add full property details cost? A: It reads each property's own page, so it bills one Detail Enrichment event per enriched property on top of the search row. Leave it off and you pay for search rows only.
Q: Where do mineral and water rights come from? A: The seller's own declarations on the listing. Percentages are returned when the seller states them, and the fields are empty when they do not — nothing is inferred.
Q: Can I get sold properties? A: Yes. Set Availability to Sold and you get the comparables archive in the same row shape as live listings, including closed price and acreage.
Q: Does it cover LandsOfAmerica or Land And Farm? A: This Actor reads LandWatch. The three sites share inventory, so most of what you would find on the others appears here too, though the row and its fields come from LandWatch.
Q: Can I paste a LandWatch search URL? A: Yes. Put it in Search URLs and every filter already in that URL carries through. Use the form landwatch.com/texas-land-for-sale/harris-county, since the reversed form is a URL LandWatch answers with the whole country.
Q: What output formats are available? A: JSON, CSV and Excel, straight from the Apify dataset, or over the API in your own code.
Q: Do I need a proxy or an API key? A: No. Name a state and press Start.
🐛 Troubleshooting
"Not a location LandWatch carries"
- Use the state name on its own, or "County Name County, ST" / "City, ST"
- Check the spelling on LandWatch's own state page — the county list there is what gets matched
- Two-letter state codes belong after the comma, not on their own
Fewer properties than expected
- A single search stops at LandWatch's 500-result ceiling; raise Max properties and the search splits by county, city, price and acreage to keep going
- Narrow filters genuinely match little. Mineral rights across one small county can be a handful of listings
- Free accounts are capped at 25 rows per run
Rights, topography or price history columns are empty
- Those fields only arrive with Add full property details switched on, or from the Property Detail operation
- Even then they are the seller's declarations, so a bare lot with no write-up leaves them empty
A property URL returns nothing
- Sold and withdrawn listings are removed from LandWatch after a while
- Check the ID against the live page, or re-run the search to pick up current listings
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
🤝 Support
Join our active support community
- 🐛 Found a bug? File an issue in the Apify Console Issues tab
- ⭐ Loving the tool? Leave a 5-star review — it helps us build more
- 🛠️ More automation tools in the SIÁN Agency Store
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools
LandWatch is a trademark of Land.com / CoStar Group. This actor is not affiliated with, endorsed by, or sponsored by LandWatch.