Crexi [$1.9πŸ’°] Scraper: Properties, Brokers & Instant Database avatar

Crexi [$1.9πŸ’°] Scraper: Properties, Brokers & Instant Database

Pricing

from $1.90 / 1,000 records

Go to Apify Store
Crexi [$1.9πŸ’°] Scraper: Properties, Brokers & Instant Database

Crexi [$1.9πŸ’°] Scraper: Properties, Brokers & Instant Database

[Only $1.9πŸ’°] Crexi scraper for commercial real estate β€” sale & lease listings, property records with tax/ownership history, demographics and agent profiles nationwide. Plus an instant database of 214,000+ US brokers with brokerage, license & deal stats β€” phone on request. Pure API-first. JSON/CSV.

Pricing

from $1.90 / 1,000 records

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 hours ago

Last modified

Share

Crexi Scraper β€” Properties + Instant Broker Database

How It Works

How the Crexi Scraper works

Scrape Crexi commercial real estate the way you need it: sale & lease listings, property records with tax/ownership history, demographics and agent profiles nationwide β€” or skip scraping entirely with an instant database of 214,000+ US brokers (brokerage, license, deal stats, and phone on request).

Nobody else on Apify sells Crexi broker contacts β€” every other Crexi scraper on the Store returns properties only. This one gives you the people behind the listings, plus the full property side too.

Why Use This Scraper?

  • βœ… 214,000+ commercial real estate brokers, instant delivery β€” filter by State, City, or Brokerage, no scraping needed
  • βœ… Full property scraping too β€” sale & lease listings, property records, tax/ownership history, demographics, agent profiles
  • βœ… Phone numbers on request β€” a logged-in broker lookup is wired in (no cookies required); opt in and only pay for the numbers you actually get
  • βœ… Rich per-broker data β€” brokerage name, license number & state, active/closed deal counts, profile URL
  • βœ… DB-first live scraping β€” a find-a-broker URL is served instantly if we already have that state; otherwise it scrapes live and caches for next time
  • βœ… Pure API-first β€” no browser for the vast majority of requests, Camoufox fallback only when needed

Overview

This actor serves two audiences: CRE lead-gen teams, recruiters, and market researchers who want broker contacts without scraping, and investors, analysts, and proptech teams who want Crexi property data.

Instant Database mode returns a flat broker row per broker, straight from the store β€” no requests to Crexi at all. Live-scrape mode (property / broker / agent-profile / find-a-broker URLs) returns property listings, broker contact blocks, and agent profile data, reading Crexi's own APIs directly.

On contacts, honestly: every broker record has brokerage, license, and deal-count data. Phone numbers are present for a growing subset β€” currently in the tens of thousands and climbing as more properties get scraped (each scraped listing unlocks the phone for its broker via an authenticated lookup). Phone is a metered field: set dbIncludePhone (Instant Database) or includePhoneNumbers (live-scrape) to receive real numbers β€” off by default, so you're never billed for a field you didn't ask for, and only billed for records that actually have one. Email stays masked (user@crexi.com) for essentially all records β€” Crexi only reveals real email addresses to paid Crexi accounts, which is a separate, bigger lift than the phone unlock.

Supported Inputs

Instant Database filters (no URL needed)

FieldExampleNotes
dbStateTX2-letter state code
dbCityAustinoptional, narrows within the state
dbBrokerageCBREbrokerage name contains, optional
dbHasPhone / dbHasEmailtruefilter to records that already have that field
dbIncludePhonetrueopt in to receive real phone numbers β€” additional charge per record with a phone, off by default
instantDatabasetrueforce database mode (auto-on if any filter above is set)

Live-scrape URL types

URL typeExample
Sale/lease searchhttps://www.crexi.com/properties?placeIds%5B%5D=...&types%5B%5D=Land
Single propertyhttps://www.crexi.com/properties/{id}/{slug}
Group / group propertyhttps://www.crexi.com/groups/{groupId}[/properties/{id}]
Broker directoryhttps://www.crexi.com/resources/find-a-broker/{State}
Agent profilehttps://www.crexi.com/profile/{slug}
Property records (parcel, tax/sale/ownership history)https://www.crexi.com/property-records/{parcelKey}/{40-hex-recordId}

Copy-pasteable startUrls

