Investorlift Scraper
Pricing
$19.00/month + usage
Investorlift Scraper
Extract comprehensive data from InvestorLift marketplace properties including property details, pricing, location data, and account information. Intelligently fetches the complete list of available properties first, then processes them in parallel batches for maximum efficiency.
Pricing
$19.00/month + usage
Rating
5.0
(1)
Developer
Corentin Robert
Actor stats
1
Bookmarked
5
Total users
4
Monthly active users
1.8 days
Issues response
13 days ago
Last modified
Categories
Share
InvestorLift Marketplace Scraper
Bulk-extract wholesale real estate deals from the InvestorLift marketplace — active listings, sold/expired historical, or date-filtered. Minimal UI. Checkpoint and resume for long runs.
Built for: Lead generation · Off-market deal sourcing · Wholesale real estate investors · Deal flow aggregation
What does it do?
The InvestorLift Marketplace Scraper extracts wholesale real estate listings from InvestorLift — a marketplace for off-market deals in the US.
| Mode | What you get | Speed |
|---|---|---|
| Active | Current listings via API | ~1 min |
| Historical | Sold & expired deals (range auto-detected) | ~2–4 h |
| Specific deals | Enrich URLs or IDs you provide | Depends on count |
| Date range | Active listings filtered by list date | ~1 min |
Full details (enabled by default): Fetches each deal for wholesaler (company, contact), description, condition, lot size, images. Maximum data quality. Pass enrichWithDetails: false via API for faster runs with fewer fields.
Input (minimal)
| Field | Description |
|---|---|
| Mode | Active · Historical · Specific deals · Date range |
| Deal URLs or IDs | For Specific deals — paste one per line |
| Listed from / until | For Date range — YYYY-MM-DD |
| Full details | Enabled by default. Pass enrichWithDetails: false via API to disable. |
| Proxy | Residential US recommended for full results |
Range for Historical is auto-detected from the API. No Start/Stop IDs to set.
Output
| Category | Fields |
|---|---|
| Identity | id, title, property_type, condition, status |
| Location | city, state_code, county, zip |
| Specs | price, bedrooms, bathrooms, sq_footage, lot_size |
| Wholesaler | wholesaler_name, wholesaler_company, account_title, wholesaler_rating, wholesaler_review_count |
| Metrics | days_on_il, page_views, published_at, expires_at |
| Details | description, img_url (when Full details enabled) |
How to use
Active listings (default)
- Set Mode to Active
- Click Start
- Download from Dataset tab
Historical (sold/expired)
- Set Mode to Historical
- Add Proxy (Residential US)
- Click Start
- Long run — use Resurrect if it times out; progress is checkpointed every 2000 IDs
Full details (wholesaler, description, etc.)
Enabled by default for maximum data quality. To disable (faster, fewer fields), pass enrichWithDetails: false in your input.
Resume / checkpoint
For long runs (Historical), the Actor saves checkpoints every 2000 IDs. If the run times out:
- Runs → find your run → Resurrect (or relaunch with same input)
- Optionally increase Timeout (e.g. 28800 = 8 h) before resurrecting
- Progress resumes from last checkpoint — no duplicate work
Local development
$npm install
Create storage/key_value_stores/default/INPUT.json:
{"scrapeMode": "active_only"}
Then:
$apify run
Troubleshooting
| Issue | Solution |
|---|---|
| Timeout | Resurrect to resume. Increase timeout in Run options. |
| Blocked / 403 | Enable residential proxy. |
| Empty results | Use proxy. Check date format (YYYY-MM-DD). |
| Missing description | Enable Full details. |
| Wholesaler columns empty | Enrichment is on by default. If disabled via API, re-run with default input. |
API input (advanced)
All parameters can be passed via API. Hidden UI fields use defaults:
{"scrapeMode": "historical","proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }}
| Parameter | Default | Notes |
|---|---|---|
scrapeMode | active_only | active_only, historical, specific |
dealIds | — | For specific mode |
dateRangeStart / dateRangeEnd | — | YYYY-MM-DD |
enrichWithDetails | true | Set to false for faster runs with fewer fields |
proxyConfiguration | — | Residential US recommended |
Ready? Pick Active or Historical, add proxy for large runs, and click Start.