Loopnet Scraper | Fast & Reliable avatar

Loopnet Scraper | Fast & Reliable

Pricing

from $0.70 / 1,000 results

Go to Apify Store
Loopnet Scraper | Fast & Reliable

Loopnet Scraper | Fast & Reliable

Extract structured commercial real estate listings from Loopnet with property signals, pricing, seller details, media assets and more. Built for enterprise-grade Canada commercial property intelligence, listing monitoring, lead enrichment and automated analytics pipelines.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Loopnet Scraper

Slug: fatihtahta/loopnet-scraper

Overview

Loopnet Scraper collects structured commercial real estate listing records, including property identity, listing URL, deal type, property category, location, pricing, space availability, building details, media, broker or company information, and source-specific listing metadata. LoopNet is a major public marketplace for commercial property discovery, making its listing data useful for market analysis, lead generation, competitive tracking, and operational reporting. The actor turns publicly available listing information into repeatable JSON records that can be reviewed in Apify or delivered into downstream systems. It is designed for recurring data acquisition workflows where consistent structure, predictable inputs, and automation readiness matter. Results reflect the public data available at run time and should be validated against each user's target geography, filters, and business rules.

Why Use This Actor

  • Market research and analytics: collect normalized commercial property data for market intelligence, pricing analysis, availability tracking, and geographic reporting.
  • Product and content teams: build structured real estate datasets for directories, internal search experiences, editorial research, or content enrichment workflows.
  • Developers and data engineering pipelines: deliver repeatable JSON output into downstream systems, ETL jobs, warehouses, and data acquisition workflows.
  • Lead generation and enrichment teams: identify public listing opportunities, broker organizations, locations, property attributes, and availability signals for qualification workflows.
  • Monitoring and competitive tracking teams: run scheduled collections to observe listing changes, pricing movement, new availability, or segment-level activity over time.

Common Use Cases

  • Market intelligence: monitor supply, pricing, availability, quality ratings, locations, property categories, and space-use movement across target markets.
  • Lead generation: build targeted prospect lists from public commercial property listings, broker organizations, and listing-level opportunity signals.
  • Competitive monitoring: track active commercial property inventory by geography, deal type, property type, price range, or recent publication window.
  • Catalog and directory building: populate internal databases with structured public listing records and normalized property attributes.
  • Data enrichment: add current public listing attributes to CRM, BI, analytics, or asset-management datasets.
  • Recurring reporting: schedule periodic runs for dashboards, alerts, market summaries, or trend analysis.
  • Investment screening: collect filtered sale or auction listings by property use, tenancy, cap rate, opportunity zone status, building area, land area, or building year.

Quick Start

  1. Choose a deal_type: lease, buy, or auction.
  2. Enter a location such as a city, ZIP code, county, or market name, or leave it empty for a broader search for the selected deal type.
  3. Add optional filters such as price range, property type, lease space use, publication date, amenities, cap rate, building area, land area, or keyword.
  4. Set a small limit for the first validation run, such as 25 or 50 results.
  5. Run the actor in Apify Console and inspect the first dataset records to confirm that the output shape and scope match your use case.
  6. Increase coverage, add or adjust filters, enable maximize_coverage for broad searches, or schedule recurring runs after the output is verified.

Input Parameters

The actor accepts one search configuration per run: choose a deal type, optionally set a location and filters, then control output volume with limit.

