LoopNet Commercial Listings Scraper avatar

LoopNet Commercial Listings Scraper

Pricing

from $5.50 / 1,000 results

Go to Apify Store
LoopNet Commercial Listings Scraper

LoopNet Commercial Listings Scraper

Collect LoopNet commercial real estate listings by market.

Pricing

from $5.50 / 1,000 results

Rating

0.0

(0)

Developer

String

String

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

LoopNet Scraper — commercial real estate for sale and for lease

This Actor scrapes LoopNet commercial real estate listings for any US market. Give it a market such as austin-tx and the LoopNet Scraper returns around 25 listings per search with the asking price, price per square foot, building size, property type, year built, the listing broker and the full address.

No LoopNet account, login or cookies are used — this reads what a logged-out visitor sees. Every property type on the market search comes back in one pass, named in propertyType.

What it returns

FieldTypeNotes
listingIdstringLoopNet's own listing ID — stable across runs, use it to de-duplicate
titlestringThe listing's headline, e.g. a building or property name
addressstringStreet address as the listing states it
city, state, zipcodestringSplit, not one blob
pricenumberWhole-property asking price on a sale, e.g. 2750000
priceTextstringThe figure exactly as LoopNet quotes it, including ranges
pricePerSqftnumberLease rate, which LoopNet quotes per square foot per year
buildingSqftnumberBuilding size
propertyTypestringLoopNet's own category, e.g. Office, Retail, Industrial
yearBuiltnumber
brokerNamestringListing broker or brokerage where LoopNet names one
detailUrlstringLink to the LoopNet listing page
searchLocation, sourceUrl, collectedAtstringProvenance for every row

A commercial listing often quotes a span — "$649,180 - $5,750,515", or "$12.00 - $14.00 SF/YR" — because one listing covers several units. Any single number taken from a span would be invented, so those rows keep the span in priceText and leave price and pricePerSqft null.

Input

{ "locations": ["austin-tx", "Dallas, TX"], "listingType": "for-sale", "maxItems": 1000 }
FieldDescription
locationsLoopNet market slugs, e.g. "austin-tx". "Austin, TX" is normalised to the same slug. Required, 1–100.
listingTypefor-sale (default) or for-lease.
maxItemsCap on dataset items. Default 1000. Free plans stop at 250 requests and 250 results — see below.
concurrencyMarkets fetched in parallel. Default 2, maximum 5.

Use cases

  • Commercial market comps — asking price and price per square foot side by side with building size
  • Sourcing acquisition targets by property type and year built across several markets
  • Broker and brokerage lead lists, from brokerName on every listing
  • Lease-rate benchmarking per square foot within a submarket
  • Tracking inventory and asking prices over time by re-running on a schedule

Reliability

The LoopNet Scraper reads each listing from the search page's own listing cards and joins LoopNet's schema.org listing data onto them by listing ID. The cards are the complete result set — the schema.org block omits portfolio listings — while the schema.org block is what names the listing broker, so neither source alone would produce the full field set.

A market that cannot be read is recorded in the run's SUMMARY under failures rather than silently returning fewer rows, and a run where every market failed exits with an error.

There are no retries by design: the String Unblocker owns proxy rotation and anti-bot solver selection, so a retry loop here would only re-roll the same block.

Frequently asked questions

Do I need a LoopNet account, API key or cookies? No. The LoopNet Scraper reads the public LoopNet market search as a logged-out visitor, and never signs in.

How many listings does the LoopNet Scraper return per market? Around 25 — one LoopNet search page per market. Ten markets therefore return roughly 250 rows for ten requests.

Why is price sometimes null? Because the listing quotes a range rather than one figure, or says "Contact for price". The quoted text is always kept in priceText.

Where do lease rates appear? In pricePerSqft, which is LoopNet's per-square-foot-per-year rate. Sale listings put their whole-property figure in price instead.

Does it return coordinates? No. LoopNet's search cards carry city, state and ZIP code but no latitude or longitude, so those fields are not emitted rather than guessed.

Which countries does it support? The United States only. This Actor targets loopnet.com.

Limitations

One search page per market, so this is a market sampler rather than a full LoopNet crawl — run several markets to widen coverage. Photos, broker phone numbers and email addresses, lot size, coordinates, tenant details and the space-by-space availability breakdown of a multi-unit listing are out of scope.

Free plan limit

Runs started from an Apify free plan stop at 250 requests and 250 results, and the run reports that it reached the limit. Any paid plan runs the full input and maxItems you set.

The limit exists because this Actor fetches through our own infrastructure, which Apify does not cover for free-plan runs. It binds on requests as well as results so that a large input list cannot spend those fetches for rows the run will not return.