InvestorLift · Wholesale Deals, Emails & Phones
Pricing
from $1.99 / 1,000 deal retrieveds
InvestorLift · Wholesale Deals, Emails & Phones
Export InvestorLift wholesale deals — prices, cities, seller company. Optional emails and phones published on the company site. Active, sold history, or paste URLs. No login.
Pricing
from $1.99 / 1,000 deal retrieveds
Rating
5.0
(1)
Developer
Corentin Robert
Maintained by CommunityActor stats
2
Bookmarked
68
Total users
12
Monthly active users
6 days ago
Last modified
Categories
Share
InvestorLift · Wholesaler Contacts, Emails & Phones
Get the wholesaler behind every InvestorLift deal — company, email, phone and LinkedIn — plus the deal numbers you underwrite with.
Turn InvestorLift, the largest US wholesale / off-market marketplace, into a ready-to-call list of wholesalers and their deals: CRM import, cold outreach, JV partner sourcing, comps.
No login. No InvestorLift account. No API key.
Free Apify plan: 20 deals per run. Paid plans export up to your pay-per-event budget.
Why this Actor
| This Actor | |
|---|---|
| Wholesaler email / phone / LinkedIn from the company site | ✅ never invented |
Contacts written in the listing text (listing_email, listing_phone) | ✅ new |
| Active, Sold + pending history, or paste URLs / IDs | ✅ |
| New listings only for daily schedules (pay only for fresh deals) | ✅ new |
| Deal metrics: price, ARV, % of ARV, gross margin / spread, views, days on InvestorLift | ✅ |
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| Wholesale buyer / investor | Fill a deal pipeline | Active mode |
| Acquisitions / outbound SDR | Contact wholesalers | Active + Find public website… ON |
| Analyst / underwriter | Comps from sold inventory | Historical (sold + pending) |
| Operator with a watch list | Enrich URLs you already saved | Specific — paste deal URLs or IDs |
| Data / ops | Scheduled master table | Active + date picker; raise timeout for history |
What you get on Start (Console Try): Florida active deals plus published website / email / phone when the company site has them.
Without seller-site lookup: address, asking price, beds/baths, status, wholesaler company, and deal URL.
Typical fill rates (Florida + Texas sample, 26 unique wholesalers, Find public website on): about 2 in 5 company sites, 1 in 5 published mailboxes, 1 in 5 phones. Never invented — InvestorLift cards do not include inboxes.
New listings only (scheduled runs)
Tick New listings only and schedule the Actor (daily or hourly). Each run remembers the deals it already delivered for the same mode, states, cities and price range, and only exports new ones. You never pay twice for the same deal.
Quick start
Three minutes to your first dataset:
- Open the Input tab.
- Leave Mode on Active, Florida selected, and Find public website… ticked.
- Click Start, then download the Dataset (Outreach view for CRM columns).
Uncheck Find public website… or clear US states if you only want a nationwide deal dump.
Ready-made examples (published tasks)
One-click presets under the Actor Examples tab. Browse all examples →
What it extracts
| Category | Fields |
|---|---|
| Routing & geography | city, state_code, county, zip, latitude, longitude |
| Deal economics | price, bedrooms, bathrooms, sq_footage, lot_size, ARV / margin when present |
| Seller & trust | wholesaler_company, wholesaler_name, account_title, wholesaler_rating, wholesaler_review_count |
| Public site (optional) | website, email, phone, linkedinUrl — only when Find public website… is on |
| Timing & traction | days_on_il, page_views, published_at, expires_at |
| Narrative | description, condition, property_type, img_url, property_page_url |
| Lineage | source: available, historical, or bulk |
Dataset views: Overview (table) · Outreach (CRM columns including website / email / phone).
How much does it cost to scrape InvestorLift?
HTTP-only (no browser). You pay per deal written. Optional seller-site lookup bills a higher event when a website, phone, or email is actually found. No separate run-start fee.
Prices below are list PPE for 1,000 deals (compute on 512 MB is usually a few cents extra).
| Scenario | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| 20 deals, no site lookup | ~$0.07 | ~$0.06 | ~$0.05 | ~$0.04 |
| 1,000 deals, no site lookup | ~$3.49 | ~$2.99 | ~$2.49 | ~$1.99 |
| 1,000 deals, all with a published mailbox | ~$11.99 | ~$10.99 | ~$9.99 | ~$8.99 |
Free Apify plan: 20 deals per run. Raise Timeout in Run options for full historical exports. Default memory 512 MB is enough.
Is it legal to scrape InvestorLift?
This Actor only reads data InvestorLift shows on public listing pages. It does not log into a private InvestorLift account.
Deal rows can include business contact names. Ensure your use complies with GDPR, CAN-SPAM, and local marketing rules. See Apify's guide to web scraping legality.
Modes
| Mode | Best for | Typical runtime |
|---|---|---|
| Active | Current listings | Minutes |
| Historical | Sold + pending | Hours — raise run timeout if needed |
| Specific | Your own URL/ID list | Depends on list size |
| Active + date filter | Listed in this window | Minutes |
Use Listed from / until (calendar) only with Active. US states, Cities, and min/max asking price apply in every mode. Empty = nationwide / no price bound. Filters do not speed up Historical — they only keep matching rows.
Output sample
{"id": "1234567","title": "3/2 in Tampa — wholesale","city": "Tampa","state_code": "FL","price": "185000","bedrooms": "3","bathrooms": "2","status": "available","wholesaler_company": "Sunbelt Offers LLC","wholesaler_name": "Jordan Hale","wholesaler_rating": 4.8,"wholesaler_review_count": 12,"days_on_il": 3,"property_page_url": "https://investorlift.com/marketplace/p/1234567","source": "available","website": "https://sunbeltoffers.com","email": "deals@sunbeltoffers.com","phone": "+18135550100","linkedinUrl": null}
email / phone / website stay null unless Find public website… is on and the company site publishes them.
Input
| Parameter | Console | Notes |
|---|---|---|
scrapeMode | Mode | active_only · historical · specific |
dealIds | Deal URLs or IDs | Specific only — one URL or numeric ID per line |
dateRangeStart / dateRangeEnd | Listed from / until | Active only — calendar; empty = no bound |
states | US states | Multi-select. Console Try prefills Florida. Empty = nationwide |
cities | Cities | One city per line. Empty = all cities |
minPrice / maxPrice | Min / max asking price ($) | Optional buy-box bounds |
findSellerContacts | Find public website… | Console Try prefills on. API omit = off. Higher PPE when email/phone/site found |
maxItems | Max deals | Try 8. Schema default 20. 0 = no cap. Free plan: 20 / run |
enrichWithDetails | Hidden / API | Description + seller fields (true when site lookup is on) |
excludeIds | API | Skip known IDs |
detailConcurrency | API | Parallel detail fetches (default 64, max 128) |
verboseLogs | API | Extra diagnostics in the run log |
Example:
{"scrapeMode": "active_only","findSellerContacts": true,"maxItems": 20}
Troubleshooting
| Issue | What to do |
|---|---|
| Timeout on Historical | Resurrect the run or relaunch; raise Timeout in run options (e.g. 8 h). |
| Empty or thin Active export | Clear dates / states / cities / price, or try again later if the marketplace is briefly unavailable. |
| No description / wholesaler columns | Set "enrichWithDetails": true in JSON input (also implied when site lookup is on). |
| Few emails | Expected — about 1 in 5 unique wholesalers on a FL/TX sample. Site lookup only keeps published company contacts. |
Resume / checkpoint
On failure, a Resurrect or rerun with the same input skips deals already in the dataset. For long Historical jobs: resurrect → optionally increase timeout → continue without duplicating rows.
Local development
$npm install
Create storage/key_value_stores/default/INPUT.json:
{"scrapeMode": "active_only","maxItems": 5}
Then:
$apify run
Unit tests (no network): npm test · Integration (live site): npm run test:integration
FAQ
Do I need an InvestorLift login?
No.
Will every row have an email?
No. Marketplace listings do not include seller inboxes. Enable Find public website… — on a Florida + Texas sample, about one in five unique wholesalers had a published mailbox.
Can I run it on a schedule?
Yes. Use Apify Schedules for a weekly active export.
Why did Historical stop early?
The run timeout (default 1 hour) is often too short for full sold history. Raise it and resurrect.
Also available
| Actor | Use when |
|---|---|
| This Actor — InvestorLift | US wholesale deals and wholesaler companies |
| French Real Estate Agents Hub | France advisor CRM (multi-network) |
| PagesJaunes Local Leads | French local businesses — email/website when published |
| Booking Pro Host | Hotel / STR company emails by city |
Support
Questions, custom scrapers, or CRM wiring: corentin@outreacher.fr or the Issues tab on the Actor page.