InvestorLift · Off-Market Deals & Wholesalers
Pricing
from $1.99 / 1,000 deal retrieveds
InvestorLift · Off-Market Deals & Wholesalers
Export InvestorLift wholesale deals — prices, locations, wholesaler contacts, sold history. One clean dataset for CRM, comps or deal flow. No login.
Pricing
from $1.99 / 1,000 deal retrieveds
Rating
5.0
(1)
Developer
Corentin Robert
Maintained by CommunityActor stats
2
Bookmarked
52
Total users
21
Monthly active users
4 days ago
Last modified
Categories
Share
InvestorLift Marketplace Scraper
Turn InvestorLift — a US wholesale / off-market deal marketplace — into structured rows you can use: CRM, cold outreach, market maps, comps, or internal deal flow. No manual copy-paste from the marketplace UI.
No login. No InvestorLift account. No API key.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| Wholesale buyer / investor | Fill a deal pipeline | Active mode, first 50–200 rows |
| Acquisitions / outbound SDR | Contact wholesalers | Active + Enrich with full details ON |
| Analyst / underwriter | Comps from sold inventory | Historical (sold + pending) |
| Operator with a watch list | Enrich URLs you already saved | Specific mode — paste deal URLs or IDs |
| Data / ops | Scheduled master table | Active + dates; raise run timeout for history |
What you get by default: address, price, beds/baths, status, wholesaler company, and deal URL.
When to enable enrichment: turn Enrich with full details ON when you need seller name, rating, description, and condition for personalized outreach.
Why use this Actor?
| You want to… | This helps you… |
|---|---|
| Fill a pipeline | Export hundreds or thousands of deals with location, price, and seller signals in one run. |
| Contact wholesalers | Optional enrichment: company, contact name, seller rating & review count, description, condition — so your team can personalize outreach. |
| See what already sold or went pending | Historical mode pulls sold and pending inventory for research and comp building. |
| Focus on fresh listings | Active mode + optional listed from / until dates to match your buy box timing. |
| Own a list of IDs | Specific mode: paste deal URLs or numeric IDs and enrich only those. |
| Survive long runs | Large historical crawls can resume after timeout or failure — already-saved deals are not duplicated. |
Technical note: Scraping uses HTTP + parsing (no headless browser farm), so runs stay predictable on Apify. Default memory is 512 MB.
Ready-made examples (published tasks)
Pre-configured Actor tasks — one-click runs for common workflows. They appear under the Actor Examples tab.
| Example | Best for |
|---|---|
| Export active InvestorLift wholesale deals | Current listings — deal sourcing |
| InvestorLift wholesaler contacts for outreach | Cold outreach — seller name & company |
| Export sold and pending InvestorLift deals | Comps / market research |
| Enrich InvestorLift deal URLs with seller data | Paste URLs or IDs |
| Export InvestorLift deals listed this month | Date-window active listings |
| InvestorLift active deals with seller details | Active + wholesaler enrichment |
| InvestorLift sold comps with seller details | Historical comps with seller |
| Export InvestorLift deals listed this week | Fresh weekly pipeline |
| Bulk enrich InvestorLift deal IDs for CRM | Several marketplace URLs |
| Larger InvestorLift active wholesale export | 40-deal sourcing sample |
| InvestorLift historical inventory sample | Bigger sold/pending sample |
| Enrich numeric InvestorLift IDs with sellers | Numeric IDs, no full URLs |
Modes
| Mode | Best for | Typical runtime |
|---|---|---|
| Active | Current listings | Minutes |
| Historical | Sold + pending (bulk history) | Hours — raise run timeout if needed |
| Specific | Your own URL/ID list | Depends on list size |
| Active + date filter | “Listed in this window” only | Minutes |
Use Listed from / until (YYYY-MM-DD) only with Active — they narrow listings by when they appeared on the marketplace.
Recommended input (first run)
- Choose Mode (usually Active to start).
- For full seller + description + ratings (best for outreach), pass
"enrichWithDetails": truein the API input or yourINPUT.json. The Console hides this field; the schema default isfalse, so set it explicitly when you need enrichment. - Start, then download the Dataset.
Output (what lands in your dataset)
| Use case | Fields (high level) |
|---|---|
| Routing & geography | city, state_code, county, zip, latitude, longitude |
| Deal economics | price, bedrooms, bathrooms, sq_footage, lot_size, ARV / margin fields when present |
| Seller & trust | wholesaler_company, wholesaler_name, account_title, wholesaler_rating, wholesaler_review_count, account_id |
| 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 |
Troubleshooting
| Issue | What to do |
|---|---|
| Timeout on Historical | Resurrect the run or relaunch; raise Timeout in run options (e.g. 8 h). |
| 403 / blocked | Site may rate-limit or block datacenter IPs — retry later or reduce concurrency via detailConcurrency. |
| Thin or empty rows | For Active, check date format YYYY-MM-DD; retry if the API returned nothing transiently. |
| No description / wholesaler columns | Set enrichWithDetails": true in input (see above). |
Resume / checkpoint
On failure, the Actor stores state so a Resurrect or rerun with the same input skips deals already present in the dataset (and associated ID tracking). For long Historical jobs: resurrect → optionally increase timeout → continue without duplicating rows.
API input (advanced)
All fields can be set via the Apify API. Console-visible fields are listed in the Actor input form; others are optional.
| Parameter | Notes |
|---|---|
scrapeMode | active_only · historical · specific |
dealIds | For specific — URLs or numeric IDs |
dateRangeStart / dateRangeEnd | Active only — filter by listed date |
enrichWithDetails | true recommended for outreach-quality rows; false for faster, lighter runs |
maxItems | Optional cap on how many deals to push (API / hidden) |
excludeIds | Skip known IDs (API) |
detailConcurrency | Parallel detail fetches (API; default 64, max 128) |
Example:
{"scrapeMode": "historical","enrichWithDetails": true}
Local development
$npm install
Create storage/key_value_stores/default/INPUT.json:
{"scrapeMode": "active_only","enrichWithDetails": true}
Then:
$apify run
Unit tests (no network): npm test · Integration (live site): npm run test:integration
How much does it cost to scrape InvestorLift?
HTTP-only (no browser). You pay per deal written to the dataset (pay-per-event). Compute is typically a few cents even on large runs.
| Scenario | Approx. cost |
|---|---|
| 5 deals (Console Try) | < $0.02 |
| 1,000 active listings | ~$2–4 depending on plan tier |
| Historical sample (20 rows) | < $0.10 |
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 and the public marketplace API. 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.