# HUD Home Store Scraper \[$2.50/1K💰] | REO | Contacts (`ahmed_jasarevic/hudhomestore-scraper`) Actor

Scrape HUD Home Store REO foreclosure listings with prices, beds/baths, FHA flags, bid deadlines, asset manager and broker contacts, photos and coordinates. Built for REO investors and agents.

- **URL**: https://apify.com/ahmed_jasarevic/hudhomestore-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.40 / 1,000 listing results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Hudhomestore Scraper

Scrape HUD Home Store REO foreclosure listings — list prices, beds/baths, FHA financing flags, bid deadlines, asset manager and listing broker contacts, photos and coordinates — for a state, city, ZIP, case number or the entire United States.

### Source HUD-Owned Foreclosures And Build REO Deal Flow

- Source HUD-owned REO inventory for fix-and-flip and buy-and-hold underwriting
- Track new listings, price reductions and bid deadlines by state or metro
- Filter by FHA insurability, the $100 Down program and 203(k) eligibility
- Collect asset manager, listing broker and field service manager contacts
- Build a HUD foreclosure dataset for lending, brokerage or property-data products

### How It Works

![How the Hudhomestore Scraper turns a state, city or case number into a dataset of HUD REO homes with prices, FHA flags and broker contacts.](https://api.apify.com/v2/key-value-stores/oeuA0kLOyhbRM4fzt/records/how-it-works-hudhomestore-scraper.webp)

The Actor collects publicly available HUD Home Store REO listings and normalizes them into one schema. Search by state, city, ZIP, case number or nationwide; it reads the published listing and property detail pages, then writes one row per home.

- `searchTerms` accepts a state, city and state, ZIP plus city and state, or a HUD case number.
- `searchUrls` accepts pasted HUD search or property URLs.
- `includeDetails` adds property facts, FHA flags, bid dates, contacts, photos and addendums.

Each row is one HUD home with address, county, price, property facts, lot size, FHA flags, bid dates, eligibility, agent contacts, photos, addendums and map coordinates. Export as JSON, CSV or Excel, or read it through the Apify API.

### Scrape HUD Home Store Listings Across All 50 States

`searchTerms` accepts four formats:

- a state code — `GA`
- a city and state — `Atlanta, GA`
- a ZIP, city and state — `30301, Atlanta, GA`
- a 10-character HUD case number — `106-516353`

`searchUrls` accepts pasted HUD search URLs, including export and saved-search links, plus direct property URLs. When both fields are empty and `nationwide` is true, the Actor sweeps all 50 states plus DC, PR, VI and GU; a nationwide sweep currently returns roughly 950 listings in 54 passes.

`maxListings` defaults to 300 and caps at 5,000. When the cap is reached during a nationwide run, the Actor keeps the most recently listed homes instead of biasing toward the first alphabetical states.

### Extract FHA Flags, Bid Deadlines And Agent Contacts

Detail enrichment (`includeDetails`, on by default) adds the fields that make a listing actionable:

- **Property facts** — lot size and unit, total rooms, stories, year built, HOA fee, flood zone and opportunity zone where published
- **FHA financing** — `fhaFinancing` label, `fhaInsured`, `uninsured`, `eligible203k` and `specialProgram100Down`
- **Bid workflow** — `listingPeriod`, `listDate`, `bidOpenDate`, `bidDeadline`, `eligibleBidders` and `bidderTypes`
- **Contacts** — `assetManager`, `listingBroker` and `fieldServiceManager` objects plus a flat `agents` array, each with role, name, company, email, phone, website, address and comments
- **Documents** — `propertyConditionReportUrl` and every addendum under `addendums`

Obfuscated email addresses are decoded back to plain addresses.

### Input

| Field | Type | Required | Default | Notes |
| --- | --- | --- | --- | --- |
| `searchTerms` | array of strings | No | `[]` | `GA`, `Atlanta, GA`, `30301, Atlanta, GA` or `106-516353`. Empty = nationwide. |
| `searchUrls` | array of strings | No | `[]` | HUD search URLs (including saved searches) or direct property URLs. |
| `nationwide` | boolean | No | `true` | When both search fields are empty, sweep all states plus DC/PR/VI/GU. Disable for a small default Georgia query. |
| `maxListings` | integer | No | `300` | Maximum unique HUD homes saved per run. 1–5,000. |
| `includeDetails` | boolean | No | `true` | Fetch detail pages for lot size, HOA, contacts, photos and addendums. |
| `concurrency` | integer | No | `20` | Parallel detail collection. 1–50. |
| `proxy` | object | No | — | Standard Apify proxy configuration. Off by default. |

### Output

One row per HUD home.

| Field | Description |
| --- | --- |
| `caseNumber`, `propertyUrl` | HUD case number and canonical detail URL. |
| `address`, `city`, `state`, `zip`, `county` | Full property location. |
| `price` | HUD list price in USD. |
| `propertyType`, `listingStatus` | Property type and HUD badge (`New Listing`, `Price Reduced`), or `null` when no badge exists. |
| `bedrooms`, `bathrooms`, `squareFeet`, `yearBuilt` | Property facts; bathrooms use HUD's decimal value. |
| `lotSize`, `lotSizeUnit`, `totalRooms`, `stories` | Lot and structure details. |
| `listingPeriod`, `listDate`, `bidOpenDate`, `bidDeadline` | Listing period and bid workflow dates. |
| `fhaFinancing`, `fhaInsured`, `uninsured`, `eligible203k`, `specialProgram100Down` | FHA insurability and program flags. |
| `eligibleBidders`, `bidderTypes` | Who may bid on the listing. |
| `latitude`, `longitude`, `mapUrl` | Coordinates and a Google Maps link. |
| `photos` | Photo gallery URLs. |
| `propertyConditionReportUrl`, `addendums` | Property Condition Report and other addendum links. |
| `assetManager`, `listingBroker`, `fieldServiceManager` | Role-specific contact objects. |
| `agents` | Flat array of all agent contacts. |
| `hoaFee`, `floodZone`, `opportunityZone` | Detail-page fields when HUD publishes them. |
| `scrapedAt` | Extraction timestamp. |

### Example Input

```json
{
  "searchTerms": ["GA", "Atlanta, GA"],
  "maxListings": 100,
  "includeDetails": true,
  "concurrency": 20,
  "proxy": { "useApifyProxy": false }
}
```

### Example Output

```json
{
  "caseNumber": "106-527807",
  "propertyUrl": "https://www.hudhomestore.gov/propertydetails?caseNumber=106-527807",
  "address": "132 Maloy Lane SE",
  "city": "Calhoun",
  "state": "GA",
  "zip": "30701",
  "county": "Gordon",
  "price": 448000,
  "propertyType": "Single Family Home",
  "bedrooms": 3,
  "bathrooms": 2,
  "squareFeet": 1712,
  "yearBuilt": 2003,
  "lotSize": 1.1,
  "lotSizeUnit": "acres",
  "listingPeriod": "Extended",
  "listDate": "2026-09-14",
  "bidOpenDate": "2026-10-26",
  "bidDeadline": "2027-03-12",
  "fhaFinancing": "IE (Insured Escrow)",
  "fhaInsured": true,
  "uninsured": false,
  "eligible203k": true,
  "specialProgram100Down": true,
  "eligibleBidders": "All Bidders",
  "bidderTypes": ["Investor", "Owner Occupant", "Nonprofit", "Government Agency"],
  "latitude": 34.4741,
  "longitude": -84.8956,
  "listingBroker": {
    "role": "Listing Broker",
    "name": "Lisa Vinson Burgee",
    "company": "COMPASS360 REALTY INC.",
    "email": "lisaburgee@bellsouth.net",
    "phone": "(706) 279-1422"
  },
  "photos": ["https://res.cloudinary.com/yardi/image/upload/q_auto,f_auto/hhs/Front_74118884.png"],
  "scrapedAt": "2026-10-24T12:00:00.000Z"
}
```

### Schedule HUD Monitoring And Export Deal Flow

- **Daily new-listing alerts** — run a state or metro daily and diff `caseNumber` against the previous run.
- **Price-reduction tracking** — watch `listingStatus` and `price` changes for a target market.
- **Bid-deadline reminders** — schedule a weekly run and filter `bidDeadline` inside the next 14 days.
- **Integrations** — push rows to Google Sheets, Airtable, a CRM or an underwriting model through the Apify API, webhooks, Zapier or Make.

### Related Actors

- [HUD Foreclosure Listings Scraper](https://apify.com/martc03/hud-foreclosures) — state, ZIP and filter-based HUD search.
- [HUD Home Store Foreclosure Listings Scraper](https://apify.com/automation-lab/hud-home-store-foreclosure-listings-scraper) — HUD listings with filters and exports.
- [Zillow Foreclosure Scraper: REO, Auctions & Pre-Foreclosure](https://apify.com/memo23/zillow-foreclosure-scraper) — broader distressed inventory from Zillow.
- [Foreclosure Leads - Pre-Foreclosure, REO, Bank-Owned Homes](https://apify.com/seibs.co/foreclosure-property-leads) — Zillow foreclosure leads with deal metrics.
- [Distressed Property Scraper — Tax Delinquent & Pre-Foreclosure](https://apify.com/dominvo/distressed-property-ai-scraper) — county-level distress signals and owner data.

### FAQ

#### Why use this Actor instead of HUD's public data?

HUD's open-data REO feed carries case numbers, addresses and acquisition dates, but it does not include the live list price, beds/baths, FHA flags, bid deadline or broker contacts. This Actor collects the public listing and detail data that a buyer sees on HUD Home Store, so each row matches the site.

#### What are the alternatives to this Actor?

`martc03/hud-foreclosures` and `automation-lab/hud-home-store-foreclosure-listings-scraper` both target HUD Home Store. Zillow foreclosure Actors and county-level distressed-property Actors cover wider inventory but not HUD's own FHA flags, bid windows or asset manager contacts. This Actor is the one that returns the full HUD detail record including all three agent roles.

#### Does HUD allow automated crawling?

HUD's `robots.txt` disallows crawling. This Actor is provided for research and is not a statement of permission. Review HUD's Terms of Use, `robots.txt` and your own legal obligations before running it at scale or republishing the data.

#### Why is `listingStatus` null on some rows?

`listingStatus` is the HUD badge when one exists (`New Listing`, `Price Reduced`). Plain active listings have no badge and come back as `null`; that does not mean the listing is inactive.

#### Why is there no property-condition text?

HUD does not publish property condition as a text field. The site provides a Property Condition Report PDF, which the Actor exposes as `propertyConditionReportUrl` and under `addendums`.

#### Can I search by case number?

Yes. Put a 10-character case number such as `106-516353` in `searchTerms`, or paste a `/propertydetails?caseNumber=...` URL into `searchUrls`.

#### How much does a run cost?

Each saved listing is $0.0025 and each enriched detail page is $0.002, plus a $0.00005 start event. A 300-listing search-only run is about $0.75; 300 enriched listings are about $1.35. Free users receive the first 10 listings.

### For AI Agents & LLM Apps

Returns HUD Home Store REO listings with prices, property facts, FHA flags, bid dates and agent contacts as one row per home.

Minimal input:

```json
{ "searchTerms": ["GA"], "maxListings": 25 }
```

Nationwide, search-only (cheapest):

```json
{ "nationwide": true, "maxListings": 100, "includeDetails": false }
```

Single case lookup:

```json
{ "searchTerms": ["106-516353"] }
```

Output fields: `caseNumber`, `propertyUrl`, `address`, `city`, `state`, `zip`, `county`, `price`, `propertyType`, `listingStatus`, `bedrooms`, `bathrooms`, `squareFeet`, `yearBuilt`, `lotSize`, `lotSizeUnit`, `totalRooms`, `stories`, `listingPeriod`, `listDate`, `bidOpenDate`, `bidDeadline`, `fhaFinancing`, `fhaInsured`, `uninsured`, `eligible203k`, `specialProgram100Down`, `eligibleBidders`, `bidderTypes`, `latitude`, `longitude`, `mapUrl`, `photos`, `propertyConditionReportUrl`, `addendums`, `assetManager`, `listingBroker`, `fieldServiceManager`, `agents`, `scrapedAt`.

Behaviors an agent should know:

- With both search fields empty, `nationwide: true` sweeps all states; `nationwide: false` runs a small default Georgia query instead.
- `includeDetails: false` skips detail pages, so contacts, photos, lot size, HOA and addendums are absent but the run is much cheaper.
- `maxListings` caps unique homes, not detail work; nationwide runs keep the most recently listed homes when the cap is hit.
- `listingStatus` is `null` for active listings without a HUD badge.
- `bathrooms` is a decimal HUD value (e.g. `2.5`).
- Billing: $0.0025 per saved listing plus $0.002 per enriched detail page and a $0.00005 start event; free users receive 10 listings.

### Legal & Compliance Disclaimer

This Actor is independent and is not affiliated with, endorsed by, or sponsored by the US Department of Housing and Urban Development or HUD Home Store. It collects only publicly visible HUD Home Store listing data; it does not log in, submit a bid, bypass a CAPTCHA or change any listing. HUD's `robots.txt` disallows crawling, so review HUD's Terms of Use and your own obligations before running this Actor at scale. Output includes the names, business emails, phones and addresses of asset managers, listing brokers and field service managers; treat that contact data as business contact information and do not use it for unsolicited outreach that violates applicable law (for example CAN-SPAM, the TCPA or state anti-spam statutes). Verify every listing, price and deadline with HUD or a licensed HUD broker before bidding.

### SEO Keywords

hud home store scraper, hud reo listings, hud foreclosure listings, hud homes for sale, hudhomestore api, hud reo data, fha foreclosure homes, hud 203k homes, hud 100 down program, reo property data, foreclosure listing data, hud case number search, asset manager contacts, listing broker contacts, hud bid deadline, government owned homes, hud home store dataset, reo investor leads, hud foreclosure scraper

# Actor input Schema

## `searchTerms` (type: `array`):

Locations or case numbers to search. Accepts a US state code ("GA"), "City, ST" ("Atlanta, GA"), "ZIP, City, ST" ("30301, Atlanta, GA"), or a 10-character HUD case number ("106-516353"). Leave empty to scan every US state.

## `searchUrls` (type: `array`):

Paste HUD Home Store search URLs, e.g. "https://www.hudhomestore.gov/searchresult?citystate=GA". City/state and any filters embedded in the URL (the `filters` JSON used by Export to Excel / saved searches) are applied. Property detail URLs (caseNumber=...) are also accepted.

## `nationwide` (type: `boolean`):

If enabled and both Search terms and Direct search URLs are empty, the Actor queries every US state (plus DC, PR, VI, GU) until Max listings is reached. Disable to run a single small default query (GA).

## `maxListings` (type: `integer`):

Maximum number of HUD homes to save to the dataset. The Actor stops searching as soon as this many unique listings are collected.

## `includeDetails` (type: `boolean`):

Fetch each property detail page to add lot size, HOA fees, asset manager / listing broker / field service manager contacts (name, company, email, phone, website, address), full photo gallery and addendum links. Every saved listing is charged one `apify-default-dataset-item` event; each successfully crawled detail page adds one `property-detail` event. Disable for a cheaper search-API-only run.

## `concurrency` (type: `integer`):

How many property detail pages are fetched in parallel. Higher values finish faster; lower values are gentler on the HUD site. 20 is a good balance.

## `proxy` (type: `object`):

Select proxies to be used by your crawler.

## Actor input object example

```json
{
  "searchTerms": [],
  "searchUrls": [],
  "nationwide": true,
  "maxListings": 300,
  "includeDetails": true,
  "concurrency": 20,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/hudhomestore-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "proxy": { "useApifyProxy": False } }

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/hudhomestore-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ahmed_jasarevic/hudhomestore-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/hudhomestore-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/N08ZEZm6o3KjIaPgN/builds/IeRIu546saTlvoWfD/openapi.json