ParameterTypeDescriptionDefault
deal_typestringListing workflow to collect. Allowed values: buy for properties for sale, lease for properties for lease, auction for auction listings. Deal-specific filters only apply to compatible workflows.lease
locationstringOne location to search, such as New York, NY, 10001, Harris County, TX, or Los Angeles County, CA. Leave empty for a broader default search for the selected deal type.-
price_range_typestringBasis used by min_price and max_price. Allowed values: total_sale_total_year_lease for total sale price or annual lease total; sf_sale_sf_year_lease for sale price per square foot or lease price per square foot per year.-
min_priceintegerMinimum price or rent value to include. Currency is USD where the source listing provides USD pricing. Leave empty for no lower bound.-
max_priceintegerMaximum price or rent value to include. Currency is USD where the source listing provides USD pricing. Leave empty for no upper bound.-
sale_typearray of stringsFor buy searches only. Allowed values: auctions, triple_net, exclude_pending_sales, distressed.["auctions"]
publication_datestringListing recency filter. Allowed values: 24_hours, 3_days, 7_days, 14_days, 90_days, 365_days. Leave empty to include listings regardless of publication date.-
tenancystringFor buy and auction searches. Allowed values: single for single-tenant listings, multi for multi-tenant listings.-
lease_availabilityarray of stringsFor lease searches only. Allowed values: pending_lease, available.["available"]
sublease_space_onlybooleanFor lease searches only. When enabled, results are limited to sublease opportunities.false
space_use_leasestringFor lease searches only. Allowed values: office, coworking, industrial, retail, restaurant, flex, medical, lab, land.-
property_usestringFor buy and auction searches. Allowed values: vacant_owner for vacant or owner-user properties, investment for investment properties.-
property_typearray of stringsFor buy and auction searches. Supported values include main categories and subtypes: office, office:industrial_live_work, office:loft_creative_space, office:medical, office:office_live_work_unit, office:office_residential, office:office_storefront_retail, industrial, industrial:data_center, industrial:distribution, industrial:flex, industrial:manufacturing, industrial:r_and_d, industrial:refrigeration_cold_storage, industrial:service, industrial:showroom, industrial:telecom_facility, industrial:truck_terminal, industrial:warehouse, industrial:other_industrial, retail, retail:bank, retail:day_care_facility_nursery, retail:drug_store, retail:freestanding, retail:grocery_convenience_store, retail:service_gas_station, retail:showroom, retail:storefront, retail:storefront_retail_office, retail:storefront_retail_residential, retail:vehicle_related, retail:other_retail, restaurant, shopping_center, shopping_center:airport_retail, shopping_center:community_center, shopping_center:lifestyle_center, shopping_center:neighborhood_center, shopping_center:outlet_center, shopping_center:power_center, shopping_center:regional_mall, shopping_center:strip_center, shopping_center:super_regional_mall, shopping_center:theme_festival_center, multifamily, multifamily:dormitory, multifamily:garden, multifamily:high_rise, multifamily:low_rise, multifamily:manufactured_housing_mobile_home, multifamily:mid_rise, specialty, specialty:car_wash, specialty:marina, specialty:parking, specialty:religious_facility, specialty:schools, specialty:self_storage, specialty:other_specialty, health_care, health_care:assisted_living, health_care:congregate_senior_housing, health_care:continuing_care_retirement_community, health_care:hospital, health_care:rehabilitation_center, health_care:skilled_nursing_facility, hospitality, hospitality:bed_and_breakfast, hospitality:hostel, hospitality:hotel, hospitality:serviced_apartment, sports_entertainment, sports_entertainment:amusement_park, sports_entertainment:baseball_field, sports_entertainment:casino, sports_entertainment:golf_driving_range, sports_entertainment:horse_stables, sports_entertainment:race_track, sports_entertainment:skating_rink, sports_entertainment:swimming_pool, sports_entertainment:theater_concert_hall, lab, land, land:agricultural, land:commercial, land:industrial, land:residential_multifamily, residential_income.-
building_amenitiesarray of stringsBuilding-level amenity filters. Allowed values: 24_hour_access, bio_tech_lab_space, controlled_access, concierge, conferencing_facility, day_care, dry_cleaner, fitness_center, pool, restaurant, security_system, street_parking_only, waterfront, leed_certified, leed_certified_silver, leed_certified_gold, leed_certified_platinum, energy_star_labeled, doorman, dry_cleaning_service, wheelchair_accessible, guest_parking, view, disabled_facilities, roof_terrace, car_charging_station, conference_rooms, hearing_impaired_accessible, private_bathroom, key_fob_entry, air_conditioning, haussmannian, smoke_detector.-
space_amenitiesarray of stringsSpace-level amenity filters. Allowed values: raised_floor, energy_performance_rating_a, energy_performance_rating_b, energy_performance_rating_c, energy_performance_rating_d, energy_performance_rating_e, air_conditioning, balcony, bicycle_storage, dda_compliant, natural_light, reception, security_system, drop_ceiling, cctv_closed_circuit_television_monitoring, private_restrooms, display_window, smoke_detector, wheelchair_accessible.-
keywordstringWord or phrase used to refine results by listing text, business use, feature, tenant type, or other search phrase.-
opportunity_zonebooleanFor buy and auction searches. When enabled, results are limited to listings marked as being in Opportunity Zones.false
min_cap_ratestringFor buy and auction searches. Minimum capitalization rate percentage. Allowed values: 0 through 100. Leave empty for no minimum cap rate.-
max_cap_ratestringFor buy and auction searches. Maximum capitalization rate percentage. Allowed values: 0 through 100. Leave empty for no maximum cap rate.-
min_building_areaintegerMinimum building area, measured in square feet. Leave empty for no lower building-area bound.-
max_building_areaintegerMaximum building area, measured in square feet. Leave empty for no upper building-area bound.-
min_building_yearintegerFor buy and auction searches. Earliest building year to include. Leave empty when older buildings should remain eligible.-
max_building_yearintegerFor buy and auction searches. Latest building year to include. Leave empty when newer buildings should remain eligible.-
min_land_areaintegerMinimum land area, measured in acres. Leave empty for no lower land-area bound.-
max_land_areaintegerMaximum land area, measured in acres. Leave empty for no upper land-area bound.-
maximize_coveragebooleanFor large searches that may exceed the visible result set. Enabled by default for broader collection of matching listings without changing the selected filters; disable for faster exploratory runs.true
limitintegerMaximum number of listings to save for the configured search. Minimum value: 1. Leave empty to collect all available matching results.-

