# Auction.com Scraper — Foreclosure, REO & Trustee Sales (`haketa/auction-com-scraper`) Actor

Scrape Auction.com foreclosure, trustee & bank-owned (REO) real-estate auctions. Search by state, city, county or ZIP and export address, beds/baths/sqft, auction date, starting bid, reserve status, estimated value & sold comps as JSON, CSV or Excel.

- **URL**: https://apify.com/haketa/auction-com-scraper.md
- **Developed by:** [Haketa](https://apify.com/haketa) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.75 / 1,000 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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Auction.com Scraper — Foreclosure, REO & Trustee Sale Data

Turn **Auction.com** — the largest US online marketplace for distressed residential real estate — into clean, structured data. Search **foreclosure auctions, bank‑owned (REO) homes and trustee sales** by state, city, county or ZIP code and get every property back with its **address, beds/baths/square footage, auction date, starting bid, reserve status, occupancy and estimated value** — plus, with details on, an **estimated value range (AVM), a rental estimate and nearby sold comparables**.

Built for **real‑estate investors, house flippers, wholesalers, iBuyers, agents, lenders, appraisers, proptech teams and market analysts** who need auction and foreclosure inventory as a spreadsheet or an API feed — not one listing at a time.

***

### ✨ Why use this scraper

- **The whole auction map, structured** — search any US **state, city, county or ZIP**, or run **nationwide** in one go.
- **Complete property records** — address, coordinates, property type, bedrooms, bathrooms, square footage, lot size, year built and estimated value.
- **Full auction detail** — asset type (foreclosure / bank‑owned / trustee), product type, auction start and end dates, **starting bid**, current bid, bid count, bid increment, reserve status and online/live venue.
- **Occupancy & access flags** — occupied vs vacant, financing available, buyer‑premium and interior‑access flags.
- **Valuation & comps (optional)** — add an **AVM value range**, a **rental estimate** and **nearby sold comparables** (price, date, beds, baths, size, distance) for each property.
- **Powerful filters** — asset type, property type, occupancy, minimum bid, maximum bid, minimum beds and baths.
- **Fast and reliable** — pulls hundreds of listings per request; typical runs finish in seconds.
- **Export anywhere** — JSON, CSV, Excel, HTML, or straight to the Apify API, webhooks and integrations.

***

### 🚀 Quick start

1. Add one or more **States** (e.g. `CA`, `TX`, `FL`) — or use **Cities**, **Counties**, **ZIP codes**, **Start URLs**, or toggle **Nationwide**.
2. (Optional) Set filters: **asset type**, **property type**, **min/max starting bid**, **min beds/baths**.
3. Set **Maximum listings** and click **Start**.

Each property comes back as one clean record. Turn on **Include valuation & sold comps** for AVM, rental estimate and comparables.

#### Example — foreclosures in California

```json
{
  "states": ["CA"],
  "assetTypes": ["FORECLOSURE"],
  "maxItems": 500
}
```

#### Example — bank‑owned homes under $300k in two metros, with comps

```json
{
  "cities": ["Houston, TX", "Phoenix, AZ"],
  "assetTypes": ["BANK_OWNED"],
  "priceMax": 300000,
  "bedsMin": 3,
  "includeDetails": true,
  "maxItems": 1000
}
```

#### Example — nationwide, cheapest first

```json
{
  "nationwide": true,
  "sort": "price_low_to_high",
  "maxItems": 2000
}
```

***

### 📥 Input reference

| Field | Type | Description |
|---|---|---|
| **States** (`states`) | array | US state codes; each is a separate search (e.g. `CA`, `TX`). |
| **Cities** (`cities`) | array | `"City, ST"` (e.g. `"Los Angeles, CA"`). |
| **Counties** (`counties`) | array | `"County, ST"` (e.g. `"Cook, IL"`). |
| **ZIP codes** (`zipCodes`) | array | 5‑digit ZIP codes. |
| **Nationwide** (`nationwide`) | boolean | Scrape active listings across the whole US. |
| **Start URLs** (`startUrls`) | array | Paste Auction.com search or property detail URLs. |
| **Asset type** (`assetTypes`) | array | Keep only `BANK_OWNED`, `FORECLOSURE` and/or `PRIVATE_SELLER`. |
| **Property type** (`propertyTypes`) | array | Keep only chosen property types (single family, condo, land …). |
| **Occupancy** (`occupancyStatus`) | array | Keep only `OCCUPIED` and/or `VACANT`. |
| **Minimum starting bid** (`priceMin`) | integer | Lowest starting bid (USD). |
| **Maximum starting bid** (`priceMax`) | integer | Highest starting bid (USD). |
| **Minimum bedrooms** (`bedsMin`) | integer | Minimum bedrooms. |
| **Minimum bathrooms** (`bathsMin`) | integer | Minimum bathrooms. |
| **Sort order** (`sort`) | string | Auction date, newest, ending soon, bid low→high / high→low, recommended. |
| **Include valuation & sold comps** (`includeDetails`) | boolean | Add AVM range, rental estimate and sold comparables. |
| **Maximum listings** (`maxItems`) | integer | Stop after this many listings. |
| **Page size** (`pageSize`) | integer | Listings per request (20–500). |
| **Concurrency** (`maxConcurrency`) | integer | Parallel enrichment when details are on. |
| **Proxy configuration** (`proxyConfiguration`) | object | Apify Proxy (datacenter‑first, US residential fallback). |

***

### 📤 Output

Each property is one dataset item. Example (with **Include valuation & sold comps** on):

```json
{
  "listingId": "2152163",
  "url": "https://www.auction.com/details/7483-last-dollar-trl-julian-ca-2152163",
  "status": "AUCTION_IN_PROGRESS",
  "statusLabel": "Sep 01 - Sep 3, 2026",
  "address": "7483 Last Dollar Trl, Julian, CA 92036, San Diego County",
  "street": "7483 LAST DOLLAR TRL",
  "city": "Julian",
  "state": "CA",
  "county": "San Diego",
  "zip": "92036",
  "latitude": 33.0693874,
  "longitude": -116.4330111,
  "propertyType": "SINGLE_FAMILY_HOME",
  "bedrooms": 3,
  "bathrooms": 2,
  "squareFootage": 1680,
  "lotSize": 1,
  "yearBuilt": 1979,
  "estimatedValue": 387628,
  "assetType": "BANK_OWNED",
  "productType": "DAY_1_REO",
  "occupancyStatus": "OCCUPIED",
  "venueType": "ONLINE",
  "isTrusteeSale": false,
  "auctionStartDate": "2026-09-01T12:00:00Z",
  "auctionEndDate": "2026-09-03T14:04:40Z",
  "startingBid": 125000,
  "currentHighestBid": null,
  "bidCount": 0,
  "bidIncrement": 25000,
  "reserveStatus": "RESERVE_NOT_MET",
  "primaryPhoto": "https://.../1366976_ext_1.v1.jpeg",
  "avmValuation": { "low": 358515, "high": 416741, "estimated": 387628 },
  "rentalEstimate": { "low": 1206, "high": 4826, "estimated": 3016 },
  "comparables": [
    {
      "soldPrice": 287000,
      "soldDate": "2025-06-06T00:00:00.000Z",
      "bedrooms": 1,
      "bathrooms": 1,
      "livingArea": 624,
      "distance": 0.32,
      "source": "MLS",
      "type": "sold"
    }
  ],
  "scrapedAt": "2026-09-01T20:00:45.232Z"
}
```

#### Field reference

| Field | Description |
|---|---|
| `listingId` | Auction.com listing ID. |
| `url` | Property detail page URL. |
| `status`, `statusLabel`, `statusGroup` | Auction status (e.g. in progress) and its label. |
| `isHot` | Marked as a hot/popular listing. |
| `address`, `street`, `city`, `state`, `county`, `zip` | Full and split address. |
| `latitude`, `longitude` | Property coordinates. |
| `propertyType`, `propertyGroup` | Structure type (single family, condo, townhouse, land …). |
| `bedrooms`, `bathrooms`, `squareFootage`, `lotSize`, `yearBuilt` | Property characteristics. |
| `estimatedValue` | Auction.com estimated value. |
| `assetType` | `BANK_OWNED`, `FORECLOSURE` or `PRIVATE_SELLER`. |
| `productType` | e.g. `REO`, `DAY_1_REO`, `TRUSTEE`, `PRIVATE_SELLER`. |
| `occupancyStatus` | `OCCUPIED` or `VACANT`. |
| `venueType`, `isOnline` | Online vs live auction. |
| `isTrusteeSale`, `eventCode` | Trustee‑sale flag and auction event code. |
| `auctionStartDate`, `auctionEndDate` | Auction window. |
| `startingBid`, `currentHighestBid`, `bidCount`, `bidIncrement` | Bidding state. |
| `reserveStatus`, `isReservePriceAvailable` | Reserve information. |
| `financingAvailable`, `buyerPremiumAvailable`, `interiorAccessAllowed` | Sale flags. |
| `primaryPhoto` | Main property photo URL. |
| `avmValuation` | Estimated value range — low / high / estimated *(details on)*. |
| `rentalEstimate` | Estimated monthly rent range *(details on)*. |
| `comparables` | Nearby sold/rental comps: price, date, beds, baths, size, distance, source *(details on)*. |
| `scrapedAt` | Timestamp of collection. |

***

### 💡 Use cases

- **Investors & flippers** — build a live pipeline of foreclosure and REO deals with estimated value and comps so you can spot spreads fast.
- **Wholesalers** — filter by ZIP, occupancy and starting bid to source assignable contracts.
- **Buy‑and‑hold / rental investors** — combine the **rental estimate** with the starting bid to screen for cash‑flow properties.
- **Agents & brokers** — track distressed inventory and auction dates in your farm area.
- **Lenders, appraisers & AMCs** — pull comparable sales and valuation ranges at scale.
- **Proptech & data teams** — feed a foreclosure/auction dataset into your models, dashboards or lead systems.
- **Market analysts** — measure distressed supply, starting‑bid trends and clearance by metro.

***

### 🎯 Tips for best results

- **Start broad, then filter** — pull a state, then narrow with `assetTypes`, `priceMax` or `bedsMin` after export.
- **Use `includeDetails` selectively** — the base record already has price, beds/baths and estimated value; turn on comps when you need valuation depth.
- **Watch `reserveStatus` and `bidCount`** — they tell you how live an auction is right now.
- **Batch metros with `cities`** — `"Dallas, TX"`, `"Fort Worth, TX"` in one run.
- **Go `nationwide` with a `maxItems` cap** to sample the whole market without pulling everything.

***

### 🔌 Run it your way

- **Apify Console** — fill in locations and filters, then Start.
- **API** — launch runs and pull the dataset programmatically.
- **Scheduler** — refresh your auction feed hourly or daily.
- **Integrations** — push to Google Sheets, Zapier, Make, webhooks, S3, and more.

***

### ❓ FAQ

**What kinds of listings are covered?**
Active residential auctions on Auction.com: **foreclosure/trustee sales, bank‑owned (REO) homes and select private‑seller listings**.

**Can I get sold prices?**
Auction.com sells active auctions, so the actor returns active inventory. With **Include valuation & sold comps** on, each property carries **nearby sold comparables** (price and date) you can use for valuation.

**Do I need an account or API key?**
No. Just choose locations and filters.

**How do I search a specific area?**
Use **States**, **Cities** (`"City, ST"`), **Counties** (`"County, ST"`) or **ZIP codes** — or paste an Auction.com search URL into **Start URLs**.

**What are AVM and rental estimates?**
An automated value range (low/high/estimated) and an estimated monthly rent range, returned when details are enabled.

**In what format is the data?**
Structured JSON by default, exportable to CSV, Excel, HTML and more.

**Can I run it on a schedule?**
Yes — use the Apify Scheduler or start runs via the API and integrations.

***

### ⚖️ Legal & responsible use

This tool collects **publicly available** real‑estate auction information for legitimate business use such as investment research, market analysis and lead generation. You are responsible for how you use the data and for complying with all applicable laws and regulations, the website's terms, and data‑protection rules. Do not use the output to infringe intellectual‑property rights or for any unlawful purpose. This scraper is not affiliated with, endorsed by, or connected to Auction.com; all trademarks belong to their respective owners.

***

#### Tags

`auction.com` · `auction scraper` · `foreclosure scraper` · `foreclosure listings` · `reo` · `bank owned homes` · `trustee sale` · `real estate auction` · `distressed property` · `real estate data` · `real estate investing` · `property data` · `us real estate` · `housing data` · `lead generation`

# Actor input Schema

## `states` (type: `array`):

US state codes to scrape (each is a separate search), e.g. CA, TX, FL. Leave empty if you use cities, counties, ZIP codes, start URLs or Nationwide.

## `cities` (type: `array`):

Cities as "City, ST" (state code recommended), e.g. "Los Angeles, CA", "Houston, TX".

## `counties` (type: `array`):

Counties as "County, ST", e.g. "Los Angeles, CA", "Cook, IL".

## `zipCodes` (type: `array`):

5-digit ZIP codes to scrape, e.g. 90001, 33101.

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

Scrape active listings across the whole United States (large — combine with Maximum listings).

## `startUrls` (type: `array`):

Paste Auction.com search URLs (e.g. .../residential/CA\_state/) or property detail URLs (.../details/...). Detail URLs are resolved individually.

## `assetTypes` (type: `array`):

Keep only these asset types (leave empty for all).

## `propertyTypes` (type: `array`):

Keep only these property types (leave empty for all).

## `occupancyStatus` (type: `array`):

Keep only these occupancy statuses (leave empty for all).

## `priceMin` (type: `integer`):

Only listings with a starting bid at or above this amount (USD).

## `priceMax` (type: `integer`):

Only listings with a starting bid at or below this amount (USD).

## `bedsMin` (type: `integer`):

Only listings with at least this many bedrooms.

## `bathsMin` (type: `integer`):

Only listings with at least this many bathrooms.

## `sort` (type: `string`):

How to sort results.

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

For each property, add an estimated value range (AVM), a rental estimate and nearby sold comparables. Slower and costs more.

## `maxItems` (type: `integer`):

Stop after collecting this many listings across all searches.

## `pageSize` (type: `integer`):

Listings fetched per request (20–500). Larger is faster.

## `maxConcurrency` (type: `integer`):

How many properties to enrich in parallel when valuation & comps are on.

## `proxyConfiguration` (type: `object`):

Apify Proxy is recommended. The actor uses datacenter first and falls back to US residential automatically.

## Actor input object example

```json
{
  "states": [
    "CA",
    "TX",
    "FL"
  ],
  "cities": [
    "Los Angeles, CA",
    "Houston, TX"
  ],
  "counties": [
    "Los Angeles, CA"
  ],
  "zipCodes": [
    "90001",
    "33101"
  ],
  "nationwide": false,
  "sort": "auction_date_order",
  "includeDetails": false,
  "maxItems": 200,
  "pageSize": 200,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "states": [
        "CA"
    ],
    "maxItems": 200,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/auction-com-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 = {
    "states": ["CA"],
    "maxItems": 200,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/auction-com-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 '{
  "states": [
    "CA"
  ],
  "maxItems": 200,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call haketa/auction-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,haketa/auction-com-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/unRSEK8xwLsEP6pmx/builds/b1JFd1PN8CoSsDVPX/openapi.json
