LoopNet + Crexi Scraper · CRE Listings · CoStar Alternative
Pricing
from $5.00 / 1,000 results
LoopNet + Crexi Scraper · CRE Listings · CoStar Alternative
LoopNet + Crexi scraper for CRE listings. Normalizes cap rates, deduplicates cross-platform, and returns broker names/companies plus phone/email when public. Days-on-market included when source-available. $5 per 1K results.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
KazKN
Maintained by CommunityActor stats
2
Bookmarked
26
Total users
19
Monthly active users
2 days ago
Last modified
Categories
Share
LoopNet Scraper + Crexi Scraper for Commercial Real Estate Listings
Commercial Real Estate Brokerage Intel is a LoopNet scraper, Crexi scraper, and commercial real estate listings scraper built for brokers, investors, acquisition teams, analysts, and lead generation teams that need clean CRE data without rebuilding spreadsheets by hand.
Use it as a lightweight commercial real estate API and CoStar alternative for public on-market listings. One Apify run searches LoopNet and Crexi, normalizes key fields, deduplicates cross-platform listings, calculates cap-rate intelligence, tracks days on market when available, and exposes broker contact data when the source publishes it.
Best for: CRE broker leads, market scans, acquisition lists, cap rate data API workflows, broker contact scraper workflows, CSV exports, Google Sheets, CRM enrichment, and daily monitoring.
Video Tutorial — See It in Action
Watch the full demo — from LoopNet + Crexi search to one clean commercial real estate dataset in about 2 minutes.
What this actor does
| Need | What you get |
|---|---|
| LoopNet scraper | Public LoopNet commercial real estate listings with normalized output |
| Crexi scraper | Public Crexi listings in the same dataset format |
| Commercial real estate API | Structured rows you can export as CSV, Excel, JSON, or connect to workflows |
| Commercial real estate listings scraper | Search by city, state, asset class, price, cap rate, square footage, and more |
| CoStar alternative | Pay-per-result public listing intelligence for teams that do not need a heavy enterprise UI |
| CRE broker leads | Broker names, companies, and public phone/email when exposed by the source |
| Cap rate data API | Listed, implied, recomputed, or estimated cap-rate fields with provenance |
| Days on market commercial real estate | Days-on-market values when the source exposes a usable listing date |
| Broker contact scraper | Broker contact fields separated into clean columns for outreach review |
Why brokers use it
Brokers and acquisition teams often live between two tabs: LoopNet and Crexi. They search one market, repeat the search on the other platform, copy listings, clean duplicates, compare cap rates, hunt for days on market, and rebuild the same spreadsheet again.
This actor turns that workflow into one Apify run:
- Choose a market such as Austin, Dallas, Phoenix, Miami, Chicago, Los Angeles, or New York.
- Select LoopNet, Crexi, or both.
- Pick asset classes and filters.
- Run the actor.
- Export one clean dataset for Google Sheets, Excel, a CRM, a data warehouse, or underwriting.
Quick output preview
{"source": "loopnet","source_listing_id": "29769721","listing_url": "https://www.loopnet.com/Listing/29769721/","address_full": "2921 E 17th St, Austin, TX 78702","address": {"street": "2921 E 17th St","city": "Austin","state": "TX","zip": "78702","lat": 30.278541,"lng": -97.709889},"asset_class": "office","sub_type": "Loft/Creative Space","sqft": 7500,"asking_price_usd": 2500000,"noi_usd": 187500,"noi_declared_usd": null,"noi_implied_usd": 187500,"noi_source": "estimated_from_asset_class_median","cap_rate_listed": null,"cap_rate_normalized": 7.5,"cap_rate_estimated": true,"cap_rate_source": "asset_class_median","price_per_sqft": 333,"days_on_market": 32,"days_on_market_source": "listed_at","status": "active","broker": {"name": "Isaac Gutierrez","company": "ECR","phone": null,"email": null},"broker_name": "Isaac Gutierrez","broker_company": "ECR","also_listed_on": ["crexi"],"also_listed_on_text": "crexi","photo_urls": ["https://images1.loopnet.com/i2/.../900x675/image.jpg"],"description": "Creative office building in the East Austin submarket available for sale."}
Quick start
Search LoopNet + Crexi by city and state
{"city": "Austin","state": "TX","sourcesEnabled": ["loopnet", "crexi"],"assetClasses": ["office", "retail"],"priceMin": 500000,"priceMax": 5000000,"maxResults": 200}
Daily monitoring for new CRE listings
{"city": "Dallas","state": "TX","sourcesEnabled": ["loopnet", "crexi"],"monitoringMode": true,"maxResults": 500}
Run on an Apify schedule. The actor maintains an internal snapshot per query and emits only listings not seen in previous runs.
Track listings that disappeared or changed status
{"city": "Phoenix","state": "AZ","transactionTrackingMode": true}
Useful for commercial real estate teams that want to monitor possible sold, leased, under-contract, removed, or off-market changes.
Scrape specific LoopNet or Crexi URLs
{"startUrls": [{ "url": "https://www.loopnet.com/Listing/12345678/example-property/" },{ "url": "https://www.crexi.com/properties/87654321/example-listing" }]}
Key features
- LoopNet + Crexi aggregation: search both sources in one run.
- Cross-platform deduplication: output one primary record and mark
also_listed_onwhen the same property appears elsewhere. - Cap-rate normalization: recompute, pass through, imply, or estimate cap rates depending on source data.
- NOI provenance: separate declared NOI from implied or estimated NOI.
- Days on market: include
days_on_marketwhen a usable listing date is exposed. - Broker contact fields: broker name, company, public phone, and public email when available from the listing source.
- Spreadsheet-friendly output: export to CSV, Excel, JSON, Google Sheets, CRM, Zapier, Make, or your own database.
- Monitoring mode: run daily or weekly to detect new public listings in target markets.
- Transaction tracking mode: detect listings that disappeared or changed status between runs.
- Dataset views: output columns are organized for overview, financial review, and broker contacts.
The intelligence layer
Cap-rate normalization
Commercial real estate listing data is inconsistent. Some listings declare NOI, some declare cap rate, some expose only asking price, and some expose neither. This actor adds a cap-rate intelligence layer so your team can compare listings more quickly.
| Source data | Action | Output |
|---|---|---|
| NOI and price declared | Recompute cap rate as NOI / price x 100 | cap_rate_estimated: false |
| Cap rate declared | Pass through listed cap rate and derive implied NOI when possible | cap_rate_estimated: false |
| Price known but NOI/cap rate missing | Estimate with asset-class median | cap_rate_estimated: true |
| No price and no cap rate | Leave cap-rate fields null | cap_rate_normalized: null |
This makes the actor useful as a cap rate data API for underwriting preparation, market scans, and broker lead triage.
Days-on-market commercial real estate data
When LoopNet or Crexi exposes a usable listing date, the actor calculates days_on_market and includes days_on_market_source. This helps brokers and investors identify stale listings, recently added deals, and markets where inventory is sitting longer than expected.
Cross-platform deduplication
The same property can appear on LoopNet and Crexi. The actor computes a stable dedup_key, groups matching listings, picks the most complete record as the primary row, and marks the other platform in also_listed_on.
Example:
{"source": "loopnet","address_full": "2141 E Camelback Rd, Phoenix, AZ","also_listed_on": ["crexi"],"also_listed_on_text": "crexi"}
This is the difference between a raw scraper and a dataset your team can actually scan.
Who this is for
| Persona | Use case |
|---|---|
| CRE brokers | Build CRE broker leads and outreach lists from public listings |
| Investment sales teams | Monitor new listings by market, asset class, and price range |
| Acquisition teams | Export LoopNet + Crexi data into underwriting workflows |
| REITs and family offices | Track markets weekly without manual copy-paste |
| Lenders and appraisers | Review days-on-market and asking-price signals |
| Data teams | Use Apify as a commercial real estate API feeding sheets, CRM, or warehouse tables |
| Lead generation teams | Use broker contact scraper fields where public contact data is exposed |
Pricing
Pay-per-event on Apify Store.
| Event | Price | When |
|---|---|---|
| Actor start | $0.05 / run | Once per scrape job |
| Result | $0.005 / listing | Each unique listing returned |
| Listing detail enrichment | $0.003 / listing | Only when includeListingDetails: true |
Example costs:
| Volume | Without details | With details |
|---|---|---|
| 100 listings | $0.55 | $0.85 |
| 1,000 listings | $5.05 | $8.05 |
| 10,000 listings | $50.05 | $80.05 |
| 25,000 listings / month | ~$125 / month | ~$200 / month |
Output schema
Each dataset row includes the fields most CRE teams need for scanning, filtering, underwriting, and outreach:
{source: "loopnet" | "crexi",source_listing_id: string,listing_url: string,scraped_at: string,address_full: string | null,address: {street: string | null,city: string | null,state: string | null,zip: string | null,lat: number | null,lng: number | null},asset_class:| "office" | "retail" | "industrial" | "multifamily"| "land" | "hotel" | "mixed-use" | "specialty" | "unknown",sub_type: string | null,sqft: number | null,units: number | null,year_built: number | null,lot_size_sqft: number | null,asking_price_usd: number | null,noi_usd: number | null,noi_declared_usd: number | null,noi_implied_usd: number | null,noi_source: string | null,cap_rate_listed: number | null,cap_rate_normalized: number | null,cap_rate_estimated: boolean,cap_rate_source: string | null,price_per_sqft: number | null,listed_at: string | null,days_on_market: number | null,days_on_market_source: string | null,status:| "active" | "under_contract" | "sold" | "leased"| "removed" | "off_market" | "unknown",broker: {name: string | null,company: string | null,phone: string | null,email: string | null,profile_url: string | null},broker_name: string | null,broker_company: string | null,dedup_key: string,also_listed_on: ("loopnet" | "crexi")[],also_listed_on_text: string | null,photo_urls: string[],description: string | null}
FAQ
Is this a LoopNet scraper?
Yes. It extracts public LoopNet commercial real estate listings and returns structured fields such as address, asset class, price, square footage, cap rate data, days on market when available, and broker details when publicly exposed.
Is this a Crexi scraper?
Yes. It extracts public Crexi listings and normalizes them into the same schema as LoopNet so both sources can be reviewed in one dataset.
Is this a commercial real estate API?
It can be used like a commercial real estate API through Apify. You can run the actor via API, schedule it, export datasets, connect webhooks, and send results to Google Sheets, Zapier, Make, a CRM, or your own backend.
Is it a CoStar alternative?
It is a lightweight CoStar alternative for public on-market listing workflows, especially for SMB brokers and acquisition teams that want pay-per-result data exports. It is not a replacement for every enterprise CoStar feature or private/off-market database.
Does it include broker contacts?
The actor includes broker names and companies when available. Public phone numbers and emails are included only when LoopNet or Crexi exposes them publicly on the source listing.
Can I use it for CRE broker leads?
Yes. Many users run it as a CRE broker leads workflow: filter a market, export listings, review broker contact fields, deduplicate properties, and send clean rows into a CRM.
Does it calculate days on market?
Yes, when the source exposes a usable listing date. The actor includes days_on_market and days_on_market_source to make the value transparent.
Does it estimate cap rate and NOI?
Yes. When declared data is missing but enough information exists, the actor can estimate cap rate or NOI using asset-class medians. Estimated values are clearly flagged with fields such as cap_rate_estimated, cap_rate_source, and noi_source.
Does it deduplicate LoopNet and Crexi listings?
Yes. The actor groups likely matching properties and marks cross-platform duplicates with also_listed_on, so your team does not chase the same deal twice.
Can I run it on a schedule?
Yes. Use Apify Scheduler with monitoringMode: true for daily or weekly new-listing monitoring.
Which markets are supported?
The actor is designed for USA and Canada commercial real estate listings available through LoopNet and Crexi public search/listing pages.
Technical notes
- Stack: Apify SDK v3, Crawlee v3, TypeScript, Node.js
- Sources: public LoopNet and Crexi listing data
- Output: Apify Dataset with CSV, Excel, JSON, API, and integrations
- Anti-blocking: Apify proxy support
- Best use: public on-market listing intelligence, not private off-market ownership data
Support
Open an issue on Apify Store for bugs, feature requests, additional fields, custom exports, or market-specific improvements.
Built for commercial real estate teams that want cleaner LoopNet and Crexi data without rebuilding the same spreadsheet every morning.