LoopNet Auctions Scraper - CRE Auction Listings & Bids
parseforge/loopnet-auctions-scraper
Real estateOther
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.
- Total runs
- 5
- Bookmarked
- 0
- Last modified
- 29 hours ago
This scraper was last updated on .
What does the LoopNet Auctions Scraper - CRE Auction Listings & Bids return?
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. |
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.
What input does the LoopNet Auctions Scraper - CRE Auction Listings & Bids accept?
| Field | Type | What it does | Default |
|---|---|---|---|
| locations | array | LoopNet location slugs to read the auction search for: "usa" for the whole country, a state code such as "ny" or "tx", or a city such as "los-angeles-ca". One search is walked per entry. | ["usa"] |
| maxPagesPerSearch | integer | How many result pages to walk per location. The run stops earlier on its own when LoopNet starts repeating page one, which is how it signals the end of the list. | 3 |
| maxItems | integer | Stop after this many auctions. | 20 |
| searchUrls | array | Full LoopNet search URLs to read instead of building them from the locations above. Use this to carry over filters you set in LoopNet's own interface. | [] |
| propertyTypes | array | Keep only these property types, matched as a substring: Land, Office, Multifamily, Industrial, Retail, Hospitality, Specialty. | [] |
| states | array | Keep only auctions in these two letter state codes, for example CA, NY, TX. | [] |
| minCurrentBidUsd | integer | Keep only auctions whose current bid is at least this. Note that most search results carry no bid until the sale opens, so this filter also drops those. | not set |
| maxCurrentBidUsd | integer | Keep only auctions whose current bid is at most this. | not set |
| endsAfter | string | ISO date, for example 2026-09-15. | not set |
| endsBefore | string | ISO date, for example 2026-10-31. | not set |
| includeAuctionDetail | boolean | Opens each listing and reads the auction banner: starting bid, current bid, bid increment, sale status, reserve status, total views and the exact close time. This is the block the search results cannot give you, and it is what separates an auction feed from a listings feed. | false |
| includeBrokers | boolean | The listing agents, with their direct phone numbers. | false |
| includeFullDescription | boolean | The complete marketing description from the listing page. The search result carries only a truncated line. | false |
| includeBreadcrumb | boolean | LoopNet's own category and geography path for the property. | false |
| includeRawJsonLd | boolean | LoopNet's own schema.org record for the listing, untouched, for fields this Actor does not map. | false |
| proxyMode | string (3 options) | Measured from the Apify container: LoopNet serves a real browser with no proxy at all, eight pages out of eight in one session. Turn a proxy on only if a run starts getting blocked. | none |
| countryCode | string | Two letter country code used when a proxy is on. | US |
| pagesPerSession | integer | How many pages one browser walks before it is replaced. The measured session held at least eight without a challenge. | 20 |
| maxBrowsers | integer | The most browsers a run may open. Each launch is billed, so this is the ceiling on that part of the cost. | 6 |
How much does the LoopNet Auctions Scraper - CRE Auction Listings & Bids cost?
from $26.70 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.00178 to $0.002 |
| Commercial auction | One auction delivered, with the property name, type, street, city, state, postal code, size, availability, the auction close time and the listing URL. | $0.00445 to $0.005 |
| Search page read | One page of the auction search read in a real browser. Charged only when that page delivered at least one auction you kept. | $0.00178 to $0.002 |
| Browser session | One real browser opened and warmed through the site defence. LoopNet answers a plain HTTP client with an empty 403 on every path, robots.txt included, so a browser is the only way in. Measured at about $0.014 a launch with no proxy, and billed once per launch rather than hidden inside every row. | $0.0267 to $0.03 |
| Listing page opened | The auction listing opened once, which costs a full browser navigation for a single property where a search page costs one for 43. Charged only when you asked for at least one of the blocks below, and once per listing however many you ticked. | $0.00356 to $0.004 |
| Live auction economics | Starting bid, current bid, bid increment, sale status, reserve status, total views and the exact close time, read from the auction banner. The search results carry a bid for about one auction in 43; this is where the number actually lives. | $0.00178 to $0.002 |
| Brokers | The listing agents with their direct phone numbers. Charged only when the listing names one. | $0.00089 to $0.001 |
| Full description | The complete marketing description. The search result carries a truncated line. | $0.00089 to $0.001 |
| Category path | LoopNet's own category and geography path for the property. | $0.000534 to $0.0006 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
How do I call the LoopNet Auctions Scraper - CRE Auction Listings & Bids API?
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~loopnet-auctions-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"locations": [
"usa"
],
"maxPagesPerSearch": 3,
"maxItems": 20,
"searchUrls": [],
"propertyTypes": []
}' What example inputs can I use?
Use these inputs to see how a run is configured.
{
"locations": [
"usa"
],
"maxPagesPerSearch": 3,
"maxItems": 20,
"searchUrls": [],
"propertyTypes": []
} What do users say about the LoopNet Auctions Scraper - CRE Auction Listings & Bids?
No reviews yet. Be the first.
How do I report an issue with the LoopNet Auctions Scraper - CRE Auction Listings & Bids?
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
What related scrapers can I use?
Run LoopNet Auctions Scraper - CRE Auction Listings & Bids on Apify All scrapers
