Distressed Property Scraper — Tax Delinquent & Pre-Foreclosure avatar

Distressed Property Scraper — Tax Delinquent & Pre-Foreclosure

Pricing

from $60.00 / 1,000 enriched leads

Go to Apify Store
Distressed Property Scraper — Tax Delinquent & Pre-Foreclosure

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

Domin Vo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 wantMode to start withWhat you get
Tax delinquent properties list / tax lien properties listtax_delinquentUnpaid-tax & tax-lien parcel rows by county
Pre-foreclosure listpre_foreclosureNotice-of-default rows from the county recorder
Sheriff sale list / trustee sale list / foreclosure auction listforeclosure_auctionsSheriff & trustee sale dates and parcels
Code violation property listcode_violationsAddress + violation type, 13–17 metros
Vacant property list / condemned property listvacant_registryRegistered vacant / blighted / condemned parcels
Probate leads (real estate)probate_filingsDecedent + parcel from county probate
Absentee owner listabsentee_ownerDeed-vs-mailing mismatch owners
High equity property listhigh_equityAssessment-vs-mortgage equity headroom
Fused distress scoredistress_matchOne row per property, all stacked signals, scored
Enriched callable leadenriched_leadDistress 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?

PersonaBest 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 investorsdistress_match, code_violations, vacant_registry, high_equity, absentee_owner

How to use Distressed Property AI Scraper

  1. Open the Actor on Apify and click Try for free.
  2. Pick a mode: start with code_violations or tax_delinquent for the fastest signal.
  3. Set cities (e.g. ["Chicago", "Philadelphia"]) or counties for county-based modes.
  4. For enriched_lead, provide a skip-trace Actor ID or API key in the input.
  5. 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

FieldMeaning
sha256Stable fingerprint per record — use for change detection between runs
modeThe signal or composite mode that produced this row
parcel_keyNormalized USPS Pub-28 address key — stable dedup identifier across sources
addressRaw address string from the source
signal_dateDate the signal was recorded at the source
payload.distress_scoreComputed DISTRESS-SCORE (see explainer below) — only on distress_match / enriched_lead
payload.signal_countNumber of distinct distress signals stacked on this parcel
payload.signalsList of signal modes that fired on this parcel
payload.owner_nameSkip-traced owner name — only on enriched_lead
payload.phoneSkip-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):

SignalBase weightWhy
tax_delinquent3.0Financial default — highest urgency
pre_foreclosure3.0Active foreclosure timeline — time-critical
foreclosure_auctions2.5Sheriff/trustee sale date set — near-term forced sale
probate_filings2.0Estate/heir — motivated to liquidate
code_violations1.5Deferred maintenance — can't or won't fix
vacant_registry1.5Abandoned / blighted — owner disengaged
demolition_permits1.0City has given up — owner likely motivated

Owner-state multipliers:

ConditionMultiplier
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 ActorPropStreamBatchLeadsDealMachine
AccessAPI-first (Apify)Web app + limited APIWeb app + APIApp (driving for dollars)
Pricing$0.06 / enriched lead, 20 free/run~$100/mo seat + credits~$100/mo + skip credits~$60–120/mo + credits
Data sourceSource-direct county/city open dataAggregated third-party feedAggregated feedAggregated feed
Cross-signal fusionYes — scored distress matchNo (filter flags)NoNo
Pre-public triggersYes (tax, NOD, probate, sheriff sale)PartialPartialLimited

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 typePrice per rowWhat you get
Raw signal record$0.002One address + signal event
Owner attribute$0.003Absentee owner / high-equity flag
Distress match (fused)$0.02One property, all signals stacked, scored
Enriched lead (callable)$0.06Distress 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_violations in Chicago — dense, daily-updated, fast to verify.
  • Run distress_match before enriched_lead — filter by distress_score > 4 before 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 ApifyClient
client = 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.

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.