Land.com Scraper | $0.8 / 1k | All-In-One
Pricing
from $0.80 / 1,000 results
Land.com Scraper | $0.8 / 1k | All-In-One
Extract structured Land.com property listings and agent profiles with contacts, pricing, acreage, locations, media, and broker data. Built for enterprise-grade land intelligence, lead enrichment, market analysis, and automated real estate data pipelines.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
Fatih Tahta
Maintained by CommunityActor stats
2
Bookmarked
9
Total users
3
Monthly active users
11 days ago
Last modified
Categories
Share
Land.com Scraper
Slug: fatihtahta/land-com-scraper
Overview
Land.com Scraper collects structured public data from land and rural property listings on Land.com, including listing identifiers, titles, descriptions, pricing, acreage, location details, broker information, media, and other property attributes. It can also be used for directory-style agent searches when you want seller, broker, or agent discovery instead of listing inventory. Land.com is a widely used marketplace for land, ranch, farm, recreational, and rural property listings, which makes it a valuable source for market visibility and property discovery. The actor turns that public information into consistent JSON records you can reuse across analysis, reporting, enrichment, and monitoring workflows. This helps teams automate repetitive collection work, reduce manual copy-paste, and keep datasets fresh with less effort.
Why Use This Actor
- Market research and analytics: Track listing volume, pricing, acreage, status changes, and regional inventory patterns for specific markets or property categories.
- Product and content teams: Identify listing themes, featured property types, and content trends to inform landing pages, editorial calendars, and marketplace strategy.
- Developers and data engineers: Feed structured listing data into ETL jobs, dashboards, internal catalogs, and downstream APIs without building a custom ingestion flow.
- Lead generation and enrichment: Find relevant listings, brokers, and market activity to support prospecting, qualification, and CRM enrichment workflows.
- Monitoring and competitive tracking: Watch targeted geographies, fresh listings, price reductions, and brokerage presence over time to spot changes quickly.
Input Parameters
Provide any combination of queries and filters. Leave optional fields empty for broader coverage.
| Parameter | Type | Description | Default |
|---|---|---|---|
location | string | Starting search area for listings. Enter a city, county, state, ZIP code, or similar place name. | – |
property_type | string[] | Property categories to include. Allowed values: ranch, homesite, farm, recreational, timberland, horse, waterfront, beachfront, lakefront, riverfront, commercial, hunting, undeveloped. | [] |
sale_type | string[] | Listing sale formats to include. Allowed values: sale, auction. | ["sale", "auction"] |
listing_status | string[] | Listing stages to include. Allowed values: available, pending, sold, off_market. | ["available", "pending"] |
publication_date | string | Limit results to recently published listings. Allowed values: past_24_hours, past_7_days, past_30_days, past_60_days. | – |
keyword | string | Keyword or phrase to match, such as cabin, hunting land, or owner financing. | – |
owner_financing | boolean | When true, keeps only listings that mention owner financing. | false |
nineral_rights | boolean | When true, keeps only listings that mention mineral rights. | false |
price_reduction_days | string | Limit results to listings with recent price reductions. Allowed values: past_3_days, past_7_days, past_30_days, past_60_days, past_90_days. | – |
have_media | string[] | Require specific media types on the listing. Allowed values: virtual_tour, video, custom_map. | [] |
activites | string | Focus on a specific activity-oriented use case. Allowed values: aquatic_sporting, aviation, beach, boating, camping, canoeing_kayaking, conservation, fishing, golfing, horseback_riding, hunting, off_roading, rving, skiing. | – |
hoa | string | HOA preference for the property. Allowed values: no, yes_mandatory, yes_voluntary. | – |
housing_type | string | Housing type to target on the property. Allowed values: barndominium, cabin, cottage, guest_house, lake_house, mobile_home, tiny_home. | – |
geography | string | Geographic setting to target. Allowed values: beachfront, desert, island, lakefront, mountain, off_grid, resort, riverfront, rural. | – |
land_usage | string | Intended land-use category. Allowed values: homestead, hobby_farm, orchard, pasture, poultry_farm, vineyard. | – |
sort_by | string | Sort order for results. Allowed values: default, acres_small_to_large, acres_large_to_small, newest, price_low_to_high, price_high_to_low, price_per_acre_low_to_high, price_per_acre_high_to_low, recently_updated. | default |
residence | string | Whether to include listings with a residence, without one, or either. Allowed values: either, yes, no. | either |
min_bedroom | string | Minimum bedroom count. Allowed values: 1_plus, 2_plus, 3_plus, 4_plus, 5_plus. | – |
min_bathroom | string | Minimum bathroom count. Allowed values: 1_plus, 2_plus, 3_plus, 4_plus, 5_plus. | – |
min_price | integer | Minimum listing price to include. | – |
max_price | integer | Maximum listing price to include. | – |
min_acre | integer | Minimum parcel size in acres. | – |
max_acre | integer | Maximum parcel size in acres. | – |
min_area | integer | Minimum building area in square feet. | – |
max_area | integer | Maximum building area in square feet. | – |
agents_search | boolean | Switches the run to agent and brokerage directory results instead of property listings. | false |
agents_location | string | City, county, or state to use for agent directory searches. Required when agents_search is true. | – |
agents_type | string | Agent or seller profile type to include. Allowed values: all, real_estate_broker, real_estate_agent, land_auctioneer, property_owner, land_retailer. | all |
maximize_coverage | boolean | Expands collection to capture more matching listings from a given search. | true |
limit | integer | Maximum number of records to save per search input. Useful for testing, sampling, or controlling dataset size. | – |
Input selection tips
- Use a broad
locationby itself when you want a wide market view, early-stage discovery, or a larger inventory sample for analysis. - Add narrower filters such as
property_type,listing_status,publication_date,keyword, or price and acreage ranges when you already know the segment you want to track. - Leave
maximize_coverageenabled when your goal is broader collection across a market. Turn it off only when you want a tighter, more direct result set for review or sampling. - Start with a smaller
limitfor testing, QA, or schema validation. Increase the limit once your search settings are returning the right type of records. - Use
agents_searchonly when you want broker, agent, auctioneer, owner, or retailer directory results rather than property listings.
When to use agent scraping
Use agent scraping when your goal is to understand who is active in a market, not just which properties are listed there. It is useful for brokerage research, lead enrichment, territory mapping, partner discovery, and tracking which firms or agents have an active presence in a specific state, county, or city.
To run an agent-focused search, enable agents_search, set agents_location, and optionally narrow the results with agents_type. This mode is a good fit when you want contact and company details, market presence signals, or broker-level inventory context instead of individual listing records.
Example Inputs
Scenario: Broad location-based inventory search
{"location": "Montana","property_type": ["ranch", "recreational"],"sale_type": ["sale"],"listing_status": ["available"],"sort_by": "newest","limit": 250}
Scenario: Fresh owner-financed listings with media
{"location": "Arizona","keyword": "off grid","owner_financing": true,"publication_date": "past_7_days","have_media": ["video", "custom_map"],"geography": "desert","limit": 150}
Scenario: Agent directory search
{"agents_search": true,"agents_location": "Texas","agents_type": "real_estate_broker","maximize_coverage": true,"limit": 100}
Common Workflows
- Monitor new ranch listings in Montana: Set
locationtoMontana, chooseproperty_typeasranch, uselisting_statussuch asavailable, and sort bynewest. - Track recent price reductions in a target state: Use a state-level
locationwithprice_reduction_daysand optional price or acreage filters to monitor listings with fresh pricing changes. - Find owner-financed rural land: Combine
location,owner_financing, and optional filters likegeography,land_usage, orkeywordto focus on alternative purchase opportunities. - Search brokers in Texas: Enable
agents_search, setagents_locationtoTexas, and optionally narrow withagents_typefor broker or agent-specific discovery. - Compare recreational versus hunting inventory: Run separate searches for the same location using
property_typevalues such asrecreationalandhuntingto compare supply and pricing patterns. - Validate a search before scaling up: Start with your target filters and a smaller
limitto confirm the dataset shape, then raise the limit for broader collection.
Output
6.1 Output destination
The actor writes normalized real estate records to the default Apify dataset. Property searches produce property_listing rows. Agent-directory searches produce agent rows.
6.2 Record envelope (all items)
Every record includes a stable record envelope:
- record_type (string, required): Record category. Current values:
property_listing,agent. - record_id (string, required): Stable Land.com identifier preserved as a string.
- source_context (object, required): Source, URL, page, and seed context for audit and attribution.
- entity (object, required): Human-readable title, description, and canonical URL.
Recommended idempotency key: record_type + ":" + record_id
Use this key for deduplication and upserts when the same record appears in multiple runs, search inputs, or refresh cycles.
6.3 Examples
Example: property listing (record_type = "property_listing")
{"record_type": "property_listing","record_id": "24122645","source_context": {"source_name": "Land.com","source_domain": "land.com","source_url": "https://www.land.com/Texas/all-land","listing_url": "https://www.land.com/property/example-listing/24122645","seed": {"id": "3149885e16f6","type": "query","value": "example-state | min_price=1000000 | max_price=1250000"},"page_index": 0},"entity": {"title": "Example Ranch Listing","description": "This example property description shows the typical shape of listing text returned by the actor.","url": "https://www.land.com/property/example-listing/24122645"},"listing": {"listing_id": "24122645","canonical_url": "https://www.land.com/property/example-listing/24122645"},"pricing": {"amount": 1037000,"display_price": "$1,037,000","currency": "USD","price_change": {"amount": 0,"ratio": 0},"price_per_acre": 18205.76},"location": {"street_address": "123 Example Ranch Road","city": "Example City","county": "Example County","state": "Example State","postal_code": "12345","latitude": 38.221,"longitude": -120.553},"property": {"acres": 56.96,"home_sqft": 1800,"bedrooms": 3,"bathrooms": 2,"half_bathrooms": 0},"media": {"primary_image_url": "https://assets.land.com/resizedimages/500/600/l/80/w/1-5610824400","thumbnail_url": "https://assets.land.com/resizedimages/500/600/l/80/w/1-5610824400","image_urls": ["https://assets.land.com/resizedimages/500/600/l/80/w/1-5610824400"],"image_count": 55,"has_video": false,"has_virtual_tour": false,"has_custom_map": false,"has_exterior_matterport": false},"contact_details": {"name": "Example Land Brokerage","contact_url": "https://www.land.com/member/example-land-brokerage/8876"},"relationships": {"agent": {"name": "Example Land Brokerage","company": "Example Land Brokerage","company_logo_url": "https://assets.land.com/resizedimages/70/0/h/80/w/1-3759924082","profile_url": "https://www.land.com/member/example-land-brokerage/8876"}},"attributes": {"property_types": ["Ranches","Recreational Property","Horse Property"],"property_type_code": 262,"listing_level": 30,"listing_level_label": "Signature Partner","status_code": 2,"has_house": true}}
Example: agent (record_type = "agent")
{"record_type": "agent","record_id": "174024","source_context": {"source_name": "Land.com","source_domain": "land.com","source_url": "https://www.land.com/api/seller/search/0/example-state/page-0/sort-order-0/sub-type-0/","profile_url": "https://www.land.com/member/example-land-group/174024","seed": {"id": "102980d317d6","type": "agents","value": "example-state"},"page_index": 0},"entity": {"title": "Example Land Group","description": "This example profile description shows the typical shape of public agent or brokerage profile text.","url": "https://www.land.com/member/example-land-group/174024","external_ids": {"agent_id": "174024"}},"agent": {"id": "174024","contact_name": "Example Land Group","company": "Example Land Group","website": "https://www.examplelandgroup.com/","profile_url": "https://www.land.com/member/example-land-group/174024","account_type": 41,"account_sub_type_id": 5,"is_active": true,"is_free": false,"is_seller": false,"land_star_win_count": 5,"description_sections": ["This example profile description shows the typical shape of public agent or brokerage profile text.","It may include market coverage, service areas, experience, and a summary of how the company presents itself on its public profile."]},"brokerage": {"name": "Example Land Group","website": "https://www.examplelandgroup.com/","license_number": "TX-12345"},"location": {"street_address": "123 Example Avenue","city": "Example City","state": "EX","postal_code": "12345","seo_text": "in Example City, EX"},"contact_details": {"phone": "(123) 456-7890","phones": {"preferred": "(123) 456-7890","office": "(123) 555-0100","cell": "(123) 555-0199","tracking": "(123) 456-7890"}},"media": {"portrait_url": "https://assets.land.com/resizedimages/500/600/l/80/w/1-3773023884","company_logo_url": "https://assets.land.com/resizedimages/70/0/h/80/w/1-2703746095"},"metrics": {"listing_stats": {"active_price_min": 53625,"active_price_max": 9950000,"active_acreage_min": 0.1,"active_acreage_max": 800,"active_listing_count": 116,"all_time_listing_count": 0}},"attributes": {"alc_certified": false,"alc_advanced_certified": false,"badge_id": 2703746022,"listing_count": 0,"courtesy_listing_count": 0,"tier_listing_count": 0,"upgrade_listing_count": 0,"total_rows": 0,"sms_notifications": false,"opt_in_lead_targeting": true}}
Field reference
Property listing fields (record_type = "property_listing")
- record_id (string, required): Stable Land.com listing identifier.
- entity.title / entity.description / entity.url: Main display identity and canonical URL.
- source_context.listing_url: Public listing audit URL.
- listing: Listing identifiers, canonical URL, status fields, MLS ID, price-change details, and listing history.
- pricing: Asking price, displayed price text, currency, and price-per-acre values.
- location: Address, city, county, state, postal code, region, coordinates, and boundary data when available.
- property: Acreage, residence size, bedroom and bathroom counts, parcel ID, property types, amenities, and directions.
- media: Primary image, thumbnail, gallery URLs, image counts, tours, maps, and media availability flags.
- contact_details: Public listing-contact name, phone, email, website, and contact URL when available.
- relationships.agent: Primary listing agent or brokerage contact attached to the listing.
- availability: Listing status and availability windows when provided.
- metrics: Source-reported counts and event-derived counters for listing activity.
- attributes: Source-specific labels, listing tiers, status codes, marketing badges, breadcrumbs, map overlays, and other meaningful source-provided values.
Agent fields (record_type = "agent")
- record_id (string, required): Stable Land.com profile identifier.
- entity.title / entity.description / entity.url: Main profile identity and canonical URL.
- source_context.profile_url: Public profile audit URL.
- agent: Contact name, company, website, profile URL, license number, account-type codes, activity flags, LandStar count, and description sections.
- location: Public profile address, city, state, postal code, and display location text.
- contact_details: Public phone numbers and named phone channels.
- media: Portrait and company logo URLs.
- metrics.listing_stats: Source-provided active and historical inventory ranges and counts.
- attributes: Profile badges, listing-count fields, notification flags, lead-targeting flags, and other source-provided profile attributes.
Output usage guidance
- Use the dataset to power market dashboards that track listing volume, pricing, acreage, and status by geography or property category.
- Enrich CRM or lead pipelines with listing context, broker details, and market activity for outreach, qualification, or account research.
- Schedule recurring runs to monitor new inventory, price changes, and listing movement over time.
- Compare recurring datasets using
record_type + ":" + record_idto detect new records, removed records, or field-level changes across runs. - Export results to spreadsheets, BI tools, or reporting systems for ad hoc analysis and stakeholder reporting.
Data guarantees & handling
- Best-effort extraction: fields may vary by region, session, availability, and UI experiments.
- Optional fields: null-check in downstream code.
- Deduplication: recommend
record_type + ":" + record_id.
How to Run on Apify
- Open the actor in Apify Console.
- Configure your search parameters, such as location, property type, listing status, keyword, or agent search mode.
- Set the maximum number of outputs you want to collect with the
limitfield. - Click Start and wait for the run to finish.
- Download the dataset in JSON, CSV, Excel, or another supported format.
Scheduling & Automation
Scheduling
Automated Data Collection
You can schedule recurring runs to keep your property or agent dataset current without manual restarts. This is useful for monitoring listing freshness, pricing changes, and regional inventory over time.
- Navigate to Schedules in Apify Console
- Create a new schedule (daily, weekly, or custom cron)
- Configure input parameters
- Enable notifications for run completion
- Optional: add webhooks for automated processing
Integration Options
- Webhooks: Trigger downstream actions when a run completes
- Zapier: Connect to 5,000+ apps without coding
- Make (Integromat): Build multi-step automation workflows
- Google Sheets: Export results to a spreadsheet
- Slack/Discord: Receive notifications and summaries
- Email: Send automated reports via email
Performance
Estimated run times:
- Small runs (< 1,000 outputs): ~2–3 minutes
- Medium runs (1,000–5,000 outputs): ~5–15 minutes
- Large runs (5,000+ outputs): ~15–30 minutes
Execution time varies based on filters, result volume, and how much information is returned per record.
FAQ
What is the difference between listing search and agent search?
Listing search returns property listing records based on location and listing filters. Agent search is used for directory-style discovery of brokers, agents, auctioneers, owners, or retailers in a selected area.
How should I choose limit?
Use a smaller limit when testing inputs or validating output shape. Use a larger limit when you are ready to collect a deeper dataset for analysis, monitoring, or export.
What happens if some optional fields are missing?
Some records may not include every optional field. Downstream systems should treat optional values as nullable and only rely on fields that are present.
How should I deduplicate records?
Use record_type + ":" + record_id as the recommended idempotency key for deduplication, upserts, and change tracking across recurring runs.
When should I use broader versus narrower filters?
Start broad when exploring a market or building a larger inventory view. Use narrower filters when you want more targeted results for a defined property type, pricing band, geography, or buying criteria.
Compliance & Ethics
Responsible Data Collection
This actor collects publicly available land and rural property listing information, and where applicable public agent or brokerage directory information, from https://www.land.com for legitimate business purposes. Common use cases include:
- Real estate research and market analysis
- Lead qualification and enrichment
- Listing and competitive monitoring
Users are responsible for ensuring their collection and use of data complies with applicable laws, regulations, and contractual obligations. This section is informational and not legal advice.
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site’s terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable (e.g., GDPR, CCPA)
Support
For help, use the actor page’s Issues tab or support channel on Apify. Include the input you used with sensitive values redacted, the run ID, a short note on expected versus actual behavior, and optionally a small output sample so the issue can be reproduced quickly.