Distressed Property Scraper — Tax Delinquent & Pre-Foreclosure
Pricing
from $60.00 / 1,000 enriched leads
Distressed Property Scraper — Tax Delinquent & Pre-Foreclosure
Pull a tax delinquent properties list, pre-foreclosure list, sheriff sale list, code violations, vacant property & probate leads from US county/city records — fused per property, scored for distress, and skip-traced to a callable owner. Motivated seller leads, pay-per-event, first 20 rows free.
Pricing
from $60.00 / 1,000 enriched leads
Rating
0.0
(0)
Developer
Domin Vo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Distressed Property AI Scraper turns every public distress signal into clean motivated seller leads — a tax delinquent properties list, pre-foreclosure list, sheriff sale list, code violations, and probate leads — fused per property, scored, and enriched to a callable owner.
Pull a tax delinquent properties list, a pre-foreclosure list, a sheriff sale list, a tax lien properties list, code violations, vacant property registries, and probate filings from official county and city sources across 17+ US metros. The Actor deduplicates every signal onto one property, computes a DISTRESS-SCORE, and optionally does skip tracing to find the owner's phone — giving real estate wholesalers and fix-and-flip investors a motivated seller lead list that rivals PropStream credits at a fraction of the cost.
It's a real PropStream alternative / API for the automation buyer: pulled direct from county and city open data (Socrata SODA, ArcGIS REST, county recorder feeds), not a reseller feed that can vanish or raise prices.
What does Distressed Property AI Scraper do?
It scrapes pre-public distress triggers, fuses them per property, and scores motivation. Pick the mode that matches the list you want:
| Lead list you want | Mode to start with | What you get |
|---|---|---|
| Tax delinquent properties list / tax lien properties list | tax_delinquent | Unpaid-tax & tax-lien parcel rows by county |
| Pre-foreclosure list | pre_foreclosure | Notice-of-default rows from the county recorder |
| Sheriff sale list / trustee sale list / foreclosure auction list | foreclosure_auctions | Sheriff & trustee sale dates and parcels |
| Code violation property list | code_violations | Address + violation type, 13–17 metros |
| Vacant property list / condemned property list | vacant_registry | Registered vacant / blighted / condemned parcels |
| Probate leads (real estate) | probate_filings | Decedent + parcel from county probate |
| Absentee owner list | absentee_owner | Deed-vs-mailing mismatch owners |
| High equity property list | high_equity | Assessment-vs-mortgage equity headroom |
| Fused distress score | distress_match | One row per property, all stacked signals, scored |
| Enriched callable lead | enriched_lead | Distress match + owner name, mailing, phone |
All data is pulled direct from free public sources — Socrata SODA, ArcGIS REST, county recorder feeds — not from a reseller that can vanish or raise prices.
Why use this motivated seller leads scraper?
- Beat the market. Catch motivated sellers before they list publicly. Tax-delinquent, pre-foreclosure, and sheriff-sale owners are weeks to months ahead of the MLS.
- One API, every trigger. Tax delinquent list + tax liens + code violations + vacant property list + pre-foreclosure + probate, all in one run. No juggling five subscriptions.
- The fusion moat. Other tools dump raw events. This Actor deduplicates signals onto a single parcel key and hands you a ranked distress score — so your dialer works the hottest leads first.
- Built-in skip tracing for real estate. Optionally enrich any distress match to a callable owner phone and mailing address — no separate skip-trace subscription.
- Price vs incumbents. $0.06 per enriched lead (owner + phone) vs $0.12+ per PropStream credit. First 20 result rows per run are always free.
- AI-first output. Clean structured JSON with a distress score, ready for a wholesaler's dialer, an LLM workflow, or a spreadsheet.
- No reseller dependency. Data is fetched directly from official city/county open-data portals — a true source-direct PropStream alternative, not a third-party feed that can vanish.
Who is this for?
| Persona | Best modes |
|---|---|
| P1 — Real estate wholesalers (wholesale real estate leads) | enriched_lead, distress_match, pre_foreclosure, tax_delinquent, probate_filings |
| P2 — Fix-and-flip / buy-and-hold investors | distress_match, code_violations, vacant_registry, high_equity, absentee_owner |
How to use Distressed Property AI Scraper
- Open the Actor on Apify and click Try for free.
- Pick a
mode: start withcode_violationsortax_delinquentfor the fastest signal. - Set
cities(e.g.["Chicago", "Philadelphia"]) orcountiesfor county-based modes. - For
enriched_lead, provide a skip-trace Actor ID or API key in the input. - Click Save & Start and download results from the Output tab.
Quickest first test: leave the default mode as code_violations, set cities to ["Chicago"], and run. You'll get signal rows in under 2 minutes.
Input example
{"mode": "distress_match","cities": ["Chicago", "Philadelphia"],"signals": ["code_violations", "tax_delinquent", "vacant_registry"],"output_format": "json"}
For enriched leads with skip tracing:
{"mode": "enriched_lead","cities": ["Chicago"],"skip_trace_actor_id": "YOUR_SKIP_TRACE_ACTOR_ID","output_format": "json"}
Output
signal_record (raw distress signal)
{"sha256": "a3f9c1...","mode": "code_violations","parcel_key": "1420-N-CLARK-ST-CHICAGO-IL-60610","address": "1420 N Clark St, Chicago, IL 60610","signal_date": "2026-05-01","payload": {"violation_type": "FAILED EXTERIOR","status": "OPEN","source": "chicago_socrata","dataset_id": "wvhk-k5uv"}}
distress_match (fused + scored)
{"sha256": "b7d2e8...","mode": "distress_match","parcel_key": "1420-N-CLARK-ST-CHICAGO-IL-60610","address": "1420 N Clark St, Chicago, IL 60610","signal_date": "2026-05-01","payload": {"distress_score": 7.4,"signal_count": 3,"signals": ["code_violations", "tax_delinquent", "vacant_registry"],"absentee_owner": true,"days_since_oldest_signal": 42}}
enriched_lead (callable owner)
{"sha256": "c9a4f2...","mode": "enriched_lead","parcel_key": "1420-N-CLARK-ST-CHICAGO-IL-60610","address": "1420 N Clark St, Chicago, IL 60610","signal_date": "2026-05-01","payload": {"distress_score": 7.4,"signal_count": 3,"signals": ["code_violations", "tax_delinquent", "vacant_registry"],"owner_name": "JAMES R EXAMPLE","owner_mailing": "500 W Madison St, Chicago, IL 60661","phone": "+13125550123","absentee_owner": true}}
You can download results as JSON, CSV, Excel, or NDJSON. JSON streams to the Apify dataset; other formats are saved as files in the key-value store.
Data fields
| Field | Meaning |
|---|---|
sha256 | Stable fingerprint per record — use for change detection between runs |
mode | The signal or composite mode that produced this row |
parcel_key | Normalized USPS Pub-28 address key — stable dedup identifier across sources |
address | Raw address string from the source |
signal_date | Date the signal was recorded at the source |
payload.distress_score | Computed DISTRESS-SCORE (see explainer below) — only on distress_match / enriched_lead |
payload.signal_count | Number of distinct distress signals stacked on this parcel |
payload.signals | List of signal modes that fired on this parcel |
payload.owner_name | Skip-traced owner name — only on enriched_lead |
payload.phone | Skip-traced phone number — only on enriched_lead |
DISTRESS-SCORE explainer
The DISTRESS-SCORE is a weighted sum of all signals stacked on one parcel, with owner-state multipliers.
Signal weights (additive):
| Signal | Base weight | Why |
|---|---|---|
tax_delinquent | 3.0 | Financial default — highest urgency |
pre_foreclosure | 3.0 | Active foreclosure timeline — time-critical |
foreclosure_auctions | 2.5 | Sheriff/trustee sale date set — near-term forced sale |
probate_filings | 2.0 | Estate/heir — motivated to liquidate |
code_violations | 1.5 | Deferred maintenance — can't or won't fix |
vacant_registry | 1.5 | Abandoned / blighted — owner disengaged |
demolition_permits | 1.0 | City has given up — owner likely motivated |
Owner-state multipliers:
| Condition | Multiplier |
|---|---|
absentee_owner (deed vs mailing mismatch) | ×1.3 |
high_equity (assessment vs mortgage headroom) | ×1.2 |
Score = sum of signal weights × applicable multipliers. A Chicago property with tax_delinquent + code_violations + vacant_registry and an absentee owner scores (3.0 + 1.5 + 1.5) × 1.3 = 7.8.
Scores above 5 are strong leads for a wholesaler's dialer. Scores above 8 suggest multiple financial defaults — prioritize these.
PropStream alternative: vs PropStream, BatchLeads & DealMachine
Looking for a PropStream alternative, a PropStream API, or a BatchLeads / DealMachine alternative you can automate? This Actor steals the enterprise vocabulary — motivated seller, distress signals, skip trace, absentee owner, high equity — and undercuts on per-lead price with a pure API.
| This Actor | PropStream | BatchLeads | DealMachine | |
|---|---|---|---|---|
| Access | API-first (Apify) | Web app + limited API | Web app + API | App (driving for dollars) |
| Pricing | $0.06 / enriched lead, 20 free/run | ~$100/mo seat + credits | ~$100/mo + skip credits | ~$60–120/mo + credits |
| Data source | Source-direct county/city open data | Aggregated third-party feed | Aggregated feed | Aggregated feed |
| Cross-signal fusion | Yes — scored distress match | No (filter flags) | No | No |
| Pre-public triggers | Yes (tax, NOD, probate, sheriff sale) | Partial | Partial | Limited |
Why it wins: PropStream charges $0.12+ per phone-enriched lead on credits; this Actor delivers the same callable lead for $0.06, source-direct, on your own schedule and format. No seat fee, no monthly minimum.
How much does it cost to pull motivated seller leads?
This Actor uses pay-per-event pricing. The first 20 result rows per run are free.
| Output type | Price per row | What you get |
|---|---|---|
| Raw signal record | $0.002 | One address + signal event |
| Owner attribute | $0.003 | Absentee owner / high-equity flag |
| Distress match (fused) | $0.02 | One property, all signals stacked, scored |
| Enriched lead (callable) | $0.06 | Distress match + owner name, mailing, phone |
vs PropStream credits: PropStream charges $0.12+ per phone-enriched lead. This Actor delivers the same callable lead for $0.06 — and you control the data source, schedule, and format.
For full pricing, check the Pricing tab on the Actor page.
Tips for best results
- Start with
code_violationsin Chicago — dense, daily-updated, fast to verify. - Run
distress_matchbeforeenriched_lead— filter bydistress_score > 4before paying for skip tracing. - For county modes (
pre_foreclosure,tax_delinquent,foreclosure_auctions), the quality varies by county. NYC, Cook County (Chicago), and Philadelphia are the most reliable starting points. - Use
output_format: "csv"to open results directly in Excel or import to your dialer.
Use from Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("dominvo/distressed-property-ai-scraper").call(run_input={"mode": "distress_match","cities": ["Chicago"],"signals": ["code_violations", "tax_delinquent"],})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["payload"]["distress_score"], row["address"])
FCRA Disclaimer
This Actor is intended for making real estate purchase offers and investment research only.
Data from this Actor may NOT be used for:
- Tenant screening or rental decisions
- Credit decisions or creditworthiness evaluation
- Employment screening or background checks
- Any other purpose regulated by the Fair Credit Reporting Act (FCRA), 15 U.S.C. § 1681 et seq.
Using this data for FCRA-regulated purposes without complying with FCRA requirements is illegal. You are solely responsible for your use of the output.
FAQ and support
Is this a PropStream alternative?
Yes — it's a source-direct, API-first PropStream alternative for the automation buyer. Instead of a monthly seat plus credits, you pay per result ($0.06 per enriched lead) and pull data straight from county/city open-data portals. It also serves as a PropStream API, BatchLeads API, or DealMachine alternative for anyone who wants motivated seller leads inside their own workflow.
Is this legal to use?
The source data is pulled from official public government portals (city open-data APIs, county recorder sites). Accessing public records for investment research is legal in the US. You are responsible for how you use the results — see the FCRA disclaimer above.
Does this scrape PropStream or BatchLeads?
No. Data is pulled directly from official city/county open-data sources (Socrata, ArcGIS, county recorder feeds). No third-party reseller is involved.
Which cities and counties are covered?
Socrata cities: NYC, Chicago, Los Angeles, Dallas, Austin, Fort Worth, San Francisco, Seattle.
ArcGIS cities: San Jose, Columbus, Charlotte, Indianapolis, Washington DC, Philadelphia.
County modes (pre_foreclosure, tax_delinquent, foreclosure_auctions, probate_filings) coverage varies — NYC, Cook County (Chicago), and Philadelphia are the gold tier with most reliable data.
What is skip tracing and why is it separate?
Skip tracing is the process of finding a property owner's phone number and mailing address from public deed/assessment records. It requires a paid third-party API. This Actor isolates skip tracing behind the enriched_lead mode — you only pay for it when you need a callable number, not for every raw signal.
Can I schedule a daily tax delinquent or pre-foreclosure list?
Yes. Use Apify schedules to run the Actor daily, weekly, or on any cron. Each record carries a stable SHA-256 fingerprint, so you can dedupe against your prior pulls on your side.
Where do I get help?
Open the Issues tab on the Actor page for bugs, missing cities, or feature requests.