Choosing Inputs

Start with the deal type because it determines which filters are relevant. Use lease when collecting available spaces, buy when collecting for-sale listings, and auction when collecting auction opportunities.

Use location to define the market scope. A city, county, ZIP code, or broader market produces a geographically focused dataset; leaving location empty keeps the search broader for the selected deal type.

Add filters gradually. Narrow filters such as property type, lease space use, publication date, price range, cap rate, tenancy, amenities, area, building year, and keyword produce more targeted datasets, while broader inputs improve discovery and help you understand available coverage.

Use limit to make the first run small and easy to inspect. After confirming that the first records match your expectations, increase limit, refine filters, or enable maximize_coverage for wider collection.

Example Inputs

Lease Availability In A Specific Market

{
"deal_type": "lease",
"location": "Berkeley, CA",
"space_use_lease": "retail",
"lease_availability": ["available"],
"price_range_type": "sf_sale_sf_year_lease",
"min_price": 20,
"max_price": 60,
"limit": 25
}

Investment Property Screening

{
"deal_type": "buy",
"location": "Harris County, TX",
"property_type": ["industrial", "industrial:warehouse"],
"property_use": "investment",
"tenancy": "multi",
"min_cap_rate": "5",
"publication_date": "90_days",
"limit": 50
}

Recent Auction Monitoring

{
"deal_type": "auction",
"location": "Los Angeles County, CA",
"sale_type": ["auctions"],
"opportunity_zone": true,
"publication_date": "14_days",
"min_building_area": 5000,
"maximize_coverage": true,
"limit": 100
}

Output

Output Destination

The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.

When multiple entity types or record shapes exist, the README documents each shape separately based on the provided Example Output. The provided output describes a listing record.

Record Envelope And Stable Identifiers

