LoopNet Auctions Scraper - CRE Auction Listings & Bids avatar

LoopNet Auctions Scraper - CRE Auction Listings & Bids

Pricing

from $4.45 / 1,000 commercial auctions

Go to Apify Store
LoopNet Auctions Scraper - CRE Auction Listings & Bids

LoopNet Auctions Scraper - CRE Auction Listings & Bids

Reads every commercial real estate auction listed on LoopNet, where the Ten-X auction platform now runs: address, property type, size, auction close time, and on request the live starting bid, current bid, bid increment, reserve status and the listing brokers.

Pricing

from $4.45 / 1,000 commercial auctions

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

ParseForge

LoopNet Auctions Scraper - CRE Auction Listings & Bids

Scrape every commercial real estate auction running on LoopNet, with the live bidding, not just the listing. Each row carries the property, address, type, size and the exact auction close time, and on request the starting bid, current bid, bid increment, reserve status, view count and the brokers with their direct numbers. No login, no API key. Export to CSV, JSON, Excel or XML.

Ten-X, the online CRE auction platform, moved its auctions onto LoopNet. ten-x.com/commercial/properties/ no longer exists: it answers 503 at the edge, to a real browser as much as to a script, because the section is gone rather than blocked. The auctions themselves are alive and running at loopnet.com/search/commercial-real-estate/usa/auctions/, and that is what this Actor reads.

Who uses itWhat they scrape LoopNet auctions for
CRE investors and fundsEvery asset going to auction this month, with the bid where it stands right now
Distressed and special situations desksReserve-not-met sales and the increments they are moving in
BrokersWhat competing assets in their market are closing at, and who is listing them
Appraisers and analystsLive auction comps by property type and state
Lenders and servicersCollateral coming to market, filtered to a state and a price band

What it does

This Actor walks LoopNet's auction search and returns one flat row per auction. Every row carries:

  • ๐Ÿข Property: name, property type, street, city, state, postal code, country, and the size with its unit (square feet or acres).
  • โฐ The auction: the exact close time as LoopNet's own countdown states it, availability, and the current bid where LoopNet publishes one on the search page.
  • ๐Ÿ”— Links: the listing URL and the search it came from, plus the hero image.
  • ๐Ÿ’ฐ Optional live economics: starting bid, current bid, bid increment, sale status, reserve status and total views, read from the auction banner on the listing itself.
  • ๐Ÿ‘ค Optional brokers: the listing agents and their direct phone numbers.
  • ๐Ÿ“„ Optional: the full marketing description, LoopNet's own category path, and the raw structured record.

Results export to CSV, JSON, Excel or XML, or stream from the API.

What you can do with LoopNet auction data

โฑ๏ธ Watch a sale as it moves.

Run on a schedule with includeAuctionDetail and every row carries the current bid, the increment and whether the reserve has been met, timestamped.

๐Ÿ“ Cover one state.

Set locations to ["ny"] or ["tx"] and get every auction in that state. A location can also be a city, as los-angeles-ca.

๐Ÿ—๏ธ Filter to a property type and a price band.

propertyTypes plus minCurrentBidUsd and maxCurrentBidUsd narrow to, say, multifamily above two million.

๐Ÿ“… Take only what closes this month.

endsAfter and endsBefore cut the list to a window.

Why choose this scraper

What you get
The auction, not the listingEvery other LoopNet Actor on the Store returns listings. This one returns the sale: starting bid, current bid, bid increment, reserve status and the exact close time, read from the auction banner.
Where Ten-X actually wentIf you came looking for a Ten-X scraper, this is the same inventory. Ten-X auctions are on LoopNet now and the old commercial listing paths are gone.
The close time is rightThe banner carries two identical countdowns, one for the start of the sale and one for its end, and Angular hides the one that does not apply. Reading the first one on the page returns the start dressed as the end. This reads the visible one, and the timestamp attribute rather than a clock that is ticking while the page parses.
It knows when the list endsLoopNet does not 404 a page past the last result, it serves page one again. The run detects the repeat and stops instead of billing you for the same 43 rows four times.
No proxyMeasured from the Apify container: a real browser is served without any proxy, eight pages out of eight in one session. That saving is in the price.
Optional blocks, billed only when they returnAuction detail, brokers, description and category path are each a checkbox. Untouched blocks are neither fetched nor billed.

How it compares

FeatureParseForge LoopNet Auctionsmemo23/loopnet-scraper-ppepiotrv1001/loopnet-listings-scrapercrawlerbros/loopnet-scraper
Auction search as the targetYesNoNoNo
Current bid, starting bid, incrementYesNoNoNo
Reserve status and sale statusYesNoNoNo
Exact auction close timeYesNoNoNo
Broker names and phonesYesPartialPartialPartial
Stops when paging wrapsYesUnknownUnknownUnknown
Price per row$0.005$0.0015$0.002Per start

