The fastest way to start scraping LoopNet at scale. Our LoopNet API returns structured JSON for for-lease, for-sale, and auction listings, full listing detail, and broker profiles across the US, Canada, UK, France, and Spain — with cap rates, spaces, building facts, and anti-bot bypass built in. No LoopNet API key.
No credit card required · PAYG credits never expire
# Search for-sale commercial property in Houston
import scrapebadger
client = scrapebadger.ScrapeBadger("sb_live_...")
results = client.loopnet.search(
location="Houston, TX",
listing_type="for-sale"
){
"listing_id": "12345678",
"title": "1000 Main St - Class A Office Tower",
"property_type": "Office",
"price_text": "$24,500,000",
"size_text": "10,000 - 250,000 SF",
"building_rating": 4,
"city": "Houston", "state": "TX",
"brokers": [{ "name": "Jane Smith", "company": "CBRE" }]
}Structured JSON responses with normalized data models. No HTML parsing. No proxy management. No LoopNet API key.
/v1/loopnet/search/v1/loopnet/listings/{listing_id}/v1/loopnet/brokers/{slug}/{broker_id}/v1/loopnet/markets/v1/loopnet/property-typesAll fields are normalized from LoopNet's page data. Every datetime ships as both a Unix timestamp and an ISO-8601 string. Nested blocks — spaces, brokers, amenities, additional facts — come pre-parsed.
listing_idstringLoopNet listing identifierpricefloatAsking price or rent (with currency & period)cap_ratefloatCapitalization rate for for-sale listingsnoifloatNet operating incomeprice_per_sqftfloatPrice per square footbuilding_classstringBuilding class (A / B / C)building_size_sqftintegerTotal building size in SFyear_builtintegerYear built (and renovated)percent_leasedfloatShare of the building currently leasedzoningstringZoning designationwalk_scoreintegerWalk Score of the addressamenitiesarrayBuilding amenities listspacesarrayAvailable spaces — size, rent/SF, term, floorbrokersarrayListing brokers with phone & companyimagesarrayPhotos, videos, documents & 3D toursbroker_idstringLoopNet broker identifiernamestringBroker display namecompanystringBrokerage / company nametitlestringProfessional titlephonestringDirect phone numberemailstringContact emailbiostringProfessional biographylicense_numberstringReal-estate license numberspecialtiesarrayPractice specialties (office, retail, …)listingsarrayThe broker’s active listingsloopnet.com, loopnet.ca, loopnet.co.uk, loopnet.fr, and loopnet.es behind a single market parameter. Prices come back in each market's native currency — USD, CAD, GBP, and EUR.
No proxy setup. No session management. No anti-bot configuration.
Call any LoopNet endpoint with your API key and parameters — a location and listing type, a listing ID, or a broker slug and ID. REST or SDK.
ScrapeBadger routes the request through real browser sessions on residential infrastructure, clears Akamai Bot Manager, detects blocks, and retries automatically.
Receive normalized JSON with prices, cap rates, spaces, building facts, amenities, broker contacts, and media links — ready to store, analyse, or pipe into your application.
Scraping LoopNet gives you real commercial-real-estate signals — asking prices, cap rates, lease rates, available space, and broker activity across 5 markets.
Pull asking prices, cap rates, NOI, price per SF, and building facts to underwrite deals and benchmark valuations against live market inventory.
Track lease rates, asking prices, and available space across metros and property types to spot supply shifts and pricing gaps in near real time.
Filter for-sale and auction inventory by price, size, and property type to assemble comps and rank acquisition opportunities across 5 markets.
Analyze brokers by specialties, listing counts, and active inventory to map who dominates a market segment and source off-market relationships.
Collect structured CRE data — building facts, spaces, amenities, descriptions, and photos — for training pricing, classification, or recommendation models.
Feed new listings, price changes, and broker contacts into CRM and lead-gen tools — every listing ships broker phone numbers and companies.
You only pay for successful responses — failed requests are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.
| Endpoint | Credits / request | PAYG | Subscription |
|---|---|---|---|
Search Listings /search | 10 credits | — | — |
Listing Detail /listings/{listing_id} | 12 credits | — | — |
Broker Profile /brokers/{slug}/{broker_id} | 8 credits | — | — |
List Markets /markets | Free | — | — |
Property Types /property-types | Free | — | — |
See the full plan comparison on the pricing page — subscription tiers step down per-credit cost beyond the cheapest column shown above.
ScrapeBadger's LoopNet Scraper API handles everything LoopNet throws at automated requests — so your pipeline keeps running.
Every listing detail returns the complete LoopNet record — cap rate, NOI, building class, spaces with rent per SF and terms, zoning, walk score, amenities, and the raw additional-facts table.
LoopNet is protected by Akamai Bot Manager with TLS/HTTP fingerprinting and sensor challenges. ScrapeBadger routes requests through real browsers automatically — no CAPTCHA solving on your end.
Responses are normalized typed JSON extracted from LoopNet’s page data — no HTML to parse, no fragile CSS selectors that break when LoopNet updates its frontend.
loopnet.com, loopnet.ca, loopnet.co.uk, loopnet.fr, and loopnet.es behind a single market parameter — prices come back in the market’s native currency (USD, CAD, GBP, EUR).
Credits are only deducted for successful responses. If LoopNet returns an error or the request times out, no credits are consumed. You only pay for data you actually receive.
Official SDKs for Python, Node.js, Go, Rust, PHP, C#, Java, Kotlin, Ruby, Swift, Dart and C++ — generated from one OpenAPI spec, always in sync with the API. Full documentation with working code examples for every endpoint.
Get started in minutes with Python, Node.js, or plain HTTP requests.
The scrapebadger Python library wraps the LoopNet API with typed methods. Install with pip install scrapebadger, then start scraping LoopNet in a few lines of code.
from scrapebadger import ScrapeBadger
client = ScrapeBadger("sb_live_...")
# Search for-sale office buildings in Houston
results = client.loopnet.search(
location="Houston, TX",
listing_type="for-sale",
property_type="office",
)
# Get the full detail for the first results
for card in results.results[:3]:
detail = client.loopnet.listing(listing_id=card.listing_id)
print(detail.title, detail.price_text, detail.cap_rate)import ScrapeBadger from 'scrapebadger'
const client = new ScrapeBadger({
apiKey: 'sb_live_...'
})
// Pull the spaces and brokers for a listing
const { listing } = await client.loopnet.listing({
listingId: '12345678',
})
console.log(listing.priceText, listing.capRate)
for (const space of listing.spaces) {
console.log(space.name, space.sizeText, space.rentText)
}
for (const broker of listing.brokers) {
console.log(broker.name, broker.company, broker.phone)
}Common questions about scraping LoopNet with the API — Python, Node.js, or REST.
Search returns listing cards with listing ID, title, price or rent text, size range, property type, building rating, address, coordinates, thumbnail, and broker contacts. Listing detail returns the full record — price with currency and period, cap rate, NOI, price per SF, building class, size, height, year built and renovated, lot size, zoning, parking, walk score, amenities, every available space with rent per SF and term, photos, videos, documents, 3D-tour flag, brokers, and the complete LoopNet facts table. Broker, markets, and property-types endpoints each return their own normalized model.
Five markets: the United States (loopnet.com, USD), Canada (loopnet.ca, CAD), the United Kingdom (loopnet.co.uk, GBP), France (loopnet.fr, EUR), and Spain (loopnet.es, EUR). Pass market=us|ca|uk|fr|es on search, listing, and broker requests — prices come back in each market’s native currency. The default is the US.
Yes. Search accepts listing_type=for-lease (default), for-sale, or auctions, plus a property_type slug from the free /property-types endpoint — office, retail, industrial, multifamily, land, hospitality, healthcare, and more. You can also filter by min_price/max_price (per unit, SF, or acre via price_type) and min_size/max_size in square feet.
LoopNet is protected by Akamai Bot Manager, which combines TLS/HTTP fingerprinting, sensor-data challenges, and IP reputation. ScrapeBadger routes every request through real browser sessions on residential infrastructure, detects blocks, and retries automatically. You never configure proxies, manage fingerprints, or solve CAPTCHAs. No LoopNet API key or CoStar account is required.
Install with pip install scrapebadger, then initialise the client and call client.loopnet.search(location="Houston, TX", listing_type="for-sale"), client.loopnet.listing(listing_id="12345678"), or client.loopnet.broker(slug="john-doe", broker_id="w123456"). The SDK returns typed objects — listings expose .price, .cap_rate, .spaces, and .brokers, and search exposes pagination for walking result pages.
Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All LoopNet endpoints — search, listing detail, and broker profiles across all 5 markets — included on every plan.
1,000 free credits. No credit card. Get your API key in under a minute.
PAYG credits never expire · Pay only for successful requests · US, CA, UK, FR & ES coverage