Each dataset item is a listing record with top-level listing identity, URL, deal type, property classification, location, pricing, metrics, spaces, details, media, people, source details, and a fingerprint.

The recommended idempotency key is listing_id; use url or fingerprint as a fallback when your downstream workflow requires an additional reconciliation key. For deduplication and upserts, store records by listing_id and update mutable attributes such as pricing, availability, details, media, and source ranking on repeated runs. Stable identifiers make records easier to merge, deduplicate, and sync across repeated runs.

The fingerprint field is included as a compact record-level identifier derived from the listing data and can be useful for change detection or secondary deduplication.

Examples

Example: listing record

{
"listing_id": "35442690",
"url": "https://www.loopnet.com/Listing/2539-Telegraph-Ave-Berkeley-CA/35442690/",
"title": "2539 Telegraph Ave",
"subtitle": "The Panoramic Berkeley",
"deal_type": "lease",
"property_type": "Multifamily",
"space_use": "Retail",
"location": {
"address": "Berkeley, CA 94704",
"city": "Berkeley",
"region": "CA",
"postal_code": "94704",
"country": "US",
"coordinates": {
"latitude": 37.864299,
"longitude": -122.258103
}
},
"pricing": {
"price": "$24.00 SF/YR",
"currency": "USD",
"rent": {
"text": "$24.00 SF/YR",
"amount": 24,
"min_amount": 24,
"max_amount": 24,
"currency": "USD",
"rate_basis": "per_square_foot",
"unit": "SF",
"period": "year"
},
"schema_offer": {
"price": 24,
"price_currency": "USD",
"action_type": "RentAction",
"offer_type": "Offer"
}
},
"metrics": {
"quality_rating": "4 Star"
},
"spaces": {
"summary": "2,000 - 4,434 SF Retail Space",
"min_size_sf": 2000,
"max_size_sf": 4434,
"unit": "SF",
"use": "Retail",
"available_text": "1 Space Available Now",
"available_count": 1
},
"details": {
"space_summary": "2,000 - 4,434 SF Retail Space",
"year_built": 2019,
"highlights": [
"1 Space Available Now"
],
"schema_name": "2539 Telegraph Ave, Berkeley, CA 94704",
"schema_description": "4,434 SF Multifamily Building Offered at $24.00 SF/YR in Berkeley, CA 94704"
},
"media": {
"images": [
"https://images1.loopnet.com/i2/iuu4rh7MaFkUfiNr0IVKWrONR-Z1CzFIEi78AwPjkZE/105/image.jpg",
"https://images1.loopnet.com/i2/O15HS1VdVOrDdhJcRNtJvEDk8Uf8W0aR0WUUcvxKM-M/115/retail-property-for-lease-2539-telegraph-ave-berkeley-ca-94704.jpg",
"https://images1.loopnet.com/i2/r9p7fOgBJxHAshDkqBeh8TpihbAGdE-AS19SGOXZ8CI/115/image.jpg",
"https://images1.loopnet.com/i2/hPIkfF9rGMNK3LnQ3EQJdOJYl0vqLGCLEUTpfRSNccI/115/image.jpg",
"https://images1.loopnet.com/i2/zwyZNSEWiGfqY9vH6ml0DCrDk0xTXQEs9hyvu5kgqcA/115/image.jpg",
"https://images1.loopnet.com/i2/gbnaS9DjwHxtlA6EY5H2tszkMAkdKDdOoawy7UeWvJw/115/image.jpg",
"https://images1.loopnet.com/i2/hvSN5CYyC_6y_r01_dPNfiBlg0s0vNRFqD5VyA7ZfSw/115/image.jpg",
"https://images1.loopnet.com/i2/whbp-mbDKu7likV5C5kOyBQ4945XHmsqHsh2tBIRWPg/115/image.jpg",
"https://images1.loopnet.com/i2/Ldq0LTAn3JuzUgnDxEelcNvsA49xiPZmr2br15N9Xqs/115/image.jpg",
"https://images1.loopnet.com/i2/8U5Xm9fgTMFDA_6kJeObu4IMe9OPDx2crVyViz2gdog/115/image.jpg",
"https://images1.loopnet.com/i2/J4RoB0bbEBDsjCd3MOEPlAYi0JP3Gj6hiIcT2H0UFyY/115/image.jpg",
"https://images1.loopnet.com/i2/VI8d9UQQqFUu2DI2HZBhB-x4TPrcjbi0D_MEEAB9gL4/115/image.jpg",
"https://images1.loopnet.com/i2/7U61u7Db60H-JeCQqEX1KA6ZxKhQeWN3D4QR-Fpdgvc/115/image.jpg",
"https://images1.loopnet.com/i2/FKlfiKx52AYSplgab48Ox9LJhcLLhVJS_QeqcjssRF0/115/image.jpg",
"https://images1.loopnet.com/i2/_xObn3dCnV0q6GNZS6iHuWEwEUBD88P0l7SmhcnUEiI/115/image.jpg",
"https://images1.loopnet.com/i2/7_DbzfXiK-TwI30OPV-aXJpWcUDU0AFsGeRNTVCvWIA/115/image.jpg",
"https://images1.loopnet.com/i2/3gDaXxexkLUJCE95MLTNzUfVWbXKPBznEaeHHVnkBKg/115/image.jpg"
],
"schema_image": "https://images1.loopnet.com/i2/O15HS1VdVOrDdhJcRNtJvEDk8Uf8W0aR0WUUcvxKM-M/106/retail-property-for-lease-2539-telegraph-ave-berkeley-ca-94704.jpg"
},
"people": {
"companies": [
"Chromata Real Estate"
],
"schema_offered_by": {
"name": "John Polyzoides",
"organization": "Chromata Real Estate"
}
},
"source_details": {
"loopnet": {
"property_id": "9275759",
"listing_type_id": 14,
"listing_type": "PropertyDirectSpaceForLease",
"property_type_id": 11,
"status_id": 1,
"search_type": "FL",
"page_rank": 1,
"position_rank": 1,
"market_id": "51",
"exposure_level": "Tier3",
"result_position": 1
}
},
"fingerprint": "fa8dcaead1635dccee32"
}

