HUD Assisted Multifamily Housing Scraper - Section 8
Pricing
from $0.000035 / actor start
HUD Assisted Multifamily Housing Scraper - Section 8
Scrape HUD assisted multifamily housing (Section 8/202/811) from the official HUD ArcGIS — property, units, mgmt contact (name, phone, email), program, REAC score & subsidy contract-expiration dates. Filter by state/program + expiring-within-months. No API key. Export CSV/JSON.
Pricing
from $0.000035 / actor start
Rating
5.0
(1)
Developer
Flash Scrape
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
HUD Assisted Housing Scraper — Section 8 property leads with an expiring-contract deal score
Section 8 and HUD assisted-housing property leads with a built-in deal score and an expiring-contracts filter — the acquisition and preservation trigger that real-estate investors and PropTech teams can't get from any mainstream lead source. This actor pulls HUD's official Multifamily Assisted Properties database and turns the raw 280-column government export into contactable, scored rows: management contact (name, phone, email), subsidy programs, REAC inspection score, distress flags, and the HAP contract expiration date with a computed 0–100 deal_score. Direct from HUD's open-data service — no API key, no login, no proxies — and pay-per-result at $5 per 1,000 properties.
What it does
- Queries HUD's live ArcGIS open-data service (Multifamily Properties – Assisted) on every run — the same feed HUD publishes for public download, covering Section 8 (project-based), 202 (elderly), 811 (disabled), PRAC, RAP/Rent Supplement, BMIR, 236, and RAD-conversion properties.
- Flattens ~280 government fields into ~60 clean columns per property: identity, standardized address, coordinates, metro/county/tract context, unit counts, contract numbers, and expiration dates.
- Surfaces the outreach contact: management agent organization, contact full name, phone, email, project manager, and the on-site phone — with a
has_emailflag for quick filtering. - Computes a 0–100
deal_scorefrom expiration urgency (up to 30 pts for contracts rolling within 12 months), distress flags (troubled / in-default / watch-list / risk category, up to 35), REAC condition (up to 15), loan maturity within 36 months (10), and sub-85% occupancy (10) — with adeal_score_breakdownobject showing exactly how each component contributed. - Filters server- and client-side: state, city (prefix match), program, minimum units, contact-required, troubled-only, in-default-only, max occupancy, minimum deal score, and — the headline — contracts expiring within N months.
- Cleans government quirks: HUD's
-4"not reported" sentinels becomenullinstead of leaking fake negative rents into your model, and all date formats are normalized toYYYY-MM-DD. Results sort by soonestnext_expiration.
Use cases
- Affordable-housing acquirers & syndicators — build a state list of Section 8 properties whose HAP contract expires within 18 months, the classic preservation-deal trigger, before a broker ever lists them.
- LIHTC investors — a nationwide or state-by-state target list with real management contacts instead of weeks of county-assessor scraping.
- PropTech & data platforms — a clean, structured HUD dataset to power underwriting tools, deal-sourcing dashboards, and market intelligence.
- PACE/retrofit and agency lenders — reach management agents at properties with maturing debt or low REAC scores (value-add retrofit candidates).
- B2B vendors (insurance, compliance, service coordination) — a contactable list of HUD-assisted property managers segmented by state and program.
Input
| Field | Type | Default | Description |
|---|---|---|---|
state | string | "CA" | Two-letter US state code (e.g. TX, NY). Leave empty for nationwide. |
city | string | — | City name (optional, prefix match). |
program | string | "all" | all, section8 (project-based), or 202_811 (elderly/disabled). |
expiringWithinMonths | integer | 0 | The deal trigger: keep only properties whose subsidy contract expires within this many months (0–120; 0 = off). |
minUnits | integer | 0 | Keep only properties with at least this many total units (0 = off). |
onlyWithContact | boolean | false | Keep only properties with a management email or phone. |
troubledOnly | boolean | false | Keep only properties flagged troubled (distressed-asset targeting). |
inDefaultOnly | boolean | false | Keep only properties whose HUD loan is in default/delinquent. |
maxOccupancy | integer | — | Keep only properties at or below this occupancy % (lease-up upside). Empty = off. |
minDealScore | integer | 0 | Keep only properties scoring at or above this (0–100; 0 = off). |
maxItems | integer | 500 | Maximum properties to return (1–25,000). |
{"state": "CA","program": "section8","expiringWithinMonths": 18,"minUnits": 50,"onlyWithContact": true,"maxItems": 1000}
Every field is optional — an empty input returns a nationwide pull up to maxItems.
Output
One dataset row per property, sorted by soonest contract expiration. A trimmed example (each row carries ~60 fields, including financing, occupancy, and demographics columns not shown here):
{"property_id": 800012345,"property_name": "Sunset Terrace Apartments","address": "1200 W OLIVE AVE","city": "FRESNO","state": "CA","zip": "93728","latitude": 36.767,"longitude": -119.812,"metro_area": "Fresno, CA","total_units": 96,"assisted_units": 95,"programs": ["Sec 8 NC"],"programs_detail": ["Section 8 (project-based)"],"contracts": ["CA16M000123"],"contract_expirations": ["2027-09-30"],"next_expiration": "2027-09-30","mgmt_agent": "Pacific Property Management Inc","mgmt_contact": "Jane Smith","mgmt_phone": "(559) 555-0142","mgmt_email": "jsmith@pacificpm.com","site_phone": "(559) 555-0198","phone": "(559) 555-0142","has_email": true,"reac_score": 72,"reac_inspection_date": "2025-11-04","risk_category": "Medium","troubled": false,"on_watch_list": false,"in_default": false,"loan_maturity_date": "2029-06-01","pct_occupied": 92.0,"rent_per_month": 1184.0,"deal_score": 30,"deal_score_breakdown": {"expiration_urgency": 20,"distress": 0,"condition": 8,"loan_maturity": 0,"occupancy": 0}}
Other columns include fha_number, original_loan_amount, debt_service_coverage_ratio, hud_held, hud_owned, rent_to_fmr_ratio, avg_tenant_income, pct_elderly_62plus, pct_disabled, unit-mix percentages, is_section8, is_202_811, and the HUD field office (hud_hub).
Example output
A real sample from a live run:
| property_name | city | state | total_units | assisted_units | mgmt_agent | mgmt_phone |
|---|---|---|---|---|---|---|
| Almaden Garden Apartments | San Jose | CA | 52 | 36 | DKD Property Management Company | (408) 297-7849 ext. 103 |
| VILLAGE WAY | Chatsworth | CA | 8 | 6 | VALLEY VILLAGE | 818 587 9450 X 132 |
| LAS PALMAS | Los Angeles | CA | 74 | 74 | WSH Management Inc | 949-748-8209 |
| NEW WEST I | Bloomington | CA | 4 | 4 | American Real Property Management, Inc. | (213) 252-5997 |
Pricing
This actor uses Apify pay-per-event pricing: $5 per 1,000 properties ($0.005 per result), effective from mid-July 2026. You're charged only for the property rows delivered after your filters — no subscription, no charge for empty runs. A 1,000-row pull of expiring Section 8 contracts in a state costs $5; a 25,000-row nationwide pull costs $125. The free Apify plan is enough to try it — test the deal score and expiring-contract filter on a real state list at no cost.
Tips / FAQ
Is it legal to scrape HUD housing data? Yes. The source is HUD's own public Multifamily Properties – Assisted ArcGIS open-data service — the same data HUD publishes for download. No login, no circumvention, no private data.
How fresh is the data? Every run queries HUD's live feature service — there's no cached snapshot. Data is as current as HUD's latest published update.
What drives a high deal_score? A subsidy contract expiring within 12–36 months, troubled/in-default/watch-list flags, a REAC score below 80 (more below 60), an FHA loan maturing within 36 months, and occupancy under 85%. Check deal_score_breakdown to see each component.
Why are some rents or demographics null? HUD marks unreported survey values with negative sentinel codes (e.g. -4). This actor maps those to null rather than passing fake numbers into your underwriting.
What if HUD's service is down? The actor retries transient errors with backoff; if HUD is completely unreachable, the run ends gracefully with a "temporarily unavailable — please retry" message and you're charged nothing.
Can I get only properties with a contact? Yes — onlyWithContact: true drops any property without a management email or phone, so every row you pay for is actionable.
Related actors
- Bulk Email Verifier — verify management-contact emails before an outreach campaign
- Company & Domain Enricher — turn management-company domains into full firmographic records
- Local Business Leads Scraper — any local business category by city, with contact enrichment
Support: found a bug or need a feature? Open an Issue on this actor's Issues tab — typical response within 1 business day.