Crexi Email Scraper
Pricing
from $2.49 / 1,000 results
Crexi Email Scraper
Crexi Email Scraper SD - Crexi Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Crexi results by keyword, location and email domain - Crexi email extractor.
Pricing
from $2.49 / 1,000 results
Rating
0.0
(0)
Developer
Leads Scraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Crexi Email Scraper for investment sales and CRE broker contacts
The Crexi Email Scraper collects publicly indexed contact emails from the commercial brokers, investment sales advisors and auction teams who appear on Crexi. You supply keywords, an optional location and the email domains you care about; the Actor returns a deduplicated dataset of leads. Everything comes from Google's public index of crexi.com pages.
Crexi is the digital-first end of the commercial marketplace world, with a heavy weighting toward investment sales, auctions and owner-side dispositions. That changes who you find compared with a classic listing portal: more capital-markets advisors, more auction reps, more brokers whose profile copy talks about cap rates and closed volume. Use the Crexi Email Scraper when your buyer is the deal-side of commercial real estate rather than the leasing desk.
In a measured live run, roughly 10 parsed result blocks produced 7 identified broker records, 7 resolvable profile URLs and 9 unique emails. More emails than identities is normal here: a single Crexi result block often exposes an advisor address alongside a team or deal inbox. That puts the Crexi Email Scraper firmly in the strong tier of this Real Estate and Property category.
What the Crexi Email Scraper actually does
The Crexi Email Scraper builds Google queries using the site: operator against crexi.com, fetches result pages through the Apify GOOGLE_SERP proxy with aiohttp, and parses each result block structurally.
It finds the <h3> title, walks up to the smallest surrounding block, and runs a domain-filtered regular expression over that block's text.
Because it never relies on Google's CSS class names, a markup change degrades the run rather than killing it.
It does not log into Crexi, does not use any Crexi API and never opens crexi.com in a browser. There is no JavaScript rendering, no authentication and no cookies in the pipeline. Brokers on Crexi publish contact details on purpose, because an auction with no inbound bidder interest is a failed auction.
Key features of the Crexi Email Scraper
Everything listed here ships with the Crexi Email Scraper today; none of it is a roadmap item.
| Feature | Why it matters for CRE broker contacts |
|---|---|
| Query expansion | Each keyword x domain pair runs as a base query, a quoted query, an intitle: query and one variant per modifier, with base queries first. |
| Global deduplication | An address surfaced by ten different queries is written once. |
| Email normalisation | Handles name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width @ sign. |
| Junk filter | Drops placeholders such as email@, yourname@, test@, xxx@ and single-character local parts. |
| Boundary-correct matching | @gmail.com does not match inside @gmail.company or @gmail.com.br. |
| Soft-wrap repair | Discards a hit that is only the tail of another email in the same block. |
| Concurrency control | An asyncio worker pool with a shared stop signal on maxEmails. |
| Retries and block detection | Three attempts per page with exponential backoff, a fresh proxy session per request, and CAPTCHA or consent pages retried instead of counted as empty. |
| Failed-query requeue | Blocked or failed queries are retried once at the end of the run. |
| Resumable state | Key-value store state keyed by an input hash, saved on PERSIST_STATE, MIGRATING and ABORTING. |
| Whole-page fallback parser | A Google layout change degrades to emails without account details, not to zero results. |
| Run summary | Pages fetched, blocked pages, retries and emails per page are logged. |
How the Crexi Email Scraper works
First the input is read and hashed into a resumable state key.
Then the query set is built by multiplying keywords by email domains and, when expandQueries is on, by query modifiers.
A representative query looks like site:crexi.com "investment sales broker" "@gmail.com" "Atlanta".
The Crexi Email Scraper then fetches result pages concurrently through the Apify GOOGLE_SERP proxy and parses them block by block. Emails are extracted, normalised, filtered by domain and deduplicated globally before each lead is pushed to the dataset. Because pushes are immediate, you can watch the Crexi Email Scraper build your list live in the Apify console.
A Crexi Email Scraper run stops as soon as maxEmails unique addresses have been reached, and that stop signal is shared across every worker.
Free Apify plans are capped at 100 emails per run; paid plans are uncapped.
Crexi Email Scraper input fields
| Field | Type | Default | Meaning |
|---|---|---|---|
keywords | array (required) | ["commercial broker", "commercial real estate"] | Search terms describing the accounts you want |
location | string | "" | Optional location phrase added to every query |
customDomains | array | ["@gmail.com","@yahoo.com"] | Only emails on these domains are kept; the @ is optional |
maxEmails | integer 1-10000 | 20 | Stop after this many unique emails |
countryCode | string | "" | Two-letter country for the search proxy (US, GB, DE...) |
expandQueries | boolean | true | Search each keyword x domain pair in several phrasings |
queryModifiers | array | ["email","contact","listing agent","inquiries","broker"] | Extra words combined with each keyword when expansion is on |
maxPagesPerQuery | integer 1-50 | 30 | Page cap per query |
maxConcurrency | integer 1-20 | 5 | Parallel queries |
Only keywords is required, so the Crexi Email Scraper runs on defaults out of the box.
In practice keywords, location and customDomains together decide almost everything about result quality.
Location targeting in the Crexi Email Scraper
location is the most valuable input in this Actor, because commercial deal flow is intensely geographic.
An investment sales advisor covering Nashville has nothing to sell a vendor focused on Seattle, so a national sweep wastes most of its rows.
Running the Crexi Email Scraper once per target market gives you far cleaner segmentation than one undifferentiated run.
Metro phrases are the default choice: "Atlanta", "South Florida", "Denver", "Salt Lake City".
Crexi's user base skews toward secondary and tertiary markets, so metros that a national brokerage would ignore are often unusually productive here.
County phrases suit industrial, self-storage and land-adjacent product: "Gwinnett County", "Hillsborough County", "Bexar County".
County names dominate assessor, entitlement and zoning language, which is where owner-side and development brokers write.
State phrases fit lenders, 1031 exchange intermediaries and appraisal firms that operate on statewide licences: "Texas", "Florida", "Arizona".
Pair a state-level location with countryCode: "US" so the search proxy resolves to the right index.
Deal-type phrases such as "net lease" or "self storage" can be put in keywords while location stays geographic; mixing the two into one field dilutes both.
Example input JSON
{"keywords": ["investment sales broker", "net lease advisor", "multifamily broker"],"location": "Atlanta","customDomains": ["@gmail.com", "@yahoo.com", "@outlook.com"],"maxEmails": 200,"countryCode": "US","expandQueries": true,"queryModifiers": ["email", "contact", "listing agent", "inquiries", "broker"],"maxPagesPerQuery": 30,"maxConcurrency": 5}
Crexi Email Scraper output fields
Every dataset item written by the Crexi Email Scraper carries all fourteen fields below.
| Field | Meaning |
|---|---|
network | Platform name |
keyword | The keyword that produced the lead |
query | The exact Google query used |
title | Raw result title |
accountName | Account label Google prints |
fullName | Display name parsed from a profile-style title; empty for non-profile results |
username | URL-safe handle when Crexi exposes one; otherwise null |
profileUrl | Canonical account URL when a handle is known; otherwise empty |
url | Direct platform link when exposed, else the profile URL |
description | Bio or snippet text, cleaned of labels and counters |
email | Lower-cased email address |
emailDomain | The matched domain, for example @gmail.com |
possiblyTruncated | true when Google's snippet ellipsis touched the email |
foundAt | ISO 8601 UTC timestamp |
Crexi exposes broker handles under a /brokers/ path, which is why profile URL resolution is strong here.
Keep query and foundAt in every export; they are your provenance record if a recipient asks where their address came from.
Example output JSON
[{"network": "Crexi","keyword": "investment sales broker","query": "site:crexi.com \"investment sales broker\" \"@gmail.com\" \"Atlanta\"","title": "Derek Olusanya - Investment Sales Broker - Atlanta, GA | Crexi","accountName": "Derek Olusanya","fullName": "Derek Olusanya","username": "derek-olusanya","profileUrl": "https://www.crexi.com/brokers/derek-olusanya","url": "https://www.crexi.com/brokers/derek-olusanya","description": "Multifamily and net lease investment sales across metro Atlanta. Deal inquiries: derek.olusanya.cre@gmail.com","email": "derek.olusanya.cre@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": false,"foundAt": "2026-03-12T14:02:38Z"},{"network": "Crexi","keyword": "multifamily broker","query": "site:crexi.com \"multifamily broker\" contact \"@yahoo.com\" \"Atlanta\"","title": "Whitfield Capital Advisors - Multifamily Broker | Crexi","accountName": "Whitfield Capital Advisors","fullName": "Tara Whitfield","username": "tara-whitfield","profileUrl": "https://www.crexi.com/brokers/tara-whitfield","url": "https://www.crexi.com/brokers/tara-whitfield","description": "Value-add multifamily dispositions, 20 to 200 units. Offers to tara.whitfield.capital@yahoo.com","email": "tara.whitfield.capital@yahoo.com","emailDomain": "@yahoo.com","possiblyTruncated": false,"foundAt": "2026-03-12T14:03:11Z"}]
Use cases for the Crexi Email Scraper
| Audience | How they use the Crexi Email Scraper |
|---|---|
| CRE technology vendors | Reach deal management, underwriting and offering-memorandum software buyers market by market. |
| Lenders and debt brokers | Target the advisors running dispositions that will need acquisition or bridge debt. |
| Title, escrow and closing firms | Build a county-level list of the brokers who route commercial closings. |
| Appraisal and valuation firms | Find brokers who commission valuations for a specific asset class. |
| Tenant-rep and brokerage recruiters | Source licensed advisors by specialty and market for hiring pipelines. |
| Construction and facilities suppliers | Reach the teams who specify capex and tenant improvement work post-close. |
| Property marketing agencies | Pitch OM design, drone, photography and video to active auction and listing teams. |
| 1031 exchange and QI services | Prospect the advisors whose sellers will need a qualified intermediary. |
The Crexi Email Scraper is a top-of-funnel sourcing step, not a complete go-to-market motion. It gives you a defensible starting list; segmentation, verification and messaging remain your work.
Crexi Email Scraper examples
A PropTech vendor selling underwriting software runs the Crexi Email Scraper with keywords set to ["investment sales broker", "capital markets advisor"] and location "South Florida".
With maxEmails at 150 and expansion on, the Actor cycles through base, quoted, intitle: and modifier variants until the cap is hit.
Because each row records the keyword that produced it, the vendor can write two distinct opening lines without extra enrichment.
A regional lender wants coverage across three secondary markets.
They run the Crexi Email Scraper three times with location set to "Chattanooga", "Huntsville" and "Greenville", keeping keywords constant.
Comparing dataset sizes tells them where broker density and email visibility justify a dedicated originator.
A title company merges commercial sources for one state.
They run the Crexi Email Scraper alongside the LoopNet Email Scraper and the Showcase Email Scraper, then deduplicate on email.
Adding @outlook.com and @hotmail.com to customDomains raises yield noticeably, because independent advisors use consumer mailboxes far more than national firms do.
Responsible use of scraped broker contacts
Everything the Crexi Email Scraper returns was already published on a public web page and indexed by Google. That does not make every downstream use lawful, and knowing which rules apply to you is your responsibility. The notes below are practical guidance, not legal advice.
Under CAN-SPAM in the United States, commercial email must avoid deceptive headers and subject lines, identify itself as an advertisement where required, carry a valid physical postal address, and honour opt-outs promptly. Under the GDPR and UK GDPR, a named individual's business address is still personal data, so you need a lawful basis, a real legitimate-interest assessment where you rely on one, transparency about the source, and a working route to object or erase. ePrivacy rules and several EU member states add consent requirements for electronic marketing beyond the GDPR baseline.
Operational habits matter as much as the statute when you work with Crexi Email Scraper output.
Hold possiblyTruncated rows out of your first send, verify before a large campaign, maintain a suppression list across every future run, and keep query and foundAt as provenance.
Specific, relevant messages to a broker about their own market rarely generate complaints.
Limitations of the Crexi Email Scraper
The Crexi Email Scraper only finds accounts whose email is publicly visible in Google's index. An advisor who keeps their address behind a contact form or inside an image will never appear, no matter how many pages you fetch.
Google caps a single query at roughly 300 results, which is exactly why query expansion exists.
Leaving expandQueries on turns one 300-result ceiling into dozens of them.
username and profileUrl are only populated when Crexi exposes a handle in the Google result.
Resolution is strong here, but where Google prints only a display name those rows carry accountName and fullName with an empty username and profileUrl.
That is a Google limitation, not a bug.
possiblyTruncated: true means Google's snippet ellipsis touched the address and it may be incomplete.
The Crexi Email Scraper requires the Apify GOOGLE_SERP proxy and cannot run without Apify proxy credentials.
Free Apify plans stop at 100 emails per run, and results vary with keywords, domains and location, so no volume is guaranteed.
Crexi Email Scraper FAQ
How many results should I expect from the Crexi Email Scraper?
In a measured live run, about 10 parsed result blocks produced 7 identified records, 7 profile URLs and 9 unique emails. That is a strong ratio for this category, but yield still moves with your keywords, domains and location.
Does the Crexi Email Scraper log into Crexi?
No. It never logs in, never calls a Crexi API and never opens crexi.com in a browser. Every field is derived from publicly indexed Google search results.
Is this an official Crexi tool?
No. It is an independent Apify Actor and is not affiliated with, supported by or endorsed by Crexi.
Why does the Crexi Email Scraper return more emails than identified people?
A single result block can expose an individual advisor address plus a team or deal inbox. Both are captured, deduplicated globally, and written as separate rows.
Which email domains should I use with the Crexi Email Scraper?
Start with the defaults @gmail.com and @yahoo.com, then add @outlook.com and @hotmail.com.
Independent and boutique advisors use consumer mailboxes far more often than institutional firms.
Can the Crexi Email Scraper target one asset class?
Yes, but put the asset class in keywords and keep location geographic.
["self storage broker", "net lease advisor"] with location: "Phoenix" works much better than cramming both into one field.
What does possiblyTruncated mean?
Google's snippet cut the text with an ellipsis close enough to the address that it may be incomplete. Treat those rows as leads to verify rather than send-ready contacts.
Why are some rows missing username and profileUrl?
Google sometimes prints only a display name for a page, with no handle to build a canonical /brokers/ URL from.
Those rows still carry a usable email plus accountName and fullName.
How do I get more results out of the Crexi Email Scraper?
Add keywords, add domains, raise maxEmails, keep expansion on, and split one broad run into several location-specific runs.
Merging with the CommercialSearch Email Scraper on email is the single most effective tactic.
Does a Crexi Email Scraper run resume if it is interrupted?
Yes. State lives in the key-value store keyed by an input hash, with saves on PERSIST_STATE, MIGRATING and ABORTING.
Do I need my own proxy?
No, but Apify proxy credentials are required, because the Crexi Email Scraper uses the Apify GOOGLE_SERP proxy.
How long does a Crexi Email Scraper run take?
It depends on maxEmails, maxPagesPerQuery and maxConcurrency.
Higher concurrency is faster but raises the chance of blocked pages, which the Actor detects and retries.
Related Actors
| Actor | What it collects |
|---|---|
| Crexi Email and Phone Number Scraper | Emails and phone numbers from Crexi |
| Crexi Phone Number Scraper | Public phone numbers from Crexi |
| Apartment List Email Scraper | Public contact emails from Apartment List |
| ApartmentFinder Email Scraper | Public contact emails from ApartmentFinder |
| Apartments.com Email Scraper | Public contact emails from Apartments.com |
| Century 21 Agent Email Scraper | Public contact emails from Century 21 |
| Coldwell Banker Agent Email Scraper | Public contact emails from Coldwell Banker |
| CommercialCafe Email Scraper | Public contact emails from CommercialCafe |
| CommercialSearch Email Scraper | Public contact emails from CommercialSearch |
| Compass Agent Email Scraper | Public contact emails from Compass |
| Domain Agents Email Scraper | Public contact emails from Domain |
| Homes & Land Email Scraper | Public contact emails from Homes & Land |
| Homes.com Email Scraper | Public contact emails from Homes.com |
| HotPads Email Scraper | Public contact emails from HotPads |
| Keller Williams Agent Email Scraper | Public contact emails from Keller Williams |
| Land And Farm Email Scraper | Public contact emails from Land And Farm |
| Land.com Email Scraper | Public contact emails from Land.com |
| LandWatch Email Scraper | Public contact emails from LandWatch |
| LoopNet Email Scraper | Public contact emails from LoopNet |
| OnTheMarket Email Scraper | Public contact emails from OnTheMarket |
| RealEstate.com.au Agents Email Scraper | Public contact emails from realestate.com.au |
| Realtor.ca Email Scraper | Public contact emails from Realtor.ca |
| Realtor.com Rentals Email Scraper | Public contact emails from Realtor.com |
| Redfin Rentals Email Scraper | Public contact emails from Redfin |
| RE/MAX Agent Email Scraper | Public contact emails from RE/MAX |
| Rent.com Email Scraper | Public contact emails from Rent.com |
| RentCafe Email Scraper | Public contact emails from RentCafe |
| Zillow Rentals Email Scraper | Public contact emails from Zillow |
| Zumper Email Scraper | Public contact emails from Zumper |
| Apartment List Email and Phone Number Scraper | Emails and phone numbers from Apartment List |
| ApartmentFinder Email and Phone Number Scraper | Emails and phone numbers from ApartmentFinder |
| Apartments.com Email and Phone Number Scraper | Emails and phone numbers from Apartments.com |
| Century 21 Email and Phone Number Scraper | Emails and phone numbers from Century 21 |
| Coldwell Banker Email and Phone Number Scraper | Emails and phone numbers from Coldwell Banker |
| CommercialCafe Email and Phone Number Scraper | Emails and phone numbers from CommercialCafe |
| CommercialSearch Email and Phone Number Scraper | Emails and phone numbers from CommercialSearch |
| Compass Email and Phone Number Scraper | Emails and phone numbers from Compass |
| Domain Email and Phone Number Scraper | Emails and phone numbers from Domain |
| Homes & Land Email and Phone Number Scraper | Emails and phone numbers from Homes & Land |
| Homes.com Email and Phone Number Scraper | Emails and phone numbers from Homes.com |
| Keller Williams Email and Phone Number Scraper | Emails and phone numbers from Keller Williams |
| Land And Farm Email and Phone Number Scraper | Emails and phone numbers from Land And Farm |
Leave a review
If the Crexi Email Scraper saved you time, please leave a star rating and a short review on the Actor page.
Reviews are how other buyers judge whether a tool works, and they tell us which features to build next.
If something did not work, email neurodata.apify@gmail.com instead - bugs get fixed faster than they get complained about.
Support
Questions about the Crexi Email Scraper, bug reports or a request for a custom build: contact neurodata.apify@gmail.com.