Field Reference

Listing Record

listing_id (string, required): Stable LoopNet listing identifier.

url (string, required): Public listing URL.

title (string, optional): Listing title or property address headline.

subtitle (string, optional): Secondary listing label or property name.

deal_type (string, required): Listing workflow represented by the record, such as lease.

property_type (string, optional): Property category shown for the listing.

space_use (string, optional): Space-use category, when provided.

location.address (string, optional): Display address or market-level address.

location.city (string, optional): City.

location.region (string, optional): State or region code.

location.postal_code (string, optional): Postal code.

location.country (string, optional): Country code.

location.coordinates.latitude (number, optional): Latitude.

location.coordinates.longitude (number, optional): Longitude.

pricing.price (string, optional): Display pricing text.

pricing.currency (string, optional): Currency code, such as USD.

pricing.rent.text (string, optional): Display rent text.

pricing.rent.amount (number, optional): Parsed rent amount.

pricing.rent.min_amount (number, optional): Parsed minimum rent amount.

pricing.rent.max_amount (number, optional): Parsed maximum rent amount.

pricing.rent.currency (string, optional): Rent currency code.

pricing.rent.rate_basis (string, optional): Rent basis, such as per_square_foot.

pricing.rent.unit (string, optional): Pricing unit, such as SF.

pricing.rent.period (string, optional): Pricing period, such as year.

pricing.schema_offer.price (number, optional): Structured offer price when available.

pricing.schema_offer.price_currency (string, optional): Structured offer currency.

pricing.schema_offer.action_type (string, optional): Structured offer action label.

pricing.schema_offer.offer_type (string, optional): Structured offer type label.

