LoopNet Auctions Scraper - CRE Auction Listings & Bids
Pricing
from $4.45 / 1,000 commercial auctions
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
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 it | What they scrape LoopNet auctions for |
|---|---|
| CRE investors and funds | Every asset going to auction this month, with the bid where it stands right now |
| Distressed and special situations desks | Reserve-not-met sales and the increments they are moving in |
| Brokers | What competing assets in their market are closing at, and who is listing them |
| Appraisers and analysts | Live auction comps by property type and state |
| Lenders and servicers | Collateral 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 listing | Every 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 went | If 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 right | The 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 ends | LoopNet 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 proxy | Measured 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 return | Auction detail, brokers, description and category path are each a checkbox. Untouched blocks are neither fetched nor billed. |
How it compares
| Feature | ParseForge LoopNet Auctions | memo23/loopnet-scraper-ppe | piotrv1001/loopnet-listings-scraper | crawlerbros/loopnet-scraper |
|---|---|---|---|---|
| Auction search as the target | Yes | No | No | No |
| Current bid, starting bid, increment | Yes | No | No | No |
| Reserve status and sale status | Yes | No | No | No |
| Exact auction close time | Yes | No | No | No |
| Broker names and phones | Yes | Partial | Partial | Partial |
| Stops when paging wraps | Yes | Unknown | Unknown | Unknown |
| Price per row | $0.005 | $0.0015 | $0.002 | Per 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
| Input | What it does |
|---|---|
locations | LoopNet location slugs: usa, a state code such as ny, or a city such as los-angeles-ca. |
maxPagesPerSearch | Pages per location. The run stops earlier when LoopNet repeats page one. |
maxItems | Stop after this many auctions. |
searchUrls | Full LoopNet search URLs, to carry over filters set in LoopNet's own interface. |
propertyTypes, states | Client side filters on the returned rows. |
minCurrentBidUsd, maxCurrentBidUsd | Bid band. Note that auctions with no published bid are dropped by these. |
endsAfter, endsBefore | ISO dates for the auction close. |
includeAuctionDetail, includeBrokers, includeFullDescription, includeBreadcrumb, includeRawJsonLd | The optional blocks. The first four open the listing page. |
proxyMode, countryCode | Off by default, measured. |
pagesPerSession, maxBrowsers | How many pages a browser walks, and the ceiling on browser launches. |
Pricing
Pay per event.
| Event | What it is |
|---|---|
| Auction | One auction row. This is the price you compare. |
| Search page read | One results page that produced at least one row you kept. |
| Browser session | One 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 opened | One listing page opened, which is what the optional blocks need. |
| Live auction economics, Brokers, Full description, Category path | One 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.