The listings Actors are cheaper per row and they should be: a listing row is a listing row. What you are paying the difference for here is the auction state, which none of them carry.

What a LoopNet auction looks like

{
"rowType": "auction",
"listingId": "41178250",
"name": "7901 Beverly Blvd",
"propertyType": "Land",
"street": "7901 Beverly Blvd",
"city": "Los Angeles",
"state": "CA",
"postalCode": "90048",
"country": "US",
"currentBidUsd": 7000000,
"currency": "USD",
"availability": "InStock",
"auctionEndsAt": "2026-09-02T16:35:28-04:00",
"summary": "Favorable Zoning | Coveted Central LA Lot. Auction ends 09/02/2026 16:35:28 -04:00. Current bid $7000000",
"sizeValue": "066",
"sizeUnit": "AC",
"startingBidUsd": "Not Disclosed",
"bidIncrementUsd": 500000,
"auctionStatus": "In Progress",
"reserveStatus": "Reserve Not Met",
"totalViews": 711865,
"brokers": [{ "name": "Jeff Gray", "phone": "3108746920" }],
"listingUrl": "https://www.loopnet.com/Listing/7901-Beverly-Blvd-Los-Angeles-CA/41178250/",
"scrapedAt": "2026-09-02T20:34:31.000Z"
}

A field the source does not publish comes back as Not Disclosed, never as null and never missing.

One thing to know about currentBidUsd on the search page. LoopNet publishes a bid in the search results for only a handful of auctions: measured, 1 in 43. The bid is on the listing page, which is why includeAuctionDetail exists and why the auction fields are worth the extra page open.

Configure the run

InputWhat it does
locationsLoopNet location slugs: usa, a state code such as ny, or a city such as los-angeles-ca.
maxPagesPerSearchPages per location. The run stops earlier when LoopNet repeats page one.
maxItemsStop after this many auctions.
searchUrlsFull LoopNet search URLs, to carry over filters set in LoopNet's own interface.
propertyTypes, statesClient side filters on the returned rows.
minCurrentBidUsd, maxCurrentBidUsdBid band. Note that auctions with no published bid are dropped by these.
endsAfter, endsBeforeISO dates for the auction close.
includeAuctionDetail, includeBrokers, includeFullDescription, includeBreadcrumb, includeRawJsonLdThe optional blocks. The first four open the listing page.
proxyMode, countryCodeOff by default, measured.
pagesPerSession, maxBrowsersHow many pages a browser walks, and the ceiling on browser launches.

Pricing

Pay per event.

EventWhat it is
AuctionOne auction row. This is the price you compare.
Search page readOne results page that produced at least one row you kept.
Browser sessionOne real browser opened and warmed through the site defence. LoopNet refuses a plain HTTP client outright, so this is the actual cost of reading it at all, billed once per launch rather than hidden inside every row.
Listing page openedOne listing page opened, which is what the optional blocks need.
Live auction economics, Brokers, Full description, Category pathOne per optional block, charged only when that block returned something.

Free users

Apify free plan runs are capped at 10 rows. Paid plans run to maxItems.

Run it

{
"locations": ["usa"],
"maxPagesPerSearch": 4,
"includeAuctionDetail": true,
"includeBrokers": true,
"maxItems": 150
}

That is the whole national auction book: LoopNet listed 139 open commercial auctions when this was measured.

Use with AI agents (MCP)

The Actor is exposed over Apify's MCP server, so an agent can ask for, say, every multifamily auction in Texas closing this month with the bid where it stands, and get structured rows back.

Troubleshooting

Zero rows. The site refuses plain HTTP clients and needs the real browser this Actor already uses. If a run comes back empty, raise maxBrowsers: the run is allowed to replace a blocked browser, but only up to that ceiling.

Fewer rows than maxItems. The national auction book is small, around 139 open sales. A state search is smaller still. The log prints the total LoopNet reports.

startingBidUsd is empty. LoopNet hides the panels that do not apply, and a sale that has already taken a bid stops showing a starting bid. The row says Not Disclosed rather than guessing.

FAQ

Is this Ten-X? Yes, the same auctions. Ten-X moved its commercial auctions to LoopNet; the old ten-x.com listing paths are gone and answer 503.

How many auctions are there? 139 open across the United States when this was measured. It moves with the sale calendar.

Can I watch one auction? Put its listing URL in searchUrls, or filter by states and propertyTypes and schedule the run.

Does it need a proxy? No. Measured: no proxy, eight pages out of eight in one browser session.