metrics.quality_rating (string, optional): Listing quality rating text.

spaces.summary (string, optional): Space availability summary.

spaces.min_size_sf (integer, optional): Minimum available space size in square feet.

spaces.max_size_sf (integer, optional): Maximum available space size in square feet.

spaces.unit (string, optional): Space size unit, such as SF.

spaces.use (string, optional): Space-use label.

spaces.available_text (string, optional): Availability display text.

spaces.available_count (integer, optional): Parsed count of available spaces.

details.space_summary (string, optional): Detailed space summary text.

details.year_built (integer, optional): Building year.

details.highlights (array of strings, optional): Listing highlights.

details.schema_name (string, optional): Structured listing name.

details.schema_description (string, optional): Structured listing description.

media.images (array of strings, optional): Public image URLs associated with the listing.

media.schema_image (string, optional): Primary structured image URL when available.

people.companies (array of strings, optional): Companies associated with the listing.

people.schema_offered_by.name (string, optional): Person listed as offering the property.

people.schema_offered_by.organization (string, optional): Organization associated with the offering person.

source_details.loopnet.property_id (string, optional): Source property identifier.

source_details.loopnet.listing_type_id (integer, optional): Source listing type identifier.

source_details.loopnet.listing_type (string, optional): Source listing type label.

source_details.loopnet.property_type_id (integer, optional): Source property type identifier.

source_details.loopnet.status_id (integer, optional): Source status identifier.

source_details.loopnet.search_type (string, optional): Source search type label.

source_details.loopnet.page_rank (integer, optional): Page-level rank when available.

source_details.loopnet.position_rank (integer, optional): Position rank when available.

source_details.loopnet.market_id (string, optional): Source market identifier.

source_details.loopnet.exposure_level (string, optional): Source exposure label.

source_details.loopnet.result_position (integer, optional): Result position within the collected set.

fingerprint (string, required): Compact record fingerprint for secondary deduplication or change detection.

Data Quality, Guarantees, And Handling

  • Structured records: results are normalized into predictable JSON objects for downstream use.
  • Best-effort extraction: fields may vary by region, session, availability, source presentation, or target-side experiments.
  • Optional fields: null-check optional fields in downstream code, especially pricing, broker information, media, coordinates, ratings, and detailed property attributes.
  • Deduplication: use listing_id as the primary idempotency key; use url or fingerprint as a secondary key when appropriate.
  • Freshness: results reflect the publicly available data at run time.
  • Repeated runs: use the recommended idempotency key when syncing data into warehouses, CRMs, or search indexes.

Tips For Best Results

  • Start with a small limit to validate the output shape before increasing collection size.
  • Use one geography or market segment per run when you need cleaner reporting and easier comparison.
  • Leave optional filters empty when the goal is broad discovery.
  • Add filters gradually to understand how each field changes coverage.
  • Use publication_date for freshness-focused monitoring workflows.
  • Enable maximize_coverage for broad searches where collection depth matters more than exploratory speed.
  • Use listing_id and fingerprint for deduplication when storing results over time.

How to Run on Apify

  1. Open the Actor in Apify Console.
  2. Configure the available input fields for the target scope.
  3. Set the maximum number of outputs to collect with limit.
  4. Click Start and wait for the run to finish.
  5. Inspect the dataset preview and download results in JSON, CSV, Excel, or another supported format.

Scheduling & Automation

Scheduling

Automated Data Collection

Schedule runs to keep commercial real estate datasets fresh without repeating manual collection steps. Recurring runs are useful for monitoring listing changes, availability, pricing, and new market activity.

  • Navigate to Schedules in Apify Console
  • Create a new schedule, such as daily, weekly, or custom cron
  • Configure input parameters
  • Enable notifications for run completion
  • Add webhooks for automated processing

