LoopNet + Crexi Scraper · CRE Listings · CoStar Alternative avatar

LoopNet + Crexi Scraper · CRE Listings · CoStar Alternative

Pricing

from $5.00 / 1,000 results

Go to Apify Store
LoopNet + Crexi Scraper · CRE Listings · CoStar Alternative

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

KazKN

Maintained by Community

Actor stats

2

Bookmarked

26

Total users

19

Monthly active users

2 days ago

Last modified

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

NeedWhat you get
LoopNet scraperPublic LoopNet commercial real estate listings with normalized output
Crexi scraperPublic Crexi listings in the same dataset format
Commercial real estate APIStructured rows you can export as CSV, Excel, JSON, or connect to workflows
Commercial real estate listings scraperSearch by city, state, asset class, price, cap rate, square footage, and more
CoStar alternativePay-per-result public listing intelligence for teams that do not need a heavy enterprise UI
CRE broker leadsBroker names, companies, and public phone/email when exposed by the source
Cap rate data APIListed, implied, recomputed, or estimated cap-rate fields with provenance
Days on market commercial real estateDays-on-market values when the source exposes a usable listing date
Broker contact scraperBroker 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:

  1. Choose a market such as Austin, Dallas, Phoenix, Miami, Chicago, Los Angeles, or New York.
  2. Select LoopNet, Crexi, or both.
  3. Pick asset classes and filters.
  4. Run the actor.
  5. 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_on when 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_market when 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 dataActionOutput
NOI and price declaredRecompute cap rate as NOI / price x 100cap_rate_estimated: false
Cap rate declaredPass through listed cap rate and derive implied NOI when possiblecap_rate_estimated: false
Price known but NOI/cap rate missingEstimate with asset-class mediancap_rate_estimated: true
No price and no cap rateLeave cap-rate fields nullcap_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

PersonaUse case
CRE brokersBuild CRE broker leads and outreach lists from public listings
Investment sales teamsMonitor new listings by market, asset class, and price range
Acquisition teamsExport LoopNet + Crexi data into underwriting workflows
REITs and family officesTrack markets weekly without manual copy-paste
Lenders and appraisersReview days-on-market and asking-price signals
Data teamsUse Apify as a commercial real estate API feeding sheets, CRM, or warehouse tables
Lead generation teamsUse broker contact scraper fields where public contact data is exposed

Pricing

Pay-per-event on Apify Store.

EventPriceWhen
Actor start$0.05 / runOnce per scrape job
Result$0.005 / listingEach unique listing returned
Listing detail enrichment$0.003 / listingOnly when includeListingDetails: true

Example costs:

VolumeWithout detailsWith 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.