{
"startUrls": [
"https://www.crexi.com/properties",
"https://www.crexi.com/resources/find-a-broker/TX"
],
"includeBrokerDetails": true,
"includePhoneNumbers": true
}

Unsupported inputs

  • ❌ Content behind a Crexi login (beyond the actor's own broker-phone unlock, which uses our own account, not yours)
  • ❌ Non-crexi.com domains
  • ❌ Real email addresses β€” Crexi requires a paid account for that; this actor's account is not paid

Use Cases

AudienceUse case
CRE lead-gen teamsPull thousands of broker contacts instantly by state, city, or brokerage
RecruitersBuild brokerage rosters filtered by state, city, or firm
Investors / analystsTrack sale & lease listings, pricing, and property records nationwide
Proptech / CRMEnrich a pipeline with verified broker + brokerage + license data
Market researchersBulk-export Crexi property and broker data for analysis
  1. Choose a mode β€” Instant Database (State/City/Brokerage filters) for broker contacts, or live scrape (property / broker / find-a-broker URL) for listings and fresh broker data
  2. Instant Database path β€” the actor queries our pre-collected store and returns matching brokers in seconds
  3. DB-first on find-a-broker URLs β€” if we already have that state, it's served instantly; otherwise the actor scrapes live and caches the result for next time
  4. Live-scrape path β€” the actor calls Crexi's own APIs directly (search, property detail, broker lookup); a logged-in account is used automatically so broker phone numbers unlock without you supplying cookies
  5. Output β€” one row per broker (database) or per property / broker / agent profile (live scrape), JSON or CSV

Input Configuration

Input fields

FieldTypeRequiredNotes
dbState / dbCity / dbBrokeragestringnoInstant Database filters
dbHasPhone / dbHasEmailbooleannoFilter to records that already have that field, default false
dbIncludePhonebooleannoOpt in to real phone numbers in Instant Database mode β€” additional charge per record with a phone, default false
instantDatabasebooleannoForce DB mode, default false
maxItemsintegernoCap on Instant Database rows, default 200
forceFreshbooleannoSkip DB-first, always live-scrape find-a-broker URLs, default false
startUrlsarray<string>no (or DB filters)Crexi URLs to scrape
moreResultsbooleannoFan out by price range to exhaust >1,500-result searches, default false
includeListingDetailsbooleannoFetch full detail per search result, default false
includeBrokerDetailsbooleannoFetch broker contact block per result, default false
includePhoneNumbersbooleannoOpt in to real phone numbers on live-scraped brokers (requires includeBrokerDetails) β€” additional charge per record with a phone, default false
includePropertyRecordbooleannoFetch parcel/property-record data, default false
includePropertyHistorybooleannoFetch property update history, default false
includeTaxHistorybooleannoFetch tax history, default false
includeDemographicsbooleannoFetch population/income/household data, default false
includeMoreMediabooleannoFetch additional media, default false
maxConcurrency / minConcurrencyintegernoDefault 50 / 1
maxRequestRetriesintegernoDefault 50
cookiesarraynoYour own Crexi login cookies (EditThisCookie export) β€” optional, the actor logs in with its own account by default
proxyobjectnoApify Residential recommended

Common scenarios

1. Instant Database β€” every Texas broker with a real phone number

{
"dbState": "TX",
"dbHasPhone": true,
"dbIncludePhone": true,
"maxItems": 500
}

2. Instant Database β€” brokers at a specific brokerage in Austin, no phone (cheaper)

{
"dbState": "TX",
"dbCity": "Austin",
"dbBrokerage": "CBRE",
"maxItems": 100
}

3. Live scrape β€” sale listings with broker phone unlocks

{
"startUrls": ["https://www.crexi.com/properties"],
"includeListingDetails": true,
"includeBrokerDetails": true,
"includePhoneNumbers": true
}

Output Overview

  • Database broker (Instant Database mode) β€” a flat broker row served from our store: name, contact (phone/email), brokerage, license, deal stats, profile URL.
  • Live-scraped property / broker / agent profile β€” full Crexi detail from the site's own API response.

Output Samples

Instant Database broker β€” default (no dbIncludePhone, phone masked):

{
"id": "2536950",
"first_name": "Jesse",
"last_name": "Molinar",
"slug": "jessemoli",
"phone": "πŸ”’ Set includePhoneNumbers to true to unlock phone (additional charge per record with a phone)",
"email": "user@crexi.com",
"number_of_assets": 16,
"brokerage_name": "D.E. The Home Boss Group LLC",
"license_number": "0832459",
"license_state": "TX",
"profile_url": "https://www.crexi.com/profile/jessemoli"
}

Instant Database broker β€” with dbIncludePhone: true (phone unlocked, additional charge):

{
"id": "2536950",
"first_name": "Jesse",
"last_name": "Molinar",
"slug": "jessemoli",
"phone": "432.349.6024",
"email": "user@crexi.com",
"number_of_assets": 16,
"brokerage_name": "D.E. The Home Boss Group LLC",
"license_number": "0832459",
"license_state": "TX",
"profile_url": "https://www.crexi.com/profile/jessemoli"
}

Key Output Fields

GroupFields
Identity & contactid, first_name, last_name, slug, phone, email, photo_url, profile_url
Performancenumber_of_assets
Brokeragebrokerage_name, brokerage_website, brokerage_city, brokerage_state
Licenselicense_number, license_state, broker_title
Metadatasource_location, last_scraped_at

FAQ

What's the difference between Instant Database mode and live scraping?

Instant Database mode (dbState + optional filters) serves brokers straight from our pre-collected store β€” no requests to Crexi, results in seconds. Live scraping (startUrls) hits Crexi directly for current listings, broker contacts, or profiles.

Do all brokers have a phone number?

Not yet β€” phone coverage is a growing subset of the 214,000+ database, populated by an authenticated per-property lookup. Set dbHasPhone: true to only receive records that already have one, or run a live scrape with includeBrokerDetails: true to unlock phone on fresh properties as you scrape them. Either way, you also need to opt in (see below) to actually receive the number.

Why don't I see real phone numbers by default?

Phone is a metered field, billed separately from the base record β€” set dbIncludePhone: true (Instant Database) or includePhoneNumbers: true (live-scrape, alongside includeBrokerDetails) to receive real numbers. It's off by default so nobody's billed for a field they didn't ask for, and you're only ever charged for records that actually have a phone to unlock β€” never for a miss.

Can I get real broker email addresses?

Not currently. Crexi only reveals a broker's real email to Crexi accounts on a paid plan; without one, Crexi itself returns a placeholder (user@crexi.com). This actor doesn't have a paid Crexi account today.

Do I need my own Crexi cookies?

No. The actor logs in with its own Crexi account automatically to unlock broker phone numbers on live scrapes. You can still supply your own cookies if you want requests made under your own account instead.

Do I need a URL for Instant Database mode?

No β€” just set dbState (and optionally city/brokerage) and leave startUrls empty.

What happens if I request a find-a-broker URL for a state we already have?

It's served instantly from the database instead of hitting Crexi β€” set forceFresh: true to always scrape live instead.

Can it scrape properties too, not just brokers?

Yes. Live-scrape mode handles sale/lease search results, property detail pages, property records (parcel/tax/ownership history), and agent profiles.

Can I scrape content behind a login?

No. The actor only accesses publicly available Crexi pages, plus the broker-contact unlock available to its own logged-in account β€” never paid features or content behind a customer's own login.

JSON or CSV?

Both β€” export from your Apify dataset in whichever format you need.

Support

Found a bug or want a field added? Open an issue on the actor's Issues tab and we'll take a look.

Additional Services

Need a custom CRE data feed (bulk state exports, scheduled monitoring, a webhook/Sheets/DB push, or a tailored schema)? Reach out β€” custom scraping and data-pipeline work is available.

Explore More Scrapers

See the full memo23 actor catalog β†’

⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Crexi, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available Crexi pages and broker-directory data, plus broker-contact lookups made available to a standard (non-paid) Crexi account β€” no paid-tier features or content behind a customer's own login wall. Users are responsible for ensuring their use complies with Crexi's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.

SEO Keywords

crexi scraper, crexi.com scraper, crexi api, crexi broker scraper, crexi agent scraper, commercial real estate broker data, commercial real estate leads, cre lead generation, cre broker contacts, crexi property scraper, crexi find a broker, brokerage roster scraper, commercial real estate api, cre market research data, crexi json csv export, real estate agent emails, real estate broker phone numbers, commercial property listings scraper, cre data extraction, us commercial real estate data