Integration Options

  • CRM enrichment: sync public listing, property, location, and broker organization attributes into lead or account records.
  • BI dashboards: monitor pricing, availability, property types, market coverage, and listing movement over time.
  • Data warehouses: store recurring listing snapshots for historical analysis, segmentation, and operational reporting.
  • Google Sheets or Airtable: review smaller market samples, assign qualification workflows, or maintain lightweight research lists.
  • Webhooks: trigger validation, notification, ingestion, or enrichment workflows after each completed run.
  • Alerts and reporting: notify teams when new listings, changed availability, or filtered market opportunities appear.

Export Formats And Downstream Use

Apify datasets can be exported or consumed by downstream systems for reporting, analysis, and operational workflows.

  • JSON: for APIs, applications, and data pipelines.
  • CSV or Excel: for spreadsheet workflows and manual review.
  • API access: for automated ingestion into internal systems.
  • BI and warehouses: for reporting, dashboards, and historical analysis.

Performance

Run times are estimates and vary by selected filters, result volume, and how much information is returned per record.

  • Small runs (< 1,000 outputs): ~3-5 minutes
  • Medium runs (1,000-5,000 outputs): ~5-15 minutes
  • Large runs (5,000+ outputs): ~15-30 minutes

Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.

Limitations

  • Availability depends on what LoopNet publicly exposes at run time.
  • Some optional fields may be missing on sparse listings or records with limited public detail.
  • Very broad searches may take longer or require higher limit values.
  • Target-side changes can affect field availability, labels, or naming.
  • Regional, account, or availability differences may change visible results.
  • Filtering can reduce output volume when the selected market has few matching listings.

Troubleshooting

  • No results returned: check filters, location spelling, deal type, property category, and whether LoopNet has matching public records for the selected scope.
  • Fewer results than expected: broaden filters, raise limit, disable overly narrow criteria, or verify that the target market contains enough matching records.
  • Some fields are empty: optional fields depend on what each public listing provides.
  • Run takes longer than expected: reduce scope, lower limit for validation, or split broad collection into smaller market segments.
  • Output changed: compare the current output with the field reference and report a small sample if support is needed.

FAQ

What data does this actor collect?

It collects public LoopNet commercial real estate listing data, including listing identity, URL, title, deal type, property type, location, pricing, space availability, building details, media, companies, people, source metadata, and a fingerprint.

Can I filter by location, category, date, price, or other criteria?

Yes. Supported filters include deal type, location, price range, sale type, publication date, tenancy, lease availability, sublease-only status, lease space use, property use, property type, amenities, keyword, opportunity zone status, cap rate, building area, building year, land area, and maximum result count.

Why did I receive fewer results than my limit?

The limit is a maximum, not a guarantee. The run may return fewer records if the selected location, deal type, and filters do not have enough matching public listings at run time.

Can I schedule recurring runs?

Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cadence for monitoring, reporting, and dataset refresh workflows.

How do I avoid duplicates across runs?

Use listing_id as the primary idempotency key when storing records. You can also use url or fingerprint as secondary reconciliation keys.

Can I export the data to CSV, Excel, or JSON?

Yes. Apify datasets support exports in JSON, CSV, Excel, and other formats available in Apify Console.

Does this actor collect private data?

No. The actor is intended to collect publicly available listing information from LoopNet. Users are responsible for using the data in accordance with applicable laws, regulations, and terms.

What should I include when reporting an issue?

Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample if it helps explain the issue.

Compliance & Ethics

Responsible Data Collection

This actor collects publicly available commercial real estate listing information from https://www.loopnet.com for legitimate business purposes, including:

  • Commercial real estate research and market analysis
  • Lead generation and enrichment for property, broker, and market workflows
  • Monitoring and operational reporting for pricing, availability, and listing changes

This section is informational and not legal advice. Users are responsible for confirming that their use of collected data complies with applicable requirements.

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, including GDPR and CCPA.

Support

For help, use the Issues section or the actor page. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when available. Avoid sharing private credentials, personal data, or confidential business